Semantic-UI: как работать с i18n - PullRequest
       8

Semantic-UI: как работать с i18n

0 голосов
/ 05 ноября 2018

У меня есть раскрывающееся меню, свойство которого зависит от языка (i18n).

Мое решение на данный момент:

$('.ui.dropdown').dropdown({
        fullTextSearch: true,
        match: "text"
    });

$('.ui.dropdown.de').dropdown({
        fullTextSearch: true,
        match: "text",
        message: {
            noResults: 'Keine Resultate gefunden.'
        }
    });

Как видите, мне нужно скопировать все специфические свойства, не относящиеся к i18n!

Как правильно сделать это с помощью Semantic-UI.

1 Ответ

0 голосов
/ 05 ноября 2018

Вам нужно реализовать какую-то стратегию i18n для всего вашего приложения. Это не что-то специфическое для семантического интерфейса.

Один простой способ добиться этого - сохранить словарь со всеми предложениями и загрузить необходимые предложения для текущего языка.

Пример:

const languages = {
  'en-US': {
    'noResults': 'No Results found.',
  },
  'de-DE': {
    'noResults' : 'Keine Resultate gefunden.',
  },
};

const i18n = languages[currentLanguage];

$('.ui.dropdown').dropdown({
      fullTextSearch: true,
      match: "text",
      message: {
          noResults: i18n[noResults],
      }
  });

Есть также несколько библиотек, которые могут помочь с этим, например http://airbnb.io/polyglot.js/

...