Лучшие практики для вывода строк в PHP
Я был удивлен тем, как мало я нашел во внешних строках в PHP. Все используют gettext, или есть какой-то другой фреймворк или инструмент, о котором я не знаю?
4 ответа
Zend_Translate / Zend_Locale хороши и очень гибки. Им не нужен весь Zend Framework для присутствия. Они поддерживают файлы gettext moo/.po, а также CSV и другие форматы.
Надеюсь, эта библиотека поможет вам:
Пакет i18n - это класс занятий для интернационализации. Это дает вам возможность легче поддерживать многоязычные веб-страницы. Строки перевода хранятся в виде простых текстовых файлов, специальных файлов Gettext, которые в основном представляют собой предварительно скомпилированные файлы перевода, или в базе данных MySQL. И это работает независимо от функции setlocale в PHP.
Я бы сказал, что вы должны использовать gettext, потому что он зрелый и простой в настройке. Также BU используя gettext, вы сможете расширить его использование для источников другого типа, чем php. Считайте формат файла PO стандартным для этого.
Я много лет работаю в области i18n, и я могу сказать вам, что gettext обеспечит вам наилучшие результаты с минимальными усилиями, если в вашем проекте более 50-100 строк.
После того, как вы установили основу для локализации своего приложения, если вам нужно управлять и / или просто выполнить фактический перевод, у нас есть (что мне нравится думать, очевидно:) довольно крутой инструмент под названием String - http://mygengo.com/string
String отлично подходит не только для управления переводами, где вы можете приглашать других в проекты, чтобы помочь с переводом, но вы также можете заказать переводы прямо в сервисе. Мы интегрировали наш API в String, чтобы продемонстрировать наш API и возможность видеть обновления статуса для многочисленных (100–1000) рабочих мест, переведенные реальными людьми!
Если вас интересует сам API, мы недавно провели конкурс наград с несколькими забавными победителями для ряда платформ (Wordpress, Django и др.): http://mygengo.com/services/api/lab/winners/
Просто думал, что поделюсь.