加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使用HotTowel(Durandal框架)VS2012翻译视图

发布时间:2020-12-16 07:17:23 所属栏目:asp.Net 来源:网络整理
导读:我用Durandal和Breeze开发了一个ASP.NET MVC解决方案.我需要将前端翻译成法语和荷兰语.如何进行Durandal /淘汰赛? 在经典的ASP.NET MVC解决方案中,我们有机会将视图呈现在服务器端(感谢razor). 谢谢你的帮助. 解决方法 为了扩展Rob在为require.js尝试i18n.j
我用Durandal和Breeze开发了一个ASP.NET MVC解决方案.我需要将前端翻译成法语和荷兰语.如何进行Durandal /淘汰赛?

在经典的ASP.NET MVC解决方案中,我们有机会将视图呈现在服务器端(感谢razor).

谢谢你的帮助.

解决方法

为了扩展Rob在为require.js尝试i18n.js插件的答案,这里是我遵循的步骤(我正在使用Visual Studio中的Durandal启动器模板).

>下载i18n.js plugin并将其放在App文件夹中.
>创建一个App / nls文件夹,您可以在其中放置require.js资源包,例如应用/ NLS / welcomeBundle.js.

define({
    "root": {
        "displayName": "Welcome to the Durandal Starter Project!"
    },"fr-fr": true
});

>你会看到我添加了一行来告诉require.js有法语版本可用.这将在App / nls / fr-fr / welcomeBundle.js中创建,我有点在下面做了(改为le:D)

define({
    "displayName": "Welcome to le Durandal Starter Project!"
});

> require.js最初需要配置语言环境(不能动态完成).所以在main.js文件中,我声明了下面的getLocale()函数,我用它来配置require.js的语言环境:

function getLocale() {
    var locale = 'en-us';
    if (localStorage) {
        var storedLocale = localStorage.getItem('locale');
        locale = storedLocale || locale;
    }
    return locale;
}

requirejs.config({
    paths: {
        'text': 'durandal/amd/text'
    },locale: getLocale()
});

>在welcome.js模块中,然后加载bundle并将其用于displayName属性:

define(function(require) {
    var bundle = require('i18n!nls/welcomeBundle');
    return {
        displayName: bundle.displayName,...
    }
});

>然后我将语言环境设置为法语并通过JavaScript重新加载页面:

localStorage.setItem('locale','fr-fr');
 location.reload();

希望有帮助:)

编辑:2013-04-04:我更新了上面的内容来初始化main.js文件中的语言环境,而不是shell.js模块中的语言环境,因为在shell中加载bundle时,语言环境没有被正确使用模块.无论如何应该尽快配置它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读