gpt4 book ai didi

javascript - Angular-gettext 不会更新代码中生成的字符串

转载 作者:行者123 更新时间:2023-11-27 22:55:37 26 4
gpt4 key购买 nike

当我像这样设置语言时 gettextCatalog.setCurrentLanguage(langString); 它不适用于我的侧面导航菜单。我的侧面菜单可以处于两种状态之一:展开或折叠,因此我使用 ng-include 作为侧面菜单,并在切换状态时更改它。

当我使用setCurrentLanguage时,菜单内的字符串不会改变。仅在页面重新加载后才会更改(我将当前语言保留在 localStorage 中)。因此,setCurrentLanguage 可以在应用程序启动时应用于我的侧面菜单,但它不能动态工作。

编辑:

可能与我使用 gettextCatalog.getString('somestring') 生成菜单项名称的事实有关,因此,名称将在启动时使用正确的语言创建,但我不能更改语言时更新它们,因为 `gettextCatalog.getString('somestring') 的结果现在仅存储在变量中。所以,那里不再有 Angular 观察者了。

那么,如何更新从代码创建的字符串?

最佳答案

不要使用gettextCatalog.getString(),而是使用gettext():

$scope.myVar = gettext("Something");

在您的 View 中,使用翻译过滤器:

{{ myVar | translate}}

当您更改语言时,这将正确更新。

更多信息请点击:https://angular-gettext.rocketeer.be/dev-guide/annotate-js/

关于javascript - Angular-gettext 不会更新代码中生成的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37650859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com