首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从源码中阅读语言

从源码中阅读语言
EN

Stack Overflow用户
提问于 2011-02-17 21:40:22
回答 2查看 482关注 0票数 0

我想在多语言(en,ru,lt)站点中使用lightbox,所以我需要翻译lightbox。要为lightbox设置正确的参数,我需要读取定义在以下位置的语言:

代码语言:javascript
复制
    <body>
        <div id="main">

    <div id="logo"> 
        <a href="/en/" ...

因此,如果我使用的是另一种语言,徽标链接将是该语言代码。我有这个.js代码:

代码语言:javascript
复制
$(function() {
    $('.object').lightBox({
        txtOf: 'translation',
        txtImage: 'another_translation'
    });
});

我应该如何修改JS来进行检查?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-17 21:50:10

代码语言:javascript
复制
$(function() {
    // Define language map
    var languageMap = {
      en: {txtOf: 'Something', txtImage: 'This is an image'},
      ru: {txtOf: 'что-то', txtImage: 'его является изображение'}
    };
    // Detect language from the logo images href attribute
    var re = new RegExp('/([^/]*)/*');
    var href = $('#logo a').eq(0).attr('href');
    var lang = 'en'; //English by default
    var match = re.exec(href);
    if (match !== null) {
        lang = match[1];
    }
    // initialize lightBox
    $('.object').lightBox({
        txtOf: languageMap[lang].txtOf,
        txtImage: languageMap[lang].txtImage
    });
})

请参阅http://jsfiddle.net/ArtBIT/JzPZP/以获取实时示例。

此外,http://jsfiddle.net/ArtBIT/JzPZP/1还将向您展示俄语版本

票数 3
EN

Stack Overflow用户

发布于 2012-07-13 16:51:22

我修改了lightbox.js的get控件和它的选项:

代码语言:javascript
复制
//(function () {
//    var $, Lightbox, LightboxOptions;
//    $ = jQuery;
    var Lightbox, LightboxOptions;
    LightboxOptions = (function () {
        [...]
    })();

    Lightbox = (function () {
        [...]
    })();
//    $(function () {
//        var lightbox, options;
//        options = new LightboxOptions;
//        return lightbox = new Lightbox(options);
//    });
//}).call(this);

另一方面,我必须在我想要的每个页面中调用一个小代码片段,而不是仅仅在头部添加de library:

代码语言:javascript
复制
$(function () {
    var lightbox, options;
    options = new LightboxOptions;
    return lightbox = new Lightbox(options);
});

但现在,我可以在不做额外更改的情况下以编程方式更改lightbox选项: ASP.net:

代码语言:javascript
复制
$(function () {
    var lightbox, options;
    options = new LightboxOptions;
    options.labelImage = '<%=this.GetLocalResourceObject("Lightbox.options.labelImage").ToString() %>';
    options.labelOf = '<%=this.GetLocalResourceObject("Lightbox.options.labelOf").ToString() %>';
    return lightbox = new Lightbox(options);
});

PHP:

代码语言:javascript
复制
$(function () {
    var lightbox, options;
    options = new LightboxOptions;
    options.labelImage = '<?php echo $dictionary["Lightbox_options_labelOf"]; ?>';
    options.labelOf = '<?php echo $dictionary["Lightbox.options.labelOf"]; ?>';
    return lightbox = new Lightbox(options);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5029684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档