Я сделал собственный скрипт оболочки, который пытается выяснить необходимые значения. Затем вы можете использовать скрипт localize.py измененным способом (см. Ниже) для автоматического создания файлов перевода. (Разрыв строки где-то очень важен) Если нужно перевести больше сущностей, сценарий оболочки может быть изменен соответствующим образом
#!/bin/bash
rm -f $2
sed -n 'N;/<key>Title<\/key>/{N;/<string>.*<\/string>/{s/.*<string>\(.*\)<\/string>.*/\/* \1 *\/\
"\1" = "\1";\
/p;};}' $1 >> $2
sed -n 'N;/<key>FooterText<\/key>/{N;/<string>.*<\/string>/{s/.*<string>\(.*\)<\/string>.*/\/* \1 *\/\
\"\1" = "\1";\
/p;}
;}' $1 >> $2
sed -n 'N;/<key>Titles<\/key>/{N;/<array>/{:a
N;/<\/array>/!{
/<string>.*<\/string>/{s/.*<string>\(.*\)<\/string>.*/\/* \1 *\/\
\"\1" = "\1";\
/p;}
ba
;};};}' $1 >> $2
скрипт localize.py нуждался в некоторой модификации. Поэтому Я создал небольшой пакет , содержащий локализатор для исходного кода и файлов plist. Новый скрипт даже поддерживает Duplikates (то есть он их пинает)