Многоязычный перевод на веб-сайте - PullRequest
0 голосов
/ 13 февраля 2011

Я хочу знать, как это сделал Facebook, добавили ли они два разных html + css или просто css только для того, чтобы сменить там тему на другой язык, или есть какой-то специальный атрибут html, который меняет направление для всего сайта?Ниже приведены два примера: один английский, а другой арабский.

Также я хочу добавить еще один связанный вопрос, который, как вы думаете, они переводили с использованием некоторых API, таких как Google API, или они жестко закодировали перевод (наймкто-нибудь, чтобы сделать перевод)?

Пример изображения 1

Пример изображения 2

Ответы [ 2 ]

3 голосов
/ 13 февраля 2011

В зависимости от того, какую технологию вы используете, эта концепция известна как внешняя строка , ресурсная строка , международная строка , локализация и т. д. Можно сделать все это в CSS + Javascript, но это не очень эффективный способ делать что-либо, особенно если на вашем сайте много строк и много переводов.

HTML отличается - просто посмотрите на источник HTML, если вам интересно. Источник отличается тем, что в коде, стоящем за внешним интерфейсом веб-сайта, строки типа «Логин» хранятся извне в файле коллекции, который может выглядеть примерно так:

## LANGUAGE = ENGLISH ##
LOGIN = "Login"
PASSWORD = "Password"

Когда вы переключаете языки, код за внешним интерфейсом остается тем же самым, но тогда код использует другой файл внешнего языка. Например, может быть испанский файл для того же приложения:

## LANGUAGE = SPANISH ##
LOGIN = "Iniciar sesión"
PASSWORD = "contraseña"

Идея состоит в том, что для поддержки новых языков все, что нужно сделать, это перевести исходный идентификатор в новый языковой файл. Переводчик не обязательно должен быть программистом, чтобы легко перевести приведенный фрагмент кода.

Последний комментарий: у Facebook достаточно денег, чтобы платить профессиональным переводчикам, чтобы обеспечить их очень хорошими переводами на многие языки мира. Давным-давно они позволяли пользователям отправлять переводы в качестве отправной точки. Обычно плохая идея использовать бесплатный API перевода для перевода строк приложения, потому что в большинстве случаев эти API не получают правильную грамматику. API-интерфейсы перевода наиболее эффективны для правильного определения «общего значения» некоторых слов и фраз, но они также могут быть крайне неточными при получении наиболее правильного перевода слов для любой конкретной идиомы.

0 голосов
/ 19 февраля 2011

Смена макета, сделанная Facebook, произошла с изменениями CSS, у них есть два отдельных CSS, один справа налево, а другой слева направо, но если в английском языке был другой язык или тот же самый наоборот, то они буквально используют направление html.тег, чтобы направить сообщение в поле с правильным направлением.

...