Closed blond closed 9 years ago
@andrewblond А зачем в эталонах языки? С ключами вроде достаточно. Так получается, что тесты на шаблоны сильно зависят от работы переводчиков.
Переводчики что-то допереведут — тесты сломаются.
@arikon Логика про склонения, множественные числа — это ведь все делается на уровне шаблонов.
Изначально фичу заказывал Серп, на общей встрече вы, вроде, тоже сказали, что оно вам нужно ;)
Давайте определимся как можно хотеть тестировать шаблоны c BEM.I18N
:
BEM.I18N
для этого просто не используем langs опцию.BEM.I18N
и мы хотим тестировать результат каждого языка. Для этого указываем langs: ['ru'. 'en']
и пишем эталоны для каждого языка.BEM.I18N
но мы не хотим тестировать результат каждого языка, а просто хочется чтобы тесты не падали.@arikon, я правильно тебя понимаю, что тебе интересен 3й вариант? Т.е. просто подставлять ядро i18n в код шаблонов, а в эталонах использовать ключи из кейсетов?
Если так, то почему не подходит вариант выбрать только 1 язык и использовать его?
Приведи пример шаблона, где логика про числа и склонения?
20.10.2014, 15:23, "Vladimir Grinenko" notifications@github.com:
@arikon Логика про склонения, множественные числа — это ведь все делается на уровне шаблонов.
Изначально фичу заказывал Серп, на общей встрече вы, вроде, тоже сказали, что оно вам нужно ;)
— Reply to this email directly or view it on GitHub.
Отправлено из мобильной Яндекс.Почты: http://m.ya.ru/ymail
Не подходит тем, что строки в этом случае — это данные. Хочется, чтобы данные оставались неизменными. А так получится, что при обновлении переводов придётся пересобрать эталоны. Сейчас этот процесс ручной и неудобный.
20.10.2014, 17:04, "Andrew Abramov" notifications@github.com:
Давайте определимся как можно хотеть тестировать шаблоны c BEM.I18N:
В шаблонах никогда не используется код BEM.I18N для этого просто не используем langs опцию. В шаблонах используется BEM.I18N и мы хотим тестировать результат каждого языка. Для этого указываем langs: ['ru'. 'en'] и пишем эталоны для каждого языка. В шаблонах используется BEM.I18N но мы не хотим тестировать результат каждого языка, а просто хочется чтобы тесты не падали.
@arikon, я правильно тебя понимаю, что тебе интересен 3й вариант? Т.е. просто подставлять ядро i18n в код шаблонов, а в эталонах использовать ключи из кейсетов?
Если так, то почему не подходит вариант выбрать только 1 язык и использовать его?
— Reply to this email directly or view it on GitHub.
Отправлено из мобильной Яндекс.Почты: http://m.ya.ru/ymail
Приведи пример шаблона, где логика про числа и склонения?
Например, https://nda.ya.ru/3QTTWo
Есть предложение сделать специальное значение langs: true
при котором эталоны не нужно будет писать по языкам, а в код шаблонизаторов будет примёрживаться только ядро i18n без кейсетов.
@andrewblond Это хорошее предложение
Например, https://nda.ya.ru/3QTTWo
@tadatuta В такой случае я бы хотел, чтобы значения параметров находили своё отражение в итоговом html.
@andrewblond ping, когда планируется решить задачу? Она стопит нам вливание BH-шаблонов.
@deeonis выпусти v0.6.0
@andrewblond Спасибо!
Для шаблонов использующих
BEM.I18N
требуется сборка таргетов с учётом языка.Добавляем опцию
langs
в конфиг:И на файловой системе в суффиксы эталонов добавляем признак языка:
В результате сборки добавятся таргеты вида
?.bemhtml.{lang}.js
, которые и будут применяться для получения актуальных html.Если использовать значение
langs: true
эталоны не нужно писать по языкам, а в код шаблонизаторов будет примёрживаться только ядроBEM.I18N
без кейсетов.