Лучше использовать несколько языковых файлов или 1?

StackOverflow https://stackoverflow.com/questions/1450237

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Также стоит взглянуть на некоторые форматы, которые используют другие люди.Многие фреймворки используют подобную структуру, Dashcode, Symfony, Zend и т.д.И есть XML-формат xliff, который создан для обработки перевода и интегрируется со многими инструментами, которые используют переводчики.

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

Мы только что запустили бесплатную новую службу под названием String, которая решает большинство проблем управления несколькими языковыми файлами - например, базовый лагерь для локализации. Вы можете либо импортировать существующие файлы, либо начать с нуля с ключей и строк в системе. Когда вы будете готовы, вы можете снова экспортировать файлы для запуска вашего приложения. Он работает с PHP (массив), PHP (Define), PO, YAML, INI и .Strings.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top