git, интернационализация и строковые файлы iOS

Интересно, смогут ли люди поделиться своим процессом с интернационализацией и git. Я работаю с командой интернационализации, которая просто хочет различать каждый раз, когда мы отправляем наши файлы .strings. Вот что я думал в терминах процесса:

  1. Запустите genstrings на базе кода, чтобы извлечь все NSLocalizedStrings. Это создаст файл .strings.
  2. Diff этот файл .strings против предыдущей ревизии того же файла. Эта предыдущая редакция отображает последний раз, когда мы отправили файлы .strings в нашу команду интернационализации. Таким образом, diff должен содержать все изменения String в проекте с момента последнего удаления файла .strings.
  3. Теперь у меня есть файл diff. Используйте скрипты, чтобы изменить этот файл diff, чтобы ТОЛЬКО включать дополнения и модификации. Результатом этого скрипта будет файл .strings. Это файл .strings, который требуется нашей команде интернационализации.
  4. После завершения процесса интернационализации у меня осталось n экземпляров этого файла .strings (по одному для каждого языка). Теперь мне нужно интегрировать каждый из этих файлов .strings обратно в проект.
  5. Для каждого языка, поддерживаемого мной приложением, возьмите ключ и выполните поиск исходного файла .strings для того же ключа. Если ключ существует в исходном файле .strings, замените значение в исходном файле .strings значением из файла diff. Если ключ не существует в исходном файле .strings, добавьте новую пару ключ / значение в конец исходного файла .strings.

Числа три и пять выше требуют некоторых сценариев, что приводит меня к моему вопросу.

Для третьего числа, 'git diff' достаточно конфигурируется для создания файла .diff, который ТОЛЬКО включает дополнения или модификации? Кто-нибудь знает, что команда будет выглядеть ТОЛЬКО, включая дополнения или модификации? Если «git diff» недостаточно гибкий, чтобы создать нужный мне вывод, кто-нибудь знает о некоторых сценариях, которые создавали бы желаемый результат.

Для пятого номера кто-нибудь знает о некоторых сценариях, которые уже позаботились об этом?

Если кто-то может предложить лучший способ обработки процесса интернационализации для приложений iOS, я все уши.

Благодаря,

Шон

Solutions Collecting From Web of "git, интернационализация и строковые файлы iOS"

Если вы загружаете свое оригинальное репо, в том числе ваши английские строковые файлы, то тот, кто локализуется, может разветвить проект, настроить строки, зафиксировать их вилку и открыть запрос на растяжение. Вы втягиваете свои изменения и объединяетесь с вашими исходными файлами. Git / GitHub делает все это неприятное слияние для вас.

Если строки взяты из XIB, то вы можете снова использовать GENStrings, чтобы интегрировать новые объединенные строковые файлы в вашем репо с вашими XIB.

Роб из Applingua (агентство локализации приложений, которое работает с Git!)