0

我是一个开始研究 jQuery 并且对该主题了解最少的新手。

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

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

4

2 回答 2

2

无需 JavaScript

根据您的评论,您似乎有静态 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英文并单击 Español 链接,他们将看到/es/some/deep/page.html西班牙文,而无需重新导航回页面。

于 2013-08-22T21:40:58.697 回答
0

专门回答你关于加载和卸载 JavaScript 文件的问题,StackOverflow 上已经有一个精彩的回应:Chris Pratt通过 JQuery 加载和卸载 JS 文件的最佳方式

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

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

于 2013-08-22T16:10:18.007 回答