У меня есть приложение Angular 2, которое в настоящее время использует ng2-translate для управления несколькими языками для графического интерфейса. Он взаимодействует с API, который отвечает на запросы, используя комбинацию кодов состояния HTTP и пользовательских кодов API.Angular 2 i18n: Динамическая обратная связь
Так что я могу, например, получить это обратно на HTTP запрос к нему:
{
success = true,
code = 'A00001'
}
У меня есть документ, который объясняет, что означает «A00001», так что я знаю, что перевод загрузить.
Теперь я хочу сделать переключатель, чтобы использовать собственные решения i18n от Angular. В основном потому, что я хочу использовать как можно меньше сторонних библиотек, но самое главное, потому что он предлагает лучшую поддержку при предоставлении контекста переводам.
Посмотрите на документацию for i18n on angular.io, она выглядит довольно прямолинейно, но единственное, что меня удерживает, это то, как я буду обрабатывать ответы API.
Поскольку все строки заменены/переведены во время компиляции, как я могу восстановить переведенную строку и показать ее только тогда, когда я обнаруживаю конкретный код из API?
Это в основном то, что я делаю сейчас:
switch(response.code) {
case 'A00001':
feedback = this._translateService.instant('translationKey');
break;
}
Затем я представляю обратную связь для пользователя в GUI.
Как решить эту проблему с помощью решения Angulars i18n?