Глобализация / Интернационализация в приложении Cordova / Ioni c Phonegap - PullRequest
0 голосов
/ 30 января 2020

Я должен реализовать глобализацию в приложении телефонной связи. Вопрос в том, должен ли я go для перевода до компиляции приложения или перевода во время выполнения.


Я могу go 2 направления:

  1. Первый используя плагин, такой как gulp-i18n-localize, чтобы перевести исходный код на каждый язык, который я хочу, а затем скомпилировать каждый переведенный исходный код в разные папки (en, sp, it, et c ..). А затем в приложении вызовите нужную мне папку, в зависимости от того, что я получаю от navigator.language.
  2. Второй - создание службы, которую я буду вызывать каждый раз, когда загружаю компонент или контроллер, который будет переводить каждое слово / фраза на целевой язык, прежде чем представить его. Что-то вроде: global.trans('Save'). Он также будет получать язык от navigator.language.

  • Это приложение, поэтому не будет больших абзацев, а будут только слова или небольшие предложения, используемые в заголовках, кнопках, ярлыках или сообщения / оповещения.
  • Данные будут поступать с сервера уже на нужном языке благодаря языковому параметру, отправляемому при вызове apis.
  • Приложение наверняка будет иметь некоторые модификации в будущем, поэтому Основной исходный код должен быть централизованным, чтобы не иметь необходимости выполнять одни и те же изменения в нескольких исходных кодах для разных языков каждый раз, когда мы go для обновления.

Кто-то уже реализовал один из эти решения и столкнулись с какой-либо проблемой с ним? Или задумался о проблемах, которые могут возникнуть у одного из них, или подумал, что должно быть лучшим решением? Любые другие варианты, о которых вы можете подумать?

Единственная проблема, которую я вижу, заключается в том, что в первом случае apk будет увеличиваться в размере, потому что будет иметь «site» для каждого языка и что мне придется изменить gulpfile. js каждый раз, когда я хочу добавить язык (кроме словаря). И во втором случае это добавит некоторую нагрузку на приложение, поскольку оно будет переводить каждое данное слово / фразу (переводя значение вызова службы, а служба ищет в словаре (json) слово / фразу / язык и возвращает значение, хотя на странице / экране переводить не так много).

1 Ответ

0 голосов
/ 04 февраля 2020

Если приложение предназначено для работы в автономном режиме, было бы лучше иметь перевод, как в вашем случае 1.

  1. Это сэкономит время на передачу данных и загрузку за счет несколько килобайт;
  2. приложение может передавать релевантную информацию на правильном языке в автономном режиме;
  3. улучшит взаимодействие с пользователем, предоставляя более быстрый и плавный рендеринг интернационализированного (и, таким образом, понятного всем) пользователя интерфейс.
...