问题标签 [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.

0 投票
3 回答
6939 浏览

javascript - 使用 AngularJS 和 Angular Translate 如何检查字符串是否已被翻译?

如何检查字符串是否具有翻译值?我正在使用 AngularJS 和 AngularTranslate。

如果它已被翻译,我只想显示一个值。如果没有可用的翻译,Angular Translate 将显示未翻译的字符串。

我开始这样做:

但这不起作用,因为比较发生在翻译过滤器完成工作之前。(至少我认为会发生这种情况)。

我最终做的是:

})

这工作正常,但我想知道是否有更好的方法来做到这一点?

0 投票
8 回答
82893 浏览

angularjs - 使用角度翻译获取当前语言

有没有办法在控制器中获取当前使用的语言(没有$translateProvider)?

$translate在服务中找不到任何东西。

0 投票
5 回答
176788 浏览

javascript - Correct use for angular-translate in controllers

I'm using angular-translate for i18n in an AngularJS application.

For every application view, there is a dedicated controller. In the controllers below, I set the value to be shown as the page title.

Code

HTML

JavaScript

I'm loading the translation files using the angular-translate-loader-url extension.

Problem

On the initial page load, the translation key is shown instead of the translation for that key. The translation is Hello, World!, but I'm seeing HELLO_WORLD.

The second time I go to the page, all is well and the translated version is shown.

I assume the issue has to do with the fact that maybe the translation file is not yet loaded when the controller is assigning the value to $scope.pageTitle.

Remark

When using <h1>{{ pageTitle | translate }}</h1> and $scope.pageTitle = 'HELLO_WORLD';, the translation works perfect from the first time. The problem with this is that I don't always want to use translations (eg. for the second controller I just want to pass a raw string).

Question

Is this a known issue / limitation? How can this be solved?

0 投票
2 回答
1491 浏览

angularjs - Angularjs 在代码隐藏中翻译

我正在努力将枚举类绑定到 SELECT 语句。

给定 TypeScript 定义:

和用法:

现在这段代码有几个问题:

1) 枚举值是硬编码的

2)默认值功能不起作用 - 我将此错误跟踪到 angularjs 处理这种情况的方式。它使用比较 === 因此“0”!== 0。 初始 ng-model 值未在选择中设置

我不介意通过在具有两个属性的控制器中创建新数组来解决这个问题:{translatedVal, enumId}。

问题是,我如何让这个“translatedVal”与真正的翻译保持同步?

使用角度平移。

0 投票
1 回答
386 浏览

javascript - 在不全局更改语言的情况下更改角度翻译过滤器中的语言环境

我的用例是键和翻译值的列表,定义列表如下:

当前的解决方案显然会翻译成当前首选的语言,而不是两者兼而有之。

有没有办法告诉translate过滤器只为那个键使用特定的语言?该文档引用了一个插值哈希,但我还没有找到可以帮助我将特定语言传递给过滤器的东西。我使用的是 1.1.0 版。

0 投票
2 回答
3311 浏览

angularjs - 角度翻译:更改 cookie 名称

我正在使用角度翻译插件:https ://github.com/angular-translate

我想使用cookiestorage。使用存储首选项时

我看到创建了一个新 cookie 并命名为:ng_translate_lang_key。

我可以更改 cookie 名称吗?我怎样才能做到这一点?

0 投票
4 回答
3158 浏览

javascript - 如何在对象字面量中使用 Promise

angular-translate 2.0 版中,$translate 服务不再返回实际的翻译,而是一个承诺。我可以看到这是一个好主意,因为可能正在进行一些异步加载。但这让我很困惑如何在我的情况下正确使用该服务,因为我在对象文字中使用了 $translate 服务,就像这样

问题:如何在对象字面量中使用 Promise?

它应该(根据文档)像这样使用:

0 投票
0 回答
1370 浏览

javascript - angular-translate-loader-partial 在初始加载时未在 .config() 之外加载 {parts}

我在我的应用程序中使用 angular-translate 并使用 angular-translate-loader-partial 根据需要加载资源模块。如果我尝试在资源服务中的初始加载中使用 $translatePartialLoader.addPart(resource),则正在加载的“部分”不会在页面上进行翻译,尽管它使用 $translatePartialLoader.isPartAvailable(resource) 将其显示为可用。

在下面的代码中,“菜单”资源得到​​了很好的翻译。'people' 资源已“加载”,但翻译不会发生。

这是 angular.config 中的代码块 -

这个调用是由我的资源服务在初始加载时进行的 -

我在 angular.run 中进行了刷新-

加载网站后,调用 $translatePartialLoader.addPart({part}); 将按设计工作。

0 投票
3 回答
2729 浏览

angularjs - 使用 angular-gettext 时找不到本地 Npm 模块“grunt-angular-gettext”错误

我想使用 angular-gettext 在我的应用程序上实现 i18n,我遵循了这个http://lostechies.com/gabrielschenker/2014/02/11/angularjspart-12-multi-language-support/ 我使用了这个命令:

我的 Gruntfile.js :

当我使用这个命令 grunt nggettext_extract 来提取翻译时,我有这个错误:

我不知道为什么?包 grunt-angular-gettext 存在于节点模块中你能帮我处理这个吗?

0 投票
1 回答
5043 浏览

javascript - Angular-Translations:显示动态找到的翻译键的翻译

我的角度控制器可能会生成我打算使用角度翻译进行翻译的消息。

在控制器中,我目前将一个变量分配给translation key,例如:

该键的翻译指定为

如您所见,我还需要在翻译中替换 projectName。

在我看来,我尝试过这样的事情

但它不起作用。如何翻译动态找到的翻译键并将范围变量添加到翻译行中?