Я должен реализовать глобализацию в приложении телефонной связи. Вопрос в том, должен ли я go для перевода до компиляции приложения или перевода во время выполнения.
Я могу go 2 направления:
- Первый используя плагин, такой как
gulp-i18n-localize
, чтобы перевести исходный код на каждый язык, который я хочу, а затем скомпилировать каждый переведенный исходный код в разные папки (en, sp, it, et c ..). А затем в приложении вызовите нужную мне папку, в зависимости от того, что я получаю от navigator.language
. - Второй - создание службы, которую я буду вызывать каждый раз, когда загружаю компонент или контроллер, который будет переводить каждое слово / фраза на целевой язык, прежде чем представить его. Что-то вроде:
global.trans('Save')
. Он также будет получать язык от navigator.language
.
- Это приложение, поэтому не будет больших абзацев, а будут только слова или небольшие предложения, используемые в заголовках, кнопках, ярлыках или сообщения / оповещения.
- Данные будут поступать с сервера уже на нужном языке благодаря языковому параметру, отправляемому при вызове apis.
- Приложение наверняка будет иметь некоторые модификации в будущем, поэтому Основной исходный код должен быть централизованным, чтобы не иметь необходимости выполнять одни и те же изменения в нескольких исходных кодах для разных языков каждый раз, когда мы go для обновления.
Кто-то уже реализовал один из эти решения и столкнулись с какой-либо проблемой с ним? Или задумался о проблемах, которые могут возникнуть у одного из них, или подумал, что должно быть лучшим решением? Любые другие варианты, о которых вы можете подумать?
Единственная проблема, которую я вижу, заключается в том, что в первом случае apk будет увеличиваться в размере, потому что будет иметь «site» для каждого языка и что мне придется изменить gulpfile. js каждый раз, когда я хочу добавить язык (кроме словаря). И во втором случае это добавит некоторую нагрузку на приложение, поскольку оно будет переводить каждое данное слово / фразу (переводя значение вызова службы, а служба ищет в словаре (json) слово / фразу / язык и возвращает значение, хотя на странице / экране переводить не так много).