2012-06-05 3 views
2

У меня есть папка res/values, содержащая файл strings.xml и папку res/values-XX, содержащую файл strings.xml (для каждого из языков XX я поддерживаю). На данный момент все мои файлы strings.xml содержат одни и те же строки (одни и те же имена строк, разные строковые значения). Есть ли способ добавить строку в файл res/values/strings.xml, не добавляя его ко всем моим файлам res/values-XX/strings.xml и таким образом, что приложение будет выбирать эту строку по умолчанию, независимо от языка языка? В настоящий момент компилятор прерывает и жалуется, что строка не была переведена для каждого из моих поддерживаемых языков.Как добавить строку только в папку значений по умолчанию?

ответ

12

«Компилятор» не будет «отменен», потому что у вас нетранслированная строка. Вы можете получить ошибки lint, но ant clean debug, ant clean release, и их эквиваленты Eclipse работают нормально. Убедитесь, что вы используете текущую версию инструментов SDK (и плагин ADT, если вы используете Eclipse).

Чтобы избавиться от ошибок линта, имеет свой <resources> элемент, где появляется непереведенная строка выглядит следующим образом:

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> 
+0

Пятно на. Именно то, что я искал. Большое спасибо: –

0

res папка содержит данные, которые только для чтения. Для получения дополнительной информации обратитесь к Документу разработчиков Android для Providing Resources и Accessing Resources.

+0

Это не отвечает на мой вопрос. Я не хотел добавлять строки во время выполнения. Извиняюсь за двусмысленность в моем вопросе. См. Ответ CommonsWare. –

0

Lint ошибки и предупреждения не позволяют компилятору компилировать, но вы всегда можете их очистить и скомпилировать. Вы также можете указать Lint, чтобы игнорировать все недостающие переводы.

Вы можете использовать LINT ПРЕдуПРЕждЕНИя вид проинструктировать Lint игнорировать определенные ошибки или предупреждения в определенных областях (конкретные строки, файлы или весь проект). Все эти инструкции будут автоматически помещены в lint.xml в ваш проект.

Android рекомендует размещать непереводимые строки в файле donottranslate.xml. Lint будет всегда игнорировать, что для этого нет переводов.

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

Помните, что вы не только один файл strings.xml. Это стандартная новичка, но если у вас есть лот строк, вы можете организовать их в несколько XML-файлов.

 Смежные вопросы

  • Нет связанных вопросов^_^