问题标签 [angular-translate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - translateLoadingSuccess 永远不会被称为 angular-translate
我使用 angular-translate 进行翻译并试图避免 FOUC。
我试图在我的一个 html 中做到这一点
但我仍然看到 FOUC 的行为。任何想法或建议。当我调试脚本时,我看到事件 $translateLoadingSuccess 永远不会被调用,因此即使在页面加载后我的所有元素都是不可见的。
angularjs - 角度翻译在具有另一个组件的按钮中不起作用
angular-translate 适用于使用格式的多个 p、h 和标签
这很棒。但是我不能让它在那个按钮上有另一个 Angular 组件的按钮上工作,特别是 angular-dropdowns。事实上,当我将 translate 放在 > 的末尾时,它会在页面加载时破坏整个页面,并且没有 Javascript 工作。在控制台中,我得到 Error: [$compile:multidir] http://errors.angularjs.org/1.2.20/ $compile/multidir (etc., etc.)
HTML是
该按钮的 Angular 控制器是
下拉按钮起作用,选择语言并进行翻译。myApp 具有 angular-translate 文档中的配置内容 - $translateProvider.translations() 之类的东西。同样,问题是当按钮上的翻译属性/指令时,它会在页面加载时破坏整个页面。我尝试将 $translate 带入上述控制器,但无法使其正常工作。有什么需要改变的?
angularjs - angular-gettext:动态更改语言?
我在我的应用程序中使用了角度 gettext。到目前为止,我有两种语言,并希望根据用户偏好在 UI 中切换语言。我有一个用于两种语言的按钮——DE 和 EN。
在控制器方法中,我设置了语言:
这样做时,UI 中的语言似乎没有改变。使用角度 gettext 在 UI 中动态更改语言的正确方法是什么?
提前致谢。
javascript - 使用角度平移进行定位
我正在使用 Angular-Translate 库在 angularJS 中进行本地化。
我的要求是我想保留单个模块/控制器并从页数中调用方法/控制器方法。项目由以下标准目录结构组成:
- 语言
- zh-CN
- 主页.json
- 联系人.json
- FR-FR
- 主页.json
- 联系人.json
- zh-CN
这些所有 .json 文件也有各自的 html 和部分 html。另外,我不想提供硬编码路径;根据呈现的 html(view) 和选择的语言,它应该选择 .json 文件。
那么,应该采取什么方法呢?
javascript - 使用 ui 路由器公开当前状态名称
我正在尝试实现一个语言切换器,如果用户从“en”端的任何给定页面单击“de”,它会将他们带到“de”端的那个页面。如果我 console.dir 使用 $state 参数,它会使用给定 $state 的“当前”属性公开我想要的值。如果我尝试 console.dir $state.current 来关注我想要的值,它只会给出父状态属性(我当前的视图是嵌套的)。
我目前的想法是,我在 url/en/content 上,然后我可以动态地让我的 lang 导航将适当的目标点动态加载到某种数据属性中,使用自定义指令来选择那些我会启动的“转到”并为每个角度翻译设置我的首选语言值。
目前的关键问题是暴露 $state 名称 - 同样,当简单地浏览 $state 时,当前对象会给出我想要的值,但 $current.state 直接只给出父状态。
如果有人对如何做到这一点有更好的建议(以角度方式 - 没有自定义 cookie 垃圾),我很乐意接受建议。
谢谢!
更新!代码示例:
我的状态的对象参考:
我的州:
控制器:
最后,我在 dom 中看到的输出:
使用 this.state = $state;
使用 this.state = $state.current
angular-translate - angular-translate 未使用加载的静态文件进行翻译
我正在使用以下角度文件进行翻译:
- 角度翻译.min.js (v2.2.0)
- angular-translate-loader-static-files.min.js (v2.2.0)
- 角翻译存储cookie.min.js(v2.2.0)
- 角度翻译-存储-local.min.js (v2.2.0)
- angular-cookies.min.js (v1.2.22)
当我执行以下操作时,角度翻译有效:
但不是当我尝试使用静态文件时......
我的 HTML:
我的 app.js:
我的获取响应(Content-Type 设置为:application/json):
呈现的 HTML 页面显示:label.test
此外,我的控制台中没有错误。我也尝试将密钥重命名为 TEST,但这也不起作用。
有任何想法吗?
谢谢。
angularjs - 如何在指令的单元测试中模拟角度翻译过滤器
在我的指令模板中,我需要像这样使用角度翻译过滤器:
然后在我对该指令的单元测试中,我得到了错误:
未知提供者: translateFilterProvider <- translateFilter
我尝试过注入$filter
并$translate
通过$translate = $filter('translate');
它不能解决问题 - 这真的是为了测试过滤器
我可以注入模块pascalprecht.translate
,但这很重手。我如何最好地模拟过滤器?
angularjs - 为什么我在尝试初始化 angular-translate 时收到此错误?
我已将 angular-translate.min 包含到我的应用程序中,并且我知道它正在找到它,因为我没有收到 404 错误。但是当我尝试使用它时,我遇到了一个错误,我不知道为什么,有什么想法吗?我想我可以只包含 .js 文件并开始使用它。谢谢
https://docs.angularjs.org/error/$injector/modulerr?p0=UserAdminApp&p1=Error:%20%5B$injector:modulerr%5D%20http:%2F%2Ferrors.angularjs.org%2F1.2.20%2F$injector%2Fmodulerr%3Fp0%3DngTranslate%26p1%3DEr
https://docs.angularjs.org/error/$injector/modulerr?p0=ngTranslate&p1=Er
javascript - AngularJS角度翻译按钮文本丢失
我正在使用带有角度翻译(pascalprecht)的AngularJS。我遇到了一个问题,按钮元素上的翻译文本不会显示,直到我将按钮滚动出当前视图并回滚或以其他方式重绘页面(如切换显示:无)。翻译后的文本虽然到位(通过检查器检查 - chrome 开发工具)。
这发生在 Chrome 上,我无法在 Firefox 上复制它。翻译通过 staticFileLoader(本地文件)加载。元素上的翻译以这种方式添加:
我尝试将按钮元素与锚('a')元素交换,但错误仍然存在。
javascript - Angular-Translate:将冒号/字符添加到翻译的字符串
我使用angular-translate
并且我有例如这个翻译:
我可以通过以下方式将其包含到我的模板中:
所以我会得到这样的结果:
但我想要的是翻译后跟一个冒号:
那么我该怎么做呢?如何将字符添加到已翻译的字符串?我不想在翻译中添加冒号,因为我认为它不应该在那里,所以我会更灵活,我可以不带或不带冒号使用它。
我当然可以做某事。像这样
但由于性能原因,我想避免使用大括号的版本,如果它没有加载/评估但你会看到一秒钟{{'INFO_TEXT | translate'}}
,那就不好了。