【问题标题】:How to provide a Spanish translation of my website?如何为我的网站提供西班牙语翻译?
【发布时间】:2013-08-22 16:07:13
【问题描述】:

我是一个刚开始使用 jQuery 的新手,并且对该主题了解最少。

我正在将我的整个网站翻译成另一种语言,从英语到西班牙语等。我不想给网站带来负担并将所有翻译都放入 1 个 js 文件中,所以我我正在考虑是否可以为每个翻译放置一个单独的文件,例如 english.jsspanish.jsjapanese.js 并调用需要时特定文件并卸载不需要的其他文件。如果有人知道任何现有插件可用于此方法,请告诉我。

为了从一种语言转移到另一种语言,我将使用下拉列表。

【问题讨论】:

  • 您不应该使用 JavaScript 翻译网站。您是否在一个框架内工作?
  • 我不确定什么是框架,但我的网站使用了 HTML、CSS 和 jQuery。
  • 您是否使用 PHP、Ruby、Python 等后端脚本语言?
  • 没有。只有 HTML、CSS 和 jQuery。

标签: javascript jquery jquery-plugins coding-style


【解决方案1】:

无需 JavaScript

根据您的 cmets,您似乎有静态 HTML 文件,所以这应该很容易

<!-- example.com/en/index.html -->
<nav>
  <a href="/en/index.html">Home</a>
  <a href="/en/about/index.html">About</a>
  <a href="/es/index.html>Español</a>
</nav>

<p>
  Hello World
</p>

那么你可以这样写西班牙语页面

<!-- example.com/es/index.html -->
<nav>
  <a href="/es/index.html">Inicio</a>
  <a href="/es/about/index.html">Quienes Somos<a>
  <a href="/en/index.html">English</a>
</nav>

<p>
  ¡Hola Mundo!
</p>

基本理念是您将拥有网站每个页面的单独版本。如果你有

  • /zh/index.html
  • /en/foo.html
  • /en/about/index.html
  • /en/about/contact.html

那你还需要

  • /es/index.html
  • /es/foo.html
  • /es/about/index.html
  • /es/about/contact.html

英文文件应该有相对于英文根/en的链接,西班牙文文件应该有所有相对于西班牙根/es的链接

为了让用户更轻松地切换页面,导航可以让语言切换器让用户保持在同一页面上,但只需更改语言

<!-- example.com/en/some/deep/page.html -->
<nav>
  <!-- ... -->
  <a href="/es/some/deep/page.html>Español</a>
</nav>

如果用户正在查看英文版/en/some/deep/page.html 并单击西班牙文链接,他们将看到西班牙文版/es/some/deep/page.html,而无需重新导航回该页面。

【讨论】:

    【解决方案2】:

    专门回答您关于加载和卸载 JavaScript 文件的问题,StackOverflow 上已经有一个精彩的回复:Best way to load and unload JS file via JQuery Chris Pratt

    但从根本上说,一旦加载了 JS,您就无法卸载它。

    也许你应该看看在服务器端实现语言配置,所以在输出 HTML 时它会查看一个语言文件。例如,如果您使用的是 PHP+Smarty,它会变得非常简单。

    【讨论】:

    • 我已经查看了那个线程,但是 .live() 已经被 jQuery 弃用了,所以我不确定这是否仍然可行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多