Intereting Posts
Gradle Execution failed for task ': app: dexDebug' с новым проектом Android Studio Фоновые изображения перескакивают, когда адресная строка скрывает iOS / Android / мобильный Chrome Показать ImageView программно Как увеличить тайм-аут для запросов на модернизацию в роботизированном андроиде? Как реализовать салфетку между Фрагментами? Можно ли прослушивать штрихи на физической кнопке Android назад? Автоматический прокрутка до горизонтальногоScrollView FCM (Firebase Cloud Messaging), как отправить на все телефоны? Как добавить динамический переключатель в соответствии с заданным количеством отсчетов? Перечисление байтового размера в Java Насколько хорошо поддерживается чувствительность к давлению на устройствах Android? На каких телефонах Android есть гироскоп? Как отключить элемент в Spinner Как я могу скомпилировать Dalvik для локального запуска Linux? Установить полный экран на страницеСтать

Android strings.xml Лучшие практики?

Я задаю себе пару вопросов, и им интересно, есть ли какие-то лучшие практики.

  1. Как назвать строку? Это всегда заканчивается хаосом для меня.
  2. Как синхронизировать переводы? Есть ли совместные онлайн-инструменты, которые вы можете порекомендовать?
  3. Как заказать строку в файле strings.xml ? По алфавиту? Сгруппированы по активности? …?
  4. Как насчет повторного использования строк? Вы бы рекомендовали использовать несколько несколько разных строк или одну строку, которая каким-то образом подходит для разных контекстов?

Solutions Collecting From Web of "Android strings.xml Лучшие практики?"

Я все еще новичок в этом, поэтому я искал примерный проект. Astrid является открытым исходным кодом на Github, и, просматривая каталог проектов res, вы открыли глаза для новичка, подобного мне.

Хорошая вещь. Взглянуть:

https://github.com/todoroo/astrid/tree/master/astrid/res/values

Хороший вопрос. Я тоже борюсь с этим. Моя схема именования:

1) Элементы пользовательского интерфейса: Если строка соответствует только ui i, ее следует соответствующим элементу управления и цели, а также в какой части элемента управления он используется. пример:

 button_helpText; control : button, purpose: help, context: Text; 

2) Общие элементы. Если в пользовательском интерфейсе используется строка, но я хочу использовать ее в другом контексте, я просто оставляю префикс и добавляю постфикс для описания цели / контекста.

 helpMessageHeading; purpose: help; context: a Message (abstract, could be a dialog), context_of_dialog: Heading; (the heading of a help dialog) helpMessageText; purpose: help, context: a Message (abstract, could be a dialog), context_of_dialog: Text; (the text inside a help dialog) helpExplanation; purpose: help; context_of_help: Explanation (just a explanation of the help topic) 

3) Заказ: Я заказываю эти строки в основном на основе их контекста, поскольку это то, что вы обычно ищете.

 <!-- buttons --> ... <!-- dialogs --> ... <!-- general --> ... <!-- explanations --> ... 

и так далее. Поэтому мой список обычно разделяется элементами управления пользовательского интерфейса и, если строка не привязана к нему, его общий точный контекст. Почему я использую точный контекст? Когда вы ищете строку для описания того, что вы делаете, самая уникальная идея об этой строке – ее точный контекст, так что то, что должно всплывать первым. Но когда вы используете автозаполнение, вы обычно ищете общее описание. Я думаю, что эта структура – прекрасное решение.

Я очень заинтересован в других ответах.

Лучшее место для проверки соглашений, скорее всего, будет в пределах образцов Android SDK. Вот как вы можете их найти – http://developer.android.com/tools/samples/index.html

Как синхронизировать переводы? Есть ли совместные онлайн-инструменты, которые вы можете порекомендовать?

Для меня лучшим инструментом является http://www.translatekarate.com

Он бесплатный и совместный.

Как синхронизировать переводы? Есть ли совместные онлайн-инструменты, которые вы можете порекомендовать?

В настоящий момент я использую этот инструмент для совместной работы http://www.getlocalization.com/, который делает жизнь намного проще и свободен, если не использует никаких профи.

Тогда есть также http://crowdin.net/, что немного лучше, на мой взгляд, becuse ist предлагает переводы с помощью google и bing, но стоит 9 $ в самом дешевом варианте.

Как заказать строку в файле strings.xml? По алфавиту? Сгруппированы по активности? …?

До сих пор я не заказывал их, потому что я в основном не редактировал свой xml вручную. Существует плагин, который упрощает обработку нескольких переводов в eclipse: редактор локализации Sequoyah

Как синхронизировать переводы? Есть ли совместные онлайн-инструменты, которые вы можете порекомендовать?

Я использую инструмент управления проектами https://poeditor.com для перевода файлов XML и синхронизации их.