Лучше использовать несколько языковых файлов или 1? - PullRequest
5 голосов
/ 20 сентября 2009

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

Я работаю на нескольких языках на сайте социальной сети, так что пока только страница регистрации, которая занимает около 1 из 200 страниц, и у нее есть 35 текстовых строк для перевода, при этом языковой файл для каждого языка будет очень большой, так что я подумал, может быть, было бы лучше сделать разные языковые файлы для разных страниц или, возможно, такие разделы, как раздел форумов и раздел блогов, но если это не имеет значения, я бы не стал тратить свое время на создание нескольких файлов меньшего размера для каждого языка ,

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

Ответы [ 4 ]

4 голосов
/ 20 сентября 2009

Я бы основал модуль языковых файлов. С gettext вам нужно указать локаль для каждого языка. Лучше всего было бы иметь отдельные файлы .po / .mo для каждого модуля или больших частей вашего сайта.

Это мое мнение. : -)

2 голосов
/ 20 сентября 2009

Я обычно автоматизирую процесс и использую несколько языков в нескольких файлах, используя базу данных для редактирования сайта (используя простой просмотр базы данных). Это позволяет мне нанимать переводчиков и легко проверять текущий перевод. Развертывание в производство - это просто превращение базы данных в набор языковых файлов.

0 голосов
/ 01 декабря 2009

Лучше всего использовать несколько файлов, но все может быть дезорганизовано.

Мы только что запустили бесплатный новый сервис под названием String, который решает большинство проблем управления несколькими языковыми файлами - например, базовый лагерь для локализации. Вы можете импортировать существующие файлы или начать с нуля с ключами и строками в системе. Когда вы будете готовы, вы можете снова экспортировать файлы, чтобы запустить ваше приложение. Работает с форматами PHP (массив), PHP (определение), po, yaml, ini и .strings.

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

В любом случае достаточно продаж! Проверьте это на http://mygengo.com/string - мы будем рады вашим отзывам.

0 голосов
/ 23 октября 2009

Исходя из опыта, я бы разбил языки по отдельным файлам, поскольку накладные расходы на управление становятся тяжелыми, и есть большие возможности для дублирования и ошибок.

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

Стоит также взглянуть на некоторые форматы, которые используют другие люди. Многие из фреймворков используют такую ​​структуру, как Dashcode, Symfony, Zend и т. Д. Кроме того, существует xliff формата xml, который создан для обработки переводов и интегрируется со многими инструментами, которые используют переводчики.

...