Storyboards localizados con Base.lproj

¿Cuál es la mejor manera de actualizar los files .strings de mi storyboard localizado cuando trabajo con iOS 6 y la nueva localización? Mi proyecto creó los files de cadenas muy bien cuando cambié al nuevo mecanismo Base.lproj, pero no actualiza los files .strings sobre la marcha.

¡Gracias!
-F

Agregue la secuencia de commands a continuación a "Generar fases" -> "Ejecutar secuencia de commands"

introduzca la descripción de la imagen aquí

#!/bin/sh # cls.sh - script to Create Locale Strings auto storyboardExt=".storyboard" stringsExt=".strings" newStringsExt=".strings.new" oldStringsExt=".strings.old" localeDirExt=".lproj" # Find storyboard file full path inside project folder for storyboardPath in `find ${SRCROOT} -name "*$storyboardExt" -print` do # Get Base strings file full path baseStringsPath=$(echo "$storyboardPath" | sed "s/$storyboardExt/$stringsExt/") # Create strings file only when storyboard file newer if find $storyboardPath -prune -newer $baseStringsPath -print | grep -q .; then # Get storyboard file name and folder storyboardFile=$(basename "$storyboardPath") storyboardDir=$(dirname "$storyboardPath") # Get New Base strings file full path and strings file name newBaseStringsPath=$(echo "$storyboardPath" | sed "s/$storyboardExt/$newStringsExt/") stringsFile=$(basename "$baseStringsPath") ibtool --export-strings-file $newBaseStringsPath $storyboardPath iconv -f UTF-16 -t UTF-8 $newBaseStringsPath > $baseStringsPath rm $newBaseStringsPath # Get all locale strings folder for localeStringsDir in `find ${SRCROOT} -name "*$localeDirExt" -print` do # Skip Base strings folder if [ $localeStringsDir != $storyboardDir ]; then localeStringsPath=$localeStringsDir/$stringsFile # Just copy base strings file on first time if [ ! -e $localeStringsPath ]; then cp $baseStringsPath $localeStringsPath else oldLocaleStringsPath=$(echo "$localeStringsPath" | sed "s/$stringsExt/$oldStringsExt/") cp $localeStringsPath $oldLocaleStringsPath # Merge baseStringsPath to localeStringsPath awk 'NR == FNR && /^\/\*/ {x=$0; getline; a[x]=$0; next} /^\/\*/ {x=$0; print; getline; $0=a[x]?a[x]:$0; printf $0"\n\n"}' $oldLocaleStringsPath $baseStringsPath > $localeStringsPath rm $oldLocaleStringsPath fi fi done else echo "$storyboardPath file not modified." fi done 

De la "Guía de internationalization y localización" de Apple, en la parte inferior de todo:

Dentro del directory Base.lproj del tipo de proyecto

 ibtool MainStoryboard.storyboard --generate-strings-file NewStuff.strings 

Luego, NewStuff.strings desde NewStuff.strings a sus files de Storyboard.strings y traduzca.

LINK EDITADO: https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/MaintaingYourOwnStringsFiles/MaintaingYourOwnStringsFiles.html#//apple_ref/doc/uid/10000171i-CH19-SW22