Какова цель использования переводимых строк Android? - PullRequest
19 голосов
/ 13 октября 2010

Что означает атрибут translatable, например translatable="false"?

Ответы [ 4 ]

27 голосов
/ 03 декабря 2012

Этот атрибут указывает, что этот атрибут будет одинаковым для всех локалей.Почему это полезно?

  1. Файлы локализации более читабельны для человека и экономят время.
  2. Он сообщает инструменту Lint, что все в порядке и что Android не нужно искатьперевод ресурсакомпилятор, что это уникально для всех локалей, указав этот атрибут.

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

15 голосов
/ 03 декабря 2012

Если вы поддерживаете несколько языков, и есть некоторые строки, которые не следует переводить (что означает одинаковые для всех языков), тогда вы можете использовать transurable = "false"

Например: номера <string name="account_setup_imap" translatable="false">IMAP</string>

Подробное описание

0 голосов
/ 20 декабря 2011

Я никогда не слышал об этом атрибуте, но, по-видимому (сейчас) есть причина его использования: см. этот пост из группы Google ADT-Dev.

Кстати, я только что попробовал, и это исправляет ошибки Android Lint.

0 голосов
/ 13 октября 2010

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

Если у вас есть приложение для Android, которое вы хотите интернационализировать, распространенная тактика - просто отправить файл strings.xml переводчикам.Так что этот атрибут будет для них просто флагом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...