我在我的项目中对i8n使用了角度平移。我正在使用异步 url 加载器来加载我的翻译表。
$translate.useUrlLoader(myUrl)
翻译指令和过滤器都返回我正在翻译的键,直到加载翻译表。
<a ng-bind="translation.key | translate"></a>
<a translate="translation.key></a>
上述两个选项都会在网页上显示"翻译.key",直到加载翻译表。
注:我有理由不听$translationChangeSuccess活动。
我正在寻找两种解决方案中的任何一种
- 从 URL 同步加载转换表。
- 在完全加载翻译表之前,不要显示已翻译的文本。
这是处理异步执行时的常见问题。 Angular-translate现在附带了一个translate-cloak
指令,可帮助您防止FOUC。你可以在这里阅读它: http://angular-translate.github.io/docs/#/guide/12_asynchronous-loading#asynchronous-loading_fouc---flash-of-untranslated-content