ExBB Community » » Обсуждение » Объединение файлов локализации в один

Страниц (1): [1]
 

1. Victor - 5 октября 2010 — 15:48 - перейти к сообщению
Возник вопрос при работе с файлами и шаблонами поиска той или иной языковой переменной в нескольких файлах. Возможно было бы удобнее объединить указанные переменные в одном файле. Что это даст удобство подключения, поиска и редактирования сразу всех переменных языкового пакета. Увеличится ли нагрузка? думаю не очень.

Попробовал на одном примере объединить файлы lang_front_register.php и lang_front_all.php
для этого содержимое файла lang_front_register.php
CODE:
от строк
/*
agreement.tpl
*/
$this->LANG['AgrTerms'] = 'Условия использования конференции';

до строк в конце
?>

копируем в конце файла lang_front_all.php
CODE:
перед строкой ?>

Затем находим файлы гле используется данный языковой файл например:
register.php и profile.php
CODE:
и заменяем следующие строки
$fm->_LoadLang('register');
на
$fm->_LoadLang('all');

файл lang_front_register.php можно будет удалить (для страховки на первое время сделать резервную копию файлов языкового пакета и исполнительных файлов форума)

аналогично можно поступить с остальными языковыми файлами.
2. yura3d - 5 октября 2010 — 18:41 - перейти к сообщению
Victor пишет:
Что это даст удобство подключения, поиска и редактирования сразу всех переменных языкового пакета.

Не вижу здесь удобства редактирования. Во-первых, папка language - это ещё не все языковые файлы. Каждый модуль, например, имеет свои файлы локализации (папка modules/имя_модуля/language), и в случае с установкой модуля гораздо проще скопировать новые языковые файлы модуля вместе с остальными его скриптами одной папкой, чем редактировать один большой файл. Этот вариант лучше и с технической точки зрения (не буду описывать, погуглите на тему исключительной блокировки файлов при записи)

Для решения вопроса с поиском языковых переменных воспользуйтесь любым нормальным текстовым редактором. Мне, например, очень нравится редактор кода Notepad++. Там есть удобная опция поиска текста по файлам, достаточно только выбрать папку и вперёд

Victor пишет:
Увеличится ли нагрузка? думаю не очень.

Одно дело, что Вы думаете, и совсем другое дело - как работает интерпретатор PHP на самом деле. Например, объём подключаемых языковых переменных к скрипту, отвечающему за вывод главной страницы форума (index.php), увеличится почти в 6 (!!!) раз. И бОльшая часть этих переменных будет впустую, без использования скриптом, занимать место в оперативной памяти сервера. А теперь представьте, что у Вас на сервере выполняется одновременно несколько процессов форума: допустим, к главной странице форума одновременно обратились 3 пользователя. В этом случае объём оперативной памяти, занятый неиспользуемыми языковыми переменными, вырастет более чем в 18 раз (в PHP4). Более того, определённая нагрузка будет создаваться на сервер при обслуживании этого объёма данных в ОЗУ. А это уже непозволительная роскошь, так неэффективно расходовать память (особенно актуально для посещаемых форумов), не правда ли? Конечно, если Вы тестируете предложенное Вами объединение языковых файлов на локалке, или на сервере со 100 - 200 посещениями в день, навряд ли Вы эту нагрузку в явном виде заметите
3. Victor - 5 октября 2010 — 19:48 - перейти к сообщению
yura3d спасибо за разъяснения.

yura3d пишет:
Не вижу здесь удобства редактирования. Во-первых, папка language - это ещё не все языковые файлы. Каждый модуль, например, имеет свои файлы локализации (папка modules/имя_модуля/language)

знаю что на некоторых проектах все находится в одном каталоге, хотя возможна и разбивка на части.
Вот на сегодняшний день сказать что скрипт лишен орфографических ошибок и что очень просто поменять тексты не смогу. А если взят простого юзера то он с этим не один день будет мучится. Конечно можно сказать что проект не коммерческий, но это не освобождает от решения и этих вопросов.

Расчет нагрузки я не знал, жаль если все так плохо.
4. yura3d - 5 октября 2010 — 20:04 - перейти к сообщению
Victor пишет:
Вот на сегодняшний день сказать что скрипт лишен орфографических ошибок и что очень просто поменять тексты не смогу.

У нас есть тема Ошибки русской локализации ExBB FM 1.0 RC1, в которую вынесено большинство ошибок локализации с указанием языковых файлов, где они были обнаружены. Пожалуйста - заменяйте, исправляйте. Не пойму, в чём проблема? Другое дело, что не все языковые переменные вынесены в языковые файлы. Если Вы таковые нашли, сообщите об этом в теме Языковые строки в скриптах

Victor пишет:
А если взят простого юзера то он с этим не один день будет мучится.

Все ошибки в языковых файлах как раз и находят наши простые пользователи. Команда разработчиков в этом направлении поработала слабо (нет у нас редактора локализации), но к следующей версии постараемся исправить все найденные ошибки

Victor пишет:
знаю что на некоторых проектах все находится в одном каталоге, хотя возможна и разбивка на части.

Тут однозначно нельзя сказать, какой вариант лучше выбрать. Это зависит от множества факторов, зачастую сложно совместимых
5. igrok54 - 5 октября 2010 — 20:26 - перейти к сообщению
Надо учитывать еще то обстоятельство, что при объединении в один файл в процессе генерации страницы этот большой файл будет считываться каждый раз в память. Соответственно потребление памяти на генерацию страницы возрастает. Разбивка на несколько файлов позволяет уменьшить массив, берущийся в память для генерации конкретной страницы. Например, для админки должно быть отдельно, для фронтэнда - отдельно (как оно и есть на данный момент + разделение файлов для разных страниц - форум, топик, и т.д.).

Отдельные языковые файлы для модулей - вполне оправдано, при отключении модуля в память не будут считываться лишние строки.

Так что мое мнение - разделение файлов так, как оно есть на данный момент, вполне оправдано и разумно и не требует изменения.

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0169]     [ ]