![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Вопрос всё снова и снова всплывает у меня. Так как же лучше создавать языковые файлы?
Понятно, что для мультиязычного сайта в коде используются или константы или переменные. Вопрос можно разделить на несколько частей 1. Безопасность 2. Читаемость кода 3. Затраченные ресурсы 4. Универсальность Допустим языковой файл представляет из себя простой PHP-файл с набором
Особых проблем с ним нет. Во-первых, получить прямой доступ к файлу не получится (достаточно вставить на это проверку). Во-вторых, для использования достаточно просто подключить файл. В-третьих, константы доступны в любой части кода Но возникает вопрос, на сколько целесообразно иметь в памяти столько констант? Для большого портала их количество очень и очень большое... Второй пример, это INI. Из плюсов это нет избыточного кода ка в первом случае: только само значение и что оно значит. Простое подключение, возможность делить на разделы. Из минусов наверное сами файлы не так защищены как PHP, сложность при подключении, т.е. нужна дополнительная обработка и для подключения и для вставки в код.. Очень хочется услышать какова сегодняшняя практика, больше плюсов и минусов того или иного способа и конечно "потребляемая мощность" способов.. Кто каким путём идёт? Может есть у кого более интересные способы? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
имхо, в принципе, язык - тот же шаблон. я просто делаю несколько шаблонов с разным текстом, но одинаковой структурой. что хорошо, если текста много, и плохо, если текста мало.
сделать автоматический подгружатель шаблона выбранного языка или дефолтного - не проблема |
|||
|
||||
| Vardoulacha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 11.8.2005 Репутация: 7 Всего: 8 |
по поводу защиты, ставим .htaccess в папку с файлами ini и пишем туда
после этого файлы можно подключать скриптами, а из браузера их не получить |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
bars80080, шаблон не выход. В CMS их может быть десятки.
Vardoulacha, спасибо -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Vardoulacha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 11.8.2005 Репутация: 7 Всего: 8 |
у IIS есть вот такое http://snippets.crisp-studio.com/view/53/z...aniem-webconfig или может напишете какой сервер то у вас? Это сообщение отредактировал(а) Vardoulacha - 20.6.2012, 07:17 |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
ну это понятно.. вопрос всё же больше касается нагрузки на ресурсы сервера и "удобство использования"
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Или я чего-то не понял, или использование констант для локализации - как-то старый век что ли. Я использую gettext
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
наверное ты прав, может даже не наверное, а прав.. А пример маленький покажи. Я примерно понимаю про что ты, но вдруг иное
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Gettext на wikipedia
Gettext на php.net &target_type=posts]Gettext на habrahabr Смысл в том, что ты генерируешь файлики *.mo/*.po с переводом (аналог - php массив вида 'key' => 'перевод') и используешь в коде его так:
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
вот спасибо за ссылки.. В принципе я про такое и думал, но только использовать файлы INI.. Сейчас посмотрю что за библиотека и стоит ли её использовать или воспользоваться собственными разработками
Добавлено через 1 минуту и 46 секунд Хотя начинаю читать и что-то малость не понятно.. -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Gold Dragon как подключить языковые файлы сам догадаешься)
-------------------- Amazing |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Aliance, всё таки нужно дополнительно готовить код. Что-то слишком сложный вариант для простого сметрного
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
MoLeX, ты загружаешь опять избыточный код. Если использовать INI то он короче получается
а вот по реализации склоняюсь к чему-то подобному. т.е. есть к примеру класс
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
хе смысл не меняется класс не стал бы делать, зачем для такой ничтожной операции класс? ресурсы лишними не бывают -------------------- Amazing |
|||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: 6 Всего: 15 |
Gold Dragon, языковые файлы кто будет создавать/редактировать?
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |