2

我想使用角度翻译,我按照本教程进行操作: http ://www.ng-newsletter.com/posts/angular-translate.html

我加载这两个文件:

<script src="js/angular/angular-translate.min.js"></script>
<script src="js/angular/angular-translate-loader-static-files.min.js"></script>

html

{{ 'SORTBY' | translate }}

当我执行以下操作时,翻译工作:

$translateProvider.translations('en', {
                SORTBY: 'sort by'
              })
              .translations('fr', {
                SORTBY: 'trier par'
              });

现在我想这样做:

$translateProvider.useStaticFilesLoader({
                prefix: '/languages/',
                suffix: '.json'
            });

我很好地加载了文件,因为我的控制台网络向我展示了正确内容的 GET 成功,即:

en.json

SORTBY: "Sort by"

fr.json

SORTBY: "Trier par"

表明 :

排序方式

你有什么主意吗 ?

4

3 回答 3

2

这个问题完全是因为 Jsons 的写作。这种语法解决了我的问题:

{
    "SORTBY": "Sort by"
}
于 2014-06-18T08:36:13.797 回答
-1

几分钟前我遇到了非常相似的问题,问题是在 JSON 文件中使用'ine 而不是:"

坏的

{
    'SORTBY': 'Sort by'
}

好的

{
    "SORTBY": "Sort by"
}

它解决了我的问题,也许可以帮助某人。

于 2014-11-28T11:28:35.917 回答
-1

prefix 属性是文件的前缀,而不是位置,因此它正在寻找一个名为languages/'someValue'.json 的文件。这在我以前的项目中有效,因此您可以尝试将文件重命名为 locale-en.json 和 locale-fr.json。

$translateProvider.useStaticFilesLoader({
          prefix: 'locale-',
          suffix: '.json'
        });
于 2014-06-17T17:31:09.430 回答