gpt4 book ai didi

localization - 使用 NLS/本地化的 Dojo 自定义构建

转载 作者:行者123 更新时间:2023-12-04 12:25:45 27 4
gpt4 key购买 nike

我在 Dojo 中实现跨域自定义构建时遇到问题。
情况如下:我有一个相当大的应用程序,有很多本地化包,所以基本上目录结构就像
核心\(我的模块)
nls\
FR\
恩\
……
在构建我的模块时,结果是一个很大的 core.js/core.xd.js 文件,其中 bien sur 不包含本地化。在本地化 nls 目录 (en/fr/etc) 中,我在构建后找到构建/缩小的每个包,以及每种语言的更大文件 core_fr.js/core_en.fs,其中仅包含与 Dojo/Dijit 相关的字符串。

所以我的构建脚本是

            layers: [
{
resourceName: "core",
name: "../core/trusted.js",
dependencies: [
"dojo.i18n",
//data
"dojox.data.JsonRestStore",
"dojox.data.XmlStore",
"dojox.rpc.Service",
"dojox.form.FileInput",
...
"core.controller.Fusebox"
],
prefixes: [
["dijit","../dijit"],
["dojox","../dojox"],
["core", "../core"]
]

在 core.controller.Fusebox 类中,我尝试加载 1 个 nls
dojo["requireLocalization"]("core", "FuseboxContent");

在这里它会死,但是随着
availableFlatLocales is undefined
[Break on this error] var locales = availableFlatLocales.split(",");\r\n

我在 html 文件中的配置是:
// version build
var djConfig = {
baseUrl: 'https://..../',
modulePaths: { 'core': 'core'},
useXDomain: true,
xdWaitSeconds: 10,
parseOnLoad: true,
afterOnLoad: true,
// debugAtAllCosts: true,
isDebug: true,
locale: "fr"
};

进而
<script type="text/javascript" src="http://xd.woopic.com/dojoroot/1.3.2-xd/dojo/dojo.xd.js.uncompressed.js"></script> 
<script type="text/javascript" src="https://..../core/trusted.js.uncompressed.js"></script>

当然,我使用未压缩的进行调试。
问题是,在运行时,Dojo 尝试加载我的包但找不到它们,我想将它们嵌入到我的层文件中,因此不需要额外的加载。
这可以实现吗?当我们这样做时,是否有任何具有跨域本地化的工作站点/示例?
更新:我继续我的分析,问题似乎在于我正在动态加载 nls,因此构建解析器找不到 requireLocalization() 调用。因此项目 nls 文件仅包含与 dojo/dijit 相关的内容。但是,我在一个虚拟文件中添加了一些捆绑加载,并且构建器仍然忽略了 core/nls 的内容。

感谢您提供任何信息,我几乎已经完成了搜索,网上关于这个主题的内容并不多。

最佳答案

几天前我遇到了类似的问题。首先,您可以通过将可用的语言环境设置为 requireLocalization 调用的第四个参数来绕过该错误。

例如

dojo.requireLocalization("core", "FuseboxContent", null, "en,fr");

虽然你不应该这样做。

您是否尝试按如下方式包含本地化?
dojo.requireLocalization("core", "FuseboxContent"); // and not dojo["require..."]

关于localization - 使用 NLS/本地化的 Dojo 自定义构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1644104/

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