Многоязычное приложение: лучший способ?

Каков наилучший способ иметь многоязычное приложение? Должен ли я создать набор строк, написанных на моем языке, а затем использовать google api, который переводится онлайн "на лету"? Любой пример кода? И как получить язык пользователя и как передать эту информацию в api?

Ответ 1

Я бы не стал доверять трансляции ваших строк на лету; даже лучшие автоматические переводчики могут создавать неточные результаты. Кроме того, вы добавляете достаточную сложность, накладные расходы и зависимость (например, имея сетевое соединение), обрабатывая таким образом перевод.

Проблема наличия "многоканального приложения" (как вы его назвали) хорошо известна, и процесс ее решения называется интернационализацией и локализацией. В общем, когда вы работаете с каркасом или языком программирования, вы можете искать существующие пакеты/библиотеки, относящиеся к этой теме, - это почти то, что другие потратили значительное время на создание хорошего механизма (механизмов), чтобы облегчить это.

Android не является исключением; он был разработан с поддержкой локализации. Документация для разработчиков Android содержит всестороннее руководство по локализации, на которое вы должны обратить внимание. Вам все равно придется каким-то образом перевести текст, но для вас уже выложено много "основы" того, как вы можете обслуживать пользовательские сообщения для пользователя.

Одна последняя заметка - в документах Android также содержится учебник под названием "Hello, L10n", в котором рассказывается об основах создания локализованного приложения. Надеюсь, это поможет!

Ответ 2

Здесь могут быть две разные цели:

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

Первый вопрос хорошо поддержан и, как указывали другие, обсуждался в документах. Последнее не поддерживается (см. здесь и здесь и здесь).

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

Ответ 4

Вы можете создать свои строки в XML и вставить их в iL10Nz.

Чтобы избежать проблем с контекстом, полезно иметь скриншот для каждой строки, которую вы постепенно создаете. Это окупится языками, которые вы переведете в

Отметьте http://www.myl10n.net