Intereting Posts
Получите пользовательский ввод из формы, напишите в текстовый файл, используя php От раунда до тысячи, сотни и т. Д. В PHP pdo-> query () возвращает два из каждого результата? Как Заменить каталог в PHP? сортировка по высокой цене с данными mysql PHP-массив в массив Javascript Каков максимальный размер ключа для массива в PHP? Предупреждение: mysqli_query () ожидает как минимум 2 параметра, 1. Какие? Сервер MySQL ушел – ровно 60 секунд События, добавленные через клиент API Google API, которые не отображаются в календаре Получите ссылки на видео с Youtube Channel, извлеките идентификаторы видео из Urls и сохраните их в массиве Попытка запустить банку из PHP Добавление настраиваемых столбцов в модель Propel? Как проверить значение ng-if с одним значением php Mysql, выберите идентификатор, сгруппированный по отдельному столбцу (выберите все идентификаторы для каждого уникального домена)

Каковы хорошие инструменты / рамки для i18n php codebase?

Я рассмотрел несколько вариантов включения локализации и интернационализации динамического приложения php. Похоже, что существует множество доступных инструментов, таких как gettext и Yahoo R3, и мне интересно услышать от разработчиков и переводчиков, какие инструменты хороши в использовании и какая функциональность важна для облегчения задачи внедрения и перевода.

Solutions Collecting From Web of "Каковы хорошие инструменты / рамки для i18n php codebase?"

PHP gettext-реализация работает очень плавно. И файлы po с po edit и gettext имеют такой же хороший способ, как вы можете справиться с локализацией, имея в виду, что никакое решение такого рода не может полностью справиться с сложностями различных языков. Например, метод gettext очень хорош в множественных формах, но ничто из того, что я видел, не может обрабатывать такие вещи, как сопряжение.

Для получения дополнительной информации см. Мой пост здесь: Как вы создаете многоязычный веб-сайт?

Мы занимались Zend_Translate , так как в любом случае мы используем Zend Framework. Он очень хорошо документирован и до сих пор чрезвычайно прочен.

Раньше я в основном использовал свое собственное доморощенное решение. Это включает в себя языковые файлы с константами или переменными, которые содержат все текстовые части и только что отображались в представлении / шаблоне позже.

Что касается gettext, то в прошлом я слышал, что ссылки на реализацию gettext PHP ошибочны, но я не могу действительно поддержать это, и у меня нет никаких ссылок прямо сейчас.

Существует ряд полезных расширений в pecl: http://pecl.php.net/packages.php?catpid=28&catname=Internationalization

В частности, вы можете проверить php-intl, который предоставляет большинство ключевых функций i18n из международных компонентов для Unicode (ICU)

решение, основанное на базе данных для показа сообщений, не всегда является хорошим, я работал на сайте с более чем 15 языками, и переводы были проблемой.

поэтому наш дизайн был:

  • приложение для перевода в php-mysql (доступ к переводу и т. д.)
  • то переводы записываются в php-диаграммах
  • эти массивы также кэшируются в APC для ускорения работы сайта.

поэтому для локализации разных языков вам нужно всего лишь включить

как

<?php include('lang/en.php'); include('lang/en_us.php'); // this file overrides few keys from the last one. ?> 

Xataface можно использовать для того, чтобы довольно легко интернационализировать произвольное приложение PHP / MySQL. Он поддерживает перевод как вашего статического текста, так и данных вашей базы данных. Все, что вам нужно сделать, это добавить строку или 2 кода в пару мест в вашем приложении, и это хорошо.

http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6