Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Поиск недостующих ключей в yaml-файлах

Anna | 20.06.2014 | нет комментариев
Иногда open source планы переводятся на уйма иностранных языков. С одной стороны это делает их больше доступными для широкого круга пользователей, но с иной стороны, все эти переводы необходимо поддерживать. Переводы традиционно поделены по yaml-файлам и выделены в отдельную директорию, содержимое которой выглядит приблизительно так: en.yml, ru.yml, de.yml…
Что мне доводится видеть в open source планах, это что в определенный период времени кто-то решил перевести все тексты на свой родной язык, добавляя при этом файл вида xx.yml. Перевод сделан, все отменно, но план не стоит на месте, добавляются новые функции, удаляется ветхий код. Человек, тот, что сделал первоначальный перевод, в большинстве случаев, теснее не следит за всеми эти движениями и не добавляет за всяким разом новые переводы. Люди, которые контрибьютят код, тоже не способны делать переводы на все языки, которые поддерживает план. Получается так, что имеется много yml файлов, эталонным из них традиционно является en.yml. Когда приходят новые люди, желающие дополнить недостающие переводы, они сталкиваются с задачей что в всяком файле сотни строк текста и никак невозможно осознать какие из них отсутствуют либо избыточны.
Именно для этих целей, я написал примитивный джем под наименованием Differz, тот, что сопоставляет yaml-файлы и показывает недостающие ключи. Установить дозволено легко исполнив

gem install differz

Если применяется rbenv, то так же необходимо исполнить

rbenv rehash

Дабы показать разницу между en.yml и de.yml, необходимо исполнить такую строку в консоли:

differz show en.yml de.yml

Для примера, я запустил данное приложение на знаменитом плане activeadmin, которое перевели на много языков. Вот итог сопоставление en.yml и de.yml:

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

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB