Angularjs 角度平移链接不工作

Angularjs 角度平移链接不工作,angularjs,angular-translate,Angularjs,Angular Translate,我无法通过角度翻译链接到另一种语言 var translations = { "en": { "HELLO": "hello", "ORANGE": "orange" }, "fr": { "HELLO": "salut", "ORANGE": "@:en.ORANGE" }, }; 见下文 它显示“en.ORANGE”而不是“ORANGE” 有关参考信息,请参阅“快捷方式和链接”一节。文档中的名称空间指的是同一语言中的名称空间 在您的plunk

我无法通过角度翻译链接到另一种语言

var translations = {
  "en": {
    "HELLO": "hello",
    "ORANGE": "orange"
  },
  "fr": {
    "HELLO": "salut",
    "ORANGE": "@:en.ORANGE"
  },
};
见下文

它显示“en.ORANGE”而不是“ORANGE”


有关参考信息,请参阅“快捷方式和链接”一节。

文档中的
名称空间
指的是同一语言中的名称空间

在您的plunker中,您有:

var translations = {
  "en": {
    "HELLO": "hello",
    "ORANGE": "orange"
  },
  "fr": {
    "HELLO": "salut",
    "ORANGE": "@:en.ORANGE"
  },
};
$translateProvider
  .translations('en', translations['en'])
  .translations('fr', translations['fr'])
当您设置
.translations('fr',translations['fr'])
时,您的法语名称空间为:

{
  "HELLO": "salut",
  "ORANGE": "@:en.ORANGE"
}
每当
angular translate
搜索
en.ORANGE
,它都会在上述对象中搜索

使用其他语言的翻译功能尚未实现。查看
角度平移的源代码,有以下代码:

if (translation.substr(0, 2) === '@:') {
          getFallbackTranslation(langKey, translation.substr(2), interpolateParams, Interpolator)
            .then(deferred.resolve, deferred.reject);
        } else {...}
每当您有
@:
字符时,它不会更改
langKey
,这意味着它将在当前语言的翻译目录中搜索翻译


目前您的plunker工作正常。我制作了一个,以显示它正在使用命名空间中的链接。查看“来自
的问候语”
的价值何在。

您到底想做什么?也就是说,什么不起作用?是否有理由使用@en部分?据我所知,不可能使用其他语言。您在哪里找到“@:”符号?@fikkatra:在“快捷方式和链接”部分。@kirkpatt:只是尝试将标签从名称空间链接到另一个名称空间,如“快捷方式和链接”部分所述。