javascript - 需要帮助来了解 Bootstrap 多语言设置

标签 javascript jquery html css twitter-bootstrap

我一直在尝试在我的网站上设置多语言选项。
我的网站是基于引导的一页HTML。
我看了下面的代码

function ChangeLanguage(selected) {
    alert(selected.value()); // Do whatever you want in here.
}


<div class="btn-group dropdown pull-right">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
        <span class="lang-sm lang-lbl-full" lang="en"></span> <span class="caret"></span>
    </button>
    <ul class="dropdown-menu" role="menu" >
        <li><span class="lang-sm lang-lbl-full" onclick="ChangeLanguage(this)" lang="ar" value="ar"></span></li>
        <li><span class="lang-sm lang-lbl-full" onclick="ChangeLanguage(this)" lang="en" value="en"></span></li>
        <li><span class="lang-sm lang-lbl-full" onclick="ChangeLanguage(this)" lang="fr" value="fr"></span></li>
    </ul>
</div>


我不知道其他语言的调用是如何工作的。

所以我的问题是如何调用正确的div,以便它能正常工作。

如果除了使用多个div之外,还有其他更好的方法,我将不胜枚举。

最佳答案

实际上,多语言与Bootstrap无关,对于一页网站,您可以使用Javascript和CSS来实现。这是一个非常简单的示例:

类名称为lang的元素将由语言选择器过滤,类名称为arenfr用于定义语言。



(function($) {
  $('#lang-selector').on('change', function() {
    $('body').attr('data-lang', $(this).val());
  });
})(jQuery);

.lang {
  display: none;
}
body[data-lang="ar"] .lang.ar {
  display: initial;
}
body[data-lang="en"] .lang.en {
  display: initial;
}
body[data-lang="fr"] .lang.fr {
  display: initial;
}

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>

<body data-lang="ar">

  Select Language:
  <select id="lang-selector">
    <option value="ar">Arabic</option>
    <option value="en">English</option>
    <option value="fr">French</option>
  </select>
  
  <hr>

  <h2 class="lang ar">Arabic</h2>
  <h2 class="lang en">English</h2>
  <h2 class="lang fr">French</h2>

  <div class="content">
    <p class="lang ar">
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.
    </p>
    <p class="lang en">
    Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.

    Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim.
    </p>
    <p class="lang fr">
    Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue.

    Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem.
    </p>
  </div>

</body>

关于javascript - 需要帮助来了解 Bootstrap 多语言设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51663773/

相关文章:

javascript - 如何将动态模板加载到 $uibModal.open()(Angular UI Bootstrap )中?

javascript - JavaScript 中有窗口管理库吗?

jquery - 在 jquery 中启用或禁用表单元素

javascript - 如何启用 ENTER 按钮发送消息

javascript - Vuetify 在应用栏中垂直居中自动完成?

javascript - 为什么 Array 中的函数不能在 'arguments' 上工作?

javascript - 样式化通过 JS 生成的 SVG

html - 固定到包装器 div 的背景附件

html - 试图将背景拉伸(stretch)到 100% 高度

jquery - 防止 IE 在加载半秒内显示两个 DIVS