如果您使用某些软件来生成 html(即 - php/asp/asp/net/etc),那么不要给翻译人员生成的 html,给他们您用来生成 html 的资源文件。
然后,您将拥有您想要支持的每种语言的资源文件。然后,您可以使用浏览器语言设置(可通过标头服务器端访问)、请求 url 甚至 cookie(在您询问他们喜欢哪种语言之后 - 请参阅 quietpc.com 示例)来确定用户使用哪种语言想看到你的网站。
现在您知道用什么语言呈现您的网站,然后您可以编写服务器端代码来读取相关资源文件,一切就绪!
所以,而不是这个...
Hey <i>Bob</i>, what's your <span class="important">name</span>?
...你会有这个...
<%=Resources.Hey%> <i><%=Name%>, <%=Resources.Whatsyour%> <span class="important"><%=Resources.Name%></span>
但是,像这样拆分事情是非常糟糕的 IMO。最好改写一些东西,这样它们就不会分裂。我不认为这是一个很好的例子,因为你问鲍勃他的名字是什么。是鲍勃!!
我总是尝试对页面进行布局,以免将变量与文本混在一起。
示例 ...
Name: Bob
Mood: Happy
姓名和心情可以翻译。 Bob 和 Happy 来自某个地方的变量,即 - 他们是动态的。
示例标记 ...
<table>
<tr>
<td><%=Resources.Name%></td>
<td><%=Name%></td>
</tr>
<tr>
<td><%=Resources.Mood%></td>
<td><%=Mood%></td>
</tr>
</table>
这就是我过去的处理方式,因为除了(糟糕的)英语之外,我不会说任何其他语言,我真的不知道句子的结构方式是否会根据上下文发生变化。所以,我一直尽量避免使用嵌入变量的句子。