Каковы хорошие инструменты / фреймворки для i18n php codebase? - PullRequest
3 голосов
/ 01 октября 2008

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

Ответы [ 5 ]

3 голосов
/ 01 октября 2008

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

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

2 голосов
/ 01 октября 2008

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

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

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

1 голос
/ 09 января 2009

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

так наш дизайн был:

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

так, чтобы локализовать разные языки, вам нужно только включить

как

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>
1 голос
/ 31 октября 2008

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

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

0 голосов
/ 09 января 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...