Intereting Posts

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 и синхронизации их.