我是个新手,开始在jQuery上工作,并且对这个主题有最少的知识。
我正致力于将我的整个网站翻译成另一种语言,从英语到西班牙语等等,我不想把所有的翻译都放在一个js文件中,所以我在想,是否可以为每一个翻译提供一个单独的文件,比如english.js、spanish.js、japanese.js,并在需要时调用特定的文件,然后卸载其他不需要的文件。如果有人知道任何现有的插件使用这种方法,请告诉我。
对于迁移到另一种语言,我将使用下拉列表。
发布于 2013-08-22 13:40:58
不需要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>
基本的想法是,您将有一个单独的版本的每一页的网站。如果你有
那么你也需要
英文文件应该有相对于英文根/en
的链接,而西班牙语文件应该有相对于西班牙语根/es
的所有链接。
为了使用户更容易切换页面,nav可以让语言开关将用户保持在同一个页面上,但只需更改语言即可。
<!-- 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-22 08:10:18
特别是为了回答您有关加载和卸载JavaScript文件的问题,克里斯普拉特已经在StackOverflow:Best way to load and unload JS file via JQuery上做出了精彩的回应。
但有趣的是,一旦JS加载完毕,就不能卸载它。
也许您应该看到的是在服务器端实现语言配置,所以当输出HTML时它会查看语言文件。例如,如果您使用的是PHP+Smarty,则非常容易。
https://stackoverflow.com/questions/18385671
复制相似问题