首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将我的网页翻译成其他语言?

如何将我的网页翻译成其他语言?
EN

Stack Overflow用户
提问于 2011-01-18 04:21:57
回答 6查看 19.1K关注 0票数 4

如何翻译我的网页?实际上,如果需要的话,应该使用什么技术或者什么脚本?仅供参考;我有所有翻译的文本。但是我不想为其他语言创建类似克隆站点的东西。我只使用了javascript -including jquery。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-01-18 06:09:21

只是在使用JavaScript...

代码语言:javascript
复制
<script type="text/javascript">

// JSON-formatted, potentially read from a database
var article = {
    title: {
      en_US: "Article Title",
      fr_FR: "Titre de l\'Article"
    },
    content: {
      en_US: "Content of the Article.",
      fr_FR: "Contenu de l\'Article."
    }
}

// simple function to write the info to the page
function get_i18n(item, lang) {
    document.write(article[item][lang]);
}
</script>

<!-- English Version -->
<div class="story">
   <h1 class="title"><script>get_i18n('title','en_US');</script></h1>
   <p class="content"><script>get_i18n('content','en_US');</script></p>
</div>

<!-- French Version -->
<div class="story">
   <h1 class="title"><script>get_i18n('title','fr_FR');</script></h1>
   <p class="content"><script>get_i18n('content','fr_FR');</script></p>
</div>

请注意:这不是一个非常优雅的解决方案。我相信有一个更好的方法。

票数 10
EN

Stack Overflow用户

发布于 2011-01-18 04:48:38

你的实际意思是“如何构建多语言网站”,因为你已经有了你所说的“翻译文本”。

一种方法是将文本放入容器中,然后使用客户端代码根据所选语言将容器内容更改为适当的文本,并具有包含每种语言的翻译文本的数组。

如果你有自己的服务器端语言,那就更好了--你有这样的东西吗?

票数 2
EN

Stack Overflow用户

发布于 2011-01-18 06:41:54

使用CSS属性选择器:

代码语言:javascript
复制
<style type="text/css">
    // hides all French blocks by default
    div.story[lang="fr"] {
        display: none;
    }
    // hide all English blocks
    body[lang="fr"] div.story[lang="en"] {
        display: none;
    }
    // show all French blocks
    body[lang="fr"] div.story[lang="fr"] {
        display: block;
    }
</style>

<!-- Change this to the language of the blocks you want to display -->
<body lang="fr">

    <!-- English block, shown by default -->
    <div class="story" lang="en">
       <h1 class="title">Article Title</h1>
       <p class="content">Content of the Article.</p>
    </div>

    <!-- French block, hidden by default -->
    <div class="story" lang="fr">
       <h1 class="title">Titre de l'Article</h1>
       <p class="content">Contenu de l'Article.</p>
    </div>

</body>

此设置默认显示所有英文块,除非在<body>标签上设置了lang="fr"

当然,您仍然需要一些方法来修改<body>标记的lang属性……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4717475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档