我想知道facebook是如何做到的,他们是否添加了两个不同的html + css或它只是用于更改不同语言的主题的css,或者是否有任何特殊的html属性可以改变完整网站的方向?以下是两个例子,一个是英语,另一个是阿拉伯语。
我还想添加另一个相关的问题,也就是说,你认为他们使用像谷歌api这样的api进行翻译,还是他们硬编码翻译(聘请某人做翻译)?
答案 0 :(得分:3)
根据您使用的技术,此概念称为string externalizing,string resourcing,string internationalization,localization等。可以在CSS + Javascript,但这不是一种非常有效的方法,特别是如果您的网站有很多字符串和大量翻译。
HTML不同 - 如果您好奇,只需查看HTML源代码即可。源代码不同,因为在网站前端的代码中,像“Login”这样的字符串存储在外部的集合文件中,可能看起来像这样:
## LANGUAGE = ENGLISH ##
LOGIN = "Login"
PASSWORD = "Password"
切换语言时,前端后面的代码保持不变,但代码会使用不同的外部语言文件。例如,可能是同一应用程序的西班牙文件:
## LANGUAGE = SPANISH ##
LOGIN = "Iniciar sesión"
PASSWORD = "contraseña"
我们的想法是,为了支持新语言,所有需要做的就是将原始标识符翻译成新的语言文件。翻译人员不必是程序员就可以轻松翻译上述snippit。
最后的评论是,Facebook有足够的资金支付专业翻译人员,为他们提供许多世界语言的非常好的翻译。很久以前,他们允许用户提交翻译作为起点。使用免费的翻译API来翻译应用程序字符串通常是个坏主意,因为大多数情况下这些API都无法使语法正确。翻译API最能有效地获得某些单词和短语的“整体含义”,但对于任何一种特定的习语来说,获取最正确的单词翻译也会非常不准确。
答案 1 :(得分:0)
facebook更改的布局改变是css更改,它们有两个单独的css,一个用于从右到左,另一个从左到右,但如果在英语或相同的副词中有另一种语言,那么它们字面上使用html方向标记,用正确的方向在框中指示消息。