воскресенье, 18 декабря 2016 г.

Ember локализация

Для локализации Ember приложений я использую - ember-i18n

Установка
$ cd my-ember-project
$ ember install ember-i18n

Настройка

В config/environment.js устанавливаю русскую локализацию по умолчанию:
  var ENV = {
    ...
    i18n: {
      defaultLocale: 'ru'
    },
  ...
  }

Создание файла для русского перевода - ru

Запускаю команду генерации русской локализации, которая создаст файл app/locales/ru/translations.js - это словарь, в котором будет русский перевод:
$ ember generate locale ru


Перевод текста

1) Добавляю в словарь app/locales/ru/translations.js строку - "Contact":"Контакты",
export default {
  "Contact":"Контакт",
  ...
};
Открываю template.hbs и для слова "Contact" ставлю хелпер для перевода - {{t "Contact"}}
{{#link-to 'contact' tagName="li"}}<a href>{{t "Contact"}}</a>{{/link-to}}
2) Для использования хелпера перевода {{t }} внутри двойных фигурных скобок используется простые скобки, т.е.(t "contact"). Например, используется хелпер input и нужно сделать перевод текста в placeholder="Project name"
{{input type="text" value=model.project.name placeholder=(t "Project name")}}
и добавляю в словарь app/locales/ru/translations.js
export default {
  "Project name":"Название проекта",
  ...
};
3) Так же в хелпер {{t }} можно передать переменные. Например,
в темплейте:
{{t "The (model.user.name)'s project: '(model.project.name)'" username=model.user.name project=model.project.name}}

в translations.js
export default {
  "The (model.user.name)'s project: '(model.project.name)'": `Проект "{{project}}" пользователя {{username}}`
};
В translations.js для перевода использовались обратные кавычки, а "{{project}}" заключен в простые кавычки.

Комментариев нет:

Отправить комментарий

django-oscar tinymce 4 filebrowser

Задача: в дашборде django-oscar загружать изображения 1. Установка django-filebrowser-no-grappelli - Открываем проект, загружаем виртуа...