локализовать контент в PHP с помощью getttext? - PullRequest
2 голосов
/ 26 августа 2010

У меня есть приложение PHP, и теперь мне нужно реализовать поддержку нескольких языков. Это первый раз, когда мне приходится иметь дело с этим. Я сделал некоторые поиски в Интернете и всегда приходил к функции gettext в PHP, которую я скомпилировал на своем сервере. Я просто хотел бы знать, является ли gettext () лучшим способом сделать это? Большинство статей относятся даже к 2002 году, разве нет нового пути в PHP 5.2? Также я прочитал, что вы должны перезагрузить сервер, когда вы вносите изменения в переводы ??

Ответы [ 2 ]

2 голосов
/ 26 августа 2010

Расширение intl использует новую библиотеку ICU, но оно доступно только в PHP 5.3 +

0 голосов
/ 26 августа 2010

Да, перезагрузка сервера является серьезной проблемой, которая стала для меня дилером.Кроме того, основным намерением gettext является перевод языковых строк, а не замена констант текстом, хорошо ли это для вас решать (т. Е. Замена текста на «собака коричневая» => «Das hund ist braun»знайте немецкий;), постоянная замена - это 'catalog_greeting' => 'Добро пожаловать в каталог').

Существует множество альтернативных решений на чистом PHP, которые могут вам помочь.Я использую схему постоянной замены, которую я сохраняю в базе данных, и создаю отдельный сериализованный массив для каждого языка при каждом сохранении, поэтому выборка происходит очень быстро, а формат базы данных не влияет на производительность.Прекрасно работает, прост в настройке (даже с нуля), прост в обслуживании и расширении.

...