Один файл YAML против нескольких файлов YAML в разных папках и подпапках - PullRequest
0 голосов
/ 21 января 2019

Я работаю над автоматизацией процесса перевода и улучшением процесса локализации в целом на сайте Rails. Я использую SimpleBackend, поэтому для хранения переводов используются только файлы YAML.

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

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

Спасибо!

1 Ответ

0 голосов
/ 30 января 2019

Я думаю, что любые инструменты, которые вы используете для плавного прохождения процесса, очень сильно влияют на это решение. Вы должны выяснить, как именно Transifex хочет, чтобы вещи были структурированы в выводе, и попытаться сохранить текущую структуру ввода и дать этому шанс, прежде чем принимать решение.

Однако, на мой взгляд, для большого приложения с большим количеством переводимого текста я бы предпочел, чтобы в вашем языке по умолчанию было несколько файлов yaml и один или два консолидированных файла yaml для каждого иностранного перевода. Если в вашем приложении не так много переводимого текста, возможно, вам подойдет один файл, но, учитывая, что он уже разделен, есть хороший шанс, что это лучший выбор. В команде с большим количеством участников вы можете получить очень большой файл оттока (возможно, с большим количеством конфликтов слияния), который каждый постоянно меняет.

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

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

...