Каков наилучший способ иметь многоязычное приложение? Должен ли я создать набор строк, написанных на моем языке, а затем использовать google api, который переводится онлайн "на лету"? Любой пример кода? И как получить язык пользователя и как передать эту информацию в api?
Многоязычное приложение: лучший способ?
Ответ 1
Я бы не стал доверять трансляции ваших строк на лету; даже лучшие автоматические переводчики могут создавать неточные результаты. Кроме того, вы добавляете достаточную сложность, накладные расходы и зависимость (например, имея сетевое соединение), обрабатывая таким образом перевод.
Проблема наличия "многоканального приложения" (как вы его назвали) хорошо известна, и процесс ее решения называется интернационализацией и локализацией. В общем, когда вы работаете с каркасом или языком программирования, вы можете искать существующие пакеты/библиотеки, относящиеся к этой теме, - это почти то, что другие потратили значительное время на создание хорошего механизма (механизмов), чтобы облегчить это.
Android не является исключением; он был разработан с поддержкой локализации. Документация для разработчиков Android содержит всестороннее руководство по локализации, на которое вы должны обратить внимание. Вам все равно придется каким-то образом перевести текст, но для вас уже выложено много "основы" того, как вы можете обслуживать пользовательские сообщения для пользователя.
Одна последняя заметка - в документах Android также содержится учебник под названием "Hello, L10n", в котором рассказывается об основах создания локализованного приложения. Надеюсь, это поможет!
Ответ 2
Здесь могут быть две разные цели:
- приложение, которое может работать на разных платформах Android, каждый из которых настроен на язык с другим языком.
- приложение, работающее на одной платформе, которое позволяет пользователю выбирать другой язык в приложении без изменения языковой платформы платформы
Первый вопрос хорошо поддержан и, как указывали другие, обсуждался в документах. Последнее не поддерживается (см. здесь и здесь и здесь).
В зависимости от локали (ов), установленных на телефоне, поддержка нескольких языков в приложении может также возникать в проблемах шрифтов. Возможно, вам придется упаковать свои собственные шрифты с помощью приложения (см., Например, здесь). Даже тогда могут быть проблемы, если движок рендеринга шрифтов не поддерживает язык (было много жалоб на это для сложных скриптов, таких как арабский и тайский).
Ответ 3
Android разработан с учетом этой проблемы.
Проверьте официальную ссылку:
http://developer.android.com/guide/topics/resources/localization.html
Ответ 4
Вы можете создать свои строки в XML и вставить их в iL10Nz.
Чтобы избежать проблем с контекстом, полезно иметь скриншот для каждой строки, которую вы постепенно создаете. Это окупится языками, которые вы переведете в
Отметьте http://www.myl10n.net