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