html - 一页 html 静态多语言

标签 html css

我有一项学校作业要创建单页 html 静态。 我想要一些按钮来更改语言,但我不想添加任何内容,例如 "index.html/en/""index.html?lang=en"。我更喜欢只使用 CSS 但我不知道它是否可行。

简而言之,我只想要一个简单的双语 “index.html” 并具有更改内容文本的按钮。

我是 html 脚本的新手,所以我正在寻找一些示例代码或一些详细的教程会有所帮助。

最佳答案

我建议为此使用 JS/jQuery:

为每个要翻译的元素进行语言映射:

// Translations object:
var translations = {
  'en': {
    'home': 'Home',
    'back': 'Back'
    /* ... */
  },
  'lt': {
    'home': 'Pradžia',
    'back': 'Atgal'
    /* ... */
  }
};


// wait for all DOM elements to load
$(document).ready(function() {

  // when button is clicked
  $('.lang-btn').click(function() {
    // take translations subset
    var lang = translations[$(this).data('lang')];

    // for each element that has "data-key" attribute
    $('[data-key]').each(function() {

      // change it's content to other language
      $(this).text(lang[$(this).data('key')]);
    })
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="my-page">
  Language:
  <button class="lang-btn" data-lang="en">En</button>
  <button class="lang-btn" data-lang="lt">Lt</button>
  <hr/>
  <a href="home.html" data-key="home">Home</a>
  <button data-key="back">Back</button>
</div>

此代码不检查是否存在此类翻译。您可以通过回退到英语来改进此算法。

关于html - 一页 html 静态多语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36639238/

相关文章:

html - 消失的输入

java - Java 中更好的 Html 生成器

javascript - 显示当前图像时,从阵列内的剩余图像中随机选择

javascript - 修改Superfish菜单jQuery插件

html - 媒体查询和性能 vs 在较小的屏幕上显示大文件大小的图像

css - Internet Explorer 不显示链接样式,因为它们在 Visual Studio 设计器中

html - 你能用条件标签定位 IE10 Metro 吗?

html - 边距空白

html - 如何在网站打开后显示弹出框

javascript - 如何在不调整大小或裁剪的情况下制作整页背景图像