Cordova+WinJS 应用本地化
Localization in Cordova+WinJS application
我正在尝试使用 "WinJS Navigation Template for Apache Cordova" ( https://code.msdn.microsoft.com/windowsapps/WinJS-Navigation-Template-50112ea9/view/SourceCode ) 构建示例 WinJS 应用程序。
向该应用程序添加本地化的正确方法是什么? WinJS 方式的标准 - 使用 strings/en-US/resources.resjson - 不起作用。
我认为您遗漏了对那些语言环境文件资源的处理。它应该在 pages/home/home.js
on ready 处理程序上。像这样
ready: function (element, options) {
WinJS.Resources.processAll();
.
.
.
}
这利用了本地化并将其替换到使用它们的地方。
WinJS.Resources.processAll()
在 Cordova 应用程序中似乎不起作用的原因是因为 WinRT 运行时在浏览器托管的应用程序中不可用。
这并没有直接写在文档中,而是隐含在 Application resources and localization sample:
// WinRT is not available in the web compartment, so we must load strings ourselves
// File based resources can be used to load the correct strings
WinJS.xhr({ url: '/strings/resources.json' }).done(function (response) {
strings = JSON.parse(response.responseText);
WinJS.Resources.processAll();
showMessage();
});
我正在尝试使用 "WinJS Navigation Template for Apache Cordova" ( https://code.msdn.microsoft.com/windowsapps/WinJS-Navigation-Template-50112ea9/view/SourceCode ) 构建示例 WinJS 应用程序。
向该应用程序添加本地化的正确方法是什么? WinJS 方式的标准 - 使用 strings/en-US/resources.resjson - 不起作用。
我认为您遗漏了对那些语言环境文件资源的处理。它应该在 pages/home/home.js
on ready 处理程序上。像这样
ready: function (element, options) {
WinJS.Resources.processAll();
.
.
.
}
这利用了本地化并将其替换到使用它们的地方。
WinJS.Resources.processAll()
在 Cordova 应用程序中似乎不起作用的原因是因为 WinRT 运行时在浏览器托管的应用程序中不可用。
这并没有直接写在文档中,而是隐含在 Application resources and localization sample:
// WinRT is not available in the web compartment, so we must load strings ourselves
// File based resources can be used to load the correct strings
WinJS.xhr({ url: '/strings/resources.json' }).done(function (response) {
strings = JSON.parse(response.responseText);
WinJS.Resources.processAll();
showMessage();
});