gpt4 book ai didi

javascript - PascalPrecht Angular 翻译 useUrlLoader

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:32:56 25 4
gpt4 key购买 nike

我对编程和 Angular 都不熟悉。我需要使用 angular-translate 及其 useUrlLoader,因为我的翻译存储在数据库中。 $translateProvider.useUrlLoader('foo/bar.json');
$translateProvider.preferredLanguage('en');

虽然使用 staticFilesLoader 对我来说似乎足够简单,但由于我只需要两个带有翻译数据的独立 json 文件,所以我无法获得 useUrlLoader 所期望的。据我了解,它需要包含多种语言翻译(例如英语和德语)的 json。在任何地方都找不到此类文件的示例。

最佳答案

StaticFilesLoader 期望您将不同语言的所有翻译存储在服务器上的单独文件中。它发出这样的请求:

/your/server/i18n/locale-en.json
/your/server/i18n/locale-de.json
/your/server/i18n/locale-fr.json

其中 /your/server/i18n/locale-.json前缀后缀(分别) 您在配置过程中传递的。

UrlLoader 期望您有一个“聪明”的端点而不是一堆文件。它发出这样的请求:

/your/server/i18n/locale-endpoint?lang=en
/your/server/i18n/locale-endpoint?lang=de
/your/server/i18n/locale-endpoint?lang=fr

其中 /your/server/i18n/locale-endpointlangurlqueryParameter(分别) 你在配置过程中传递的。 url 是必需的,但可以省略 queryParameter(默认为“lang”)。

您可以像这样设置 UrlLoader:

$translateProvider.useUrlLoader('/path/to/your/endpoint', {
queryParameter : 'localeKey'
});

或者像这样:

$translateProvider.useLoader('$translateUrlLoader', {
url : '/path/to/your/endpoint',
queryParameter : 'localeKey'
});

两个加载器都希望将翻译加载为 JSON 对象。它可能看起来像这样:

{
"translationId" : "Translation for this ID",
"anotherTranslationId": "Another translation for another id"
}

您可以在 the official guide 中找到有关不同装载机的更多信息.

可以在 the angular-translate repository 中找到 UrlLoader 的源代码.

希望这对您有所帮助。

关于javascript - PascalPrecht Angular 翻译 useUrlLoader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29634967/

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