Перевод нескольких строк в веб-приложении. - PullRequest
0 голосов
/ 29 декабря 2010

Как перевести несколько строк в веб-приложении на другой язык, когда пользователь хочет увидеть эти строки на своем языке?

1 Ответ

1 голос
/ 29 декабря 2010

вы знакомы с i18n? это сокращение от «интернационализация», которое состоит из 20 букв: сначала «i», затем 18 букв, а затем «n»: D

Некоторые люди любят использовать для этого файлы свойств. Вы называете файл свойств после его имени на языке i18n. таким образом, у вас будет, например, en-us.properties и sw-se.properties для текстов на английском и шведском языках. в этих файлах у вас будут имена местозаполнителей для некоторых текстов, которые вы хотите отобразить, и каковы будут их фактические значения. помните, что у заполнителей не должно быть пробелов!

en-us.properties будет содержать

welcome_message = "welcome %user%\nplease check your weapons at the door :)"
logout_button_text = "log out"
good_bye_message = "godspeed to you %user%!"

sw-se.properties будет содержать

welcome_message = "välkommen %user%\nvänligen lämna dina vapen vid dörren :)"
logout_button_text = "logga ut"
good_bye_message = "%user%, vi önskar dig en lycklig resa!"

Я создал эту функцию, где элементы в знаках% являются заполнителями, которые необходимо заменить после сохранения текста на языке, чтобы данные из сеанса или базы данных могли быть помещены в сообщение.

обратите внимание, что оба языковых файла содержат одинаковые ключи, но с разными значениями.

когда вы хотите отобразить текст,

  • вы проверяете, на каком языке вы находитесь (возможно, это происходит от URL),
  • загрузить соответствующий файл свойств,
  • получить текст для концептуального заполнителя, который необходим в данной точке,
  • заменить любые заполнители данных в этой строке,
  • и выдать конечный результат пользователю.
...