Интернационализация
Пожалуйста, экспериментируйте в песочнице!
PmWiki поддерживает интернационализацию веб страниц допуская присутствие акцентных символов в именах страниц и почти полную настройку диалогов PmWiki. Основная перестройки обеспечивается посредством функции XLPage() в PmWiki загружающей набор переводов переменных со страницы вики (обычно назавающихся XLPage, но не обязательно).
Загрузка страниц переводов
Страницы для многих языков, таких как Французский, Немецкий, Датский, Испанский и Русский уже сделаны и есть на сайте pmichaud.com. Вы можете загрузить архив с этими переводами отсюда: http://www.pmwiki.org/pub/pmwiki/i18n/. Просто загрузите подходящие архивы и распакуйте их в папку, содержащую установленую pmwiki.php. Архив содержит ряд файлов страниц размещающихся в папке wikilib.d/ и некоторые сценарии для переводов пользующихся кодировками символов отличных от iso-8859-1, которая является кодировкой по умолчанию для PmWiki.
После того как страницы переводов установлены язык включается добавлением в файл config.php вызова XLPage(). Например, для включения Русско-язычных диалогов надо указать
XLPage('ru','PmWikiRu.XLPage');
указывающий загрузить переводы для Русского языка ('ru') со страницы PmWikiRu.XLPage. Эта функция превосходно подходит для загрузки нескольких страниц — так что, если вы захотите создать свой собственный перевод не затрагивая полученого из i18n.tgz, то просто сделайте другую страницу (смотри ниже) и загружаете её как указано далее:
XLPage('ru','PmWikiRu.XLPage'); # из i18n.tgz XLPage('ru','PmWikiRu.XLPageLocal'); # Мой собственный перевод
Если вы задумали использовать на вашем сайте несколько языков и используете группы для выбора языка, то возможно вы захотите разместить такой код в файлах местной подстройки (смотри Настройка отдельных групп). К примеру, если ваш сайт публикуется на Русском и Английском языках, а Русские страницы находятся в группе называющейся Ru, то вы можете создать файл с именем Ru.php в папке local/ с таким содержанием:
<?php if (!defined('PmWiki')) exit(); ##Изменить на Русский язык XLPage('ru','PmWikiRu.XLPage');
Для доступа к Русской документации в группе PmwikiRu вы в праве сделать страницу c тем же содержимым под именем PmWikiRu.php. В файле En.php нет необходимости, так как в данном случае Английский язык является изначальным.
В качестве альтернативного способа можно добавить в config.php проверку на наличие в группе страницы XLPage и автоматическую подгрузку оной:
$xlpage = FmtPageName('$Group.XLPage', $pagename); if (PageExists($xlpage)) XLPage($xlpage, $xlpage);
В этом случае вам надо скопиривать соответствующую страницу XLPage в любую группу нуждающуюся в поддержке другого языка.
Создание Новых Переводов
Если для выбранного вами языка страница перевода отсутствует, то её просто сделать! Страница перевода XLPage просто содержит строки в следующем формате:
'фраза' => 'переведёная фраза',
где "фраза" это международная фраза (отмеченая ...
) в $...Fmt переменных PmWiki, а "переведённая фраза" — это то, что будет выведено в результате. Например, строка (из PmWikiRu.XLPage
)
'Search' => 'Поиск',
преобразовывает при выводе "Search" в "Поиск". Файл PmWiki:XLPageTemplate может послужить хорошей отправной точкой в создании новой XLPage — в него уже включено большинство ключевых фраз PmWiki.
Если вы создаёте новые версии страниц PmWiki на других языках — пожалуйста не забывайте добавлять их на главном сайте PmWiki, так чтобы они были доступны для других в архиве i18n.tgz!
Инструменты для Локализации PmWiki
Вы можете помочь в локализации PmWiki на ваш язык на оригинальном сайте:
<< Управление закачками | Документация | ВикиФермы >>
Перевод страницы PmWiki.Internationalizations —
Оригинал перевода PmWikiRu.Internationalizations —
Ссылаются
PmWikiRu.Internationalizations: редакция от 19.03.2013 10:54
PmWiki.Internationalizations: редакция от 16.07.2022 06:49