Угловой дизайн - где хранить текст, как это влияет на перевод, библиотека перевода - PullRequest
0 голосов
/ 11 октября 2019

Я создаю приложение Angular7, и я хотел бы получить совет ...

Я пытаюсь выяснить, где лучше всего хранить текст.
Я должен поддерживать:

  • Несколько языков,
  • Несколько брендов, которые нуждаются в небольших вариациях в тексте. (пример: для канадских пользователей: «Кто является премьер-министром?», но для американцев: «Кто президент?»)
  • Некоторым брендам нужны дополнительные опции в интерфейсе. (например: 3 варианта для канадского бренда, но 4 для США)

В настоящее время я использую ngx-translate, и я планирую создать языковой перевод бренда для каждого возможного сценария. (напр .: Канада-англ, Канада-франц, США-англ). Это позволяет мне удовлетворить все 3 требования, перечисленные выше. Однако я слышал, что в будущем ngx-translate устареет. Можно ли удовлетворить вышеперечисленные требования с помощью встроенного в Angular i18n? Возможна модернизация проекта.

Мой следующий вопрос о том, где хранить текст. Локально в папке активов приложения или Удаленно в API:

  • Мой коллега предпочитает обслуживать текст перевода из API, такчто другие сотрудники компании могут просто загрузить переведенный текст в базу данных, и разработчикам приложений не придется иметь с ними дело.
  • Я за локально, потому что:
    • Удаленные файлы переводавозможная точка отказа.
    • Файлы удаленного перевода исключат любую возможность для использования i18n, верно?
    • Новые переводы будут относительно редким явлением и копированием-вставкой файловпереводчики дают нам легко.
    • Я бы сказал, что мы должны создать разделение между DATA-text и App-text и всем текстом, который принадлежитприложение должно оставаться в приложении (например: «Нажмите ниже, пожалуйста»), а API должен предоставлять только «данные».

Что такое наилучшая практика?

В настоящее время реализованоРешение - компромисс, я загружаю ngx-translate json из папки assets и затем вызываю api, таким образом, пользователь никогда не видит уродливые строки перевода, такие как «Hello {{file.parameter}}», пока мы ждем, пока APIвернуться.

...