Можно ли сделать динамический перевод сообщений в angular ngx-translate
У меня есть сообщение динамической проверки из элементов управления формы, а сообщение - из конфигурации серверной части. Можно ли переводить с помощью angular ngx-translate?
<span> {{products.errors?.error | tanslate }} </span>- not works. This error is dynamic erros not able to define in json.
аналогично для
есть выпадающий список, основанный на категории, динамически с сервера. можно ли перевести?
еще
можно ли обновить файлы перевода en.json, es.json, fr.json на основе значений сервера, например) рассмотреть имена пользователей, роли, разрешения зарегистрированного пользователя должны быть переведены
1 ответ
Как я вижу проблему, попробуйте найти api as google translate и отправьте свое сообщение и язык, на который вас нужно перевести. (фантастическое разрешение)
https://www.npmjs.com/package/google-translate-api. Никогда не использовал, но на примерах выглядит довольно дружелюбно.
translate('I spea Dutch!', {from: 'en', to: 'nl'}).then(res => {
console.log(res.text);
//=> Ik spreek Nederlands!
console.log(res.from.text.autoCorrected);
//=> true
console.log(res.from.text.value);
//=> I [speak] Dutch!
console.log(res.from.text.didYouMean);
//=> false
}).catch(err => {
console.error(err);
});
Реалистично, вы можете сопоставить ошибки вашего сервера с помощью нумерации: ERROR_1, ERROR_2, ERROR_3
и в вашем файле перевода (который, я думаю, является json):
{
ERROR_1: "mesage translated",
ERROR_2: "another translated message",
ERROR_3: "etc"
}
В клиенте сохраните свои ошибки в списке ошибок (строка []), и ваш html станет следующим:
<span *ngFor="let error of errors">
{{error | translate}}
</span>