Вопрос

Сегодня я спросил интервьюеру, как я бы реализую арабский язык в качестве второго языка в веб-приложении PHP. Я говорил о выборе кодирования Unicode для базы данных и интерфейса и проектирования модулей интерфейса для пользователя RTL. И он не казался слишком доволен ответом. Я не знаю ничего о многоязычных системах, как бы вы ответили на этот вопрос?

Это было полезно?

Решение

  1. Убедитесь, что вы используете кодировку UTF-8 на сайте. Даже это не надежно, как упомянуто Prakscant.
  2. Строки - вам нужно будет дисциплинировать в локализации каждой строки и фразы, которые могут появиться пользователю. Это означает сообщению об ошибках, сообщениях состояния, ящики полосы оповещения, диалоговые окна и т. Д. Вы можете создать строку карту или списка каталогов, который позволяет находить строки ключом (что может быть на английском языке).
  3. Локализованные изображения - если вы используете изображения для кнопок (которые содержат текст), которые тоже должны быть локализованы. Вы можете создать карту изображения или файл каталога, который позволяет найти изображения для соответствующей культуры каким-либо ключом.
  4. Макет - поскольку арабский язык находится влево, вам, вероятно, понадобится отдельных файлов CSS, чтобы правильно обрабатывать внешний вид сайта, чтобы текст прочитал и отображался правильно. Например, вы можете захотеть боковые панели на правой стороне экрана, а не влево.
  5. Форматы даты - вам нужно будет отформатировать даты на основе кода культуры и обеспечить, чтобы фильтры на основе дат были правильно интерпретированы.
  6. Собрание базы данных - вам нужно будет обеспечить сохранение данных базы данных в формате UTF-8 или Unicode. Вам также необходимо быть осторожным в любых фильтрах внутри запросов, которые искали на строки, если эти строки не являются системными значениями, которые являются невоспринимательными и не отнечательными по арабскому пользователю.

Другие советы

Очень важно сделать надежный языковый менеджер для гибкой загрузки языковых строк и настроек. В PHP вы должны быть осторожны даже с форматом файла UTF-8, поскольку текущие версии PHP не имеют полной поддержки Unicode. Здесь вы можете узнать больше о том, что происходит с поддержкой Unicode:

http://schlueter.de/blog/archives/128-future-of-php-6.html.

У вас также есть еще много проблем с: локализованным форматированием, сортировкой - сортировкой, многовалютной и многоразонной логикой.

Используйте UTF-8 для всех:

Формат файла PHP -> UTF-8.

База данных MySQL -> Unicode UTF-8.

Не уверен, почему они не будут довольны вашим ответом. UTF-8 для всех текстовых строк / базы данных и т. Д. Отдельные CSS (для установки свойства текста RTL) Другое, что нужно учитывать ... Изображения также RTL. Поэтому, если вы в настоящее время используете изображения для NAVBAR и т. Д., Вы должны понимать, что они будут загружать RTL.
Кроме того, арабский язык - это просто другой язык, похожий на что-то еще, единственное отличие состоит в том, что она двунаправлена.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top