Here is our localization workflow:
- Building material in the interface builder
- Exporting a project for localization
- Translator scans xliff files and applies translations for new lines (Only new untranslated lines)
- Import xliff to project
This is great for creating new material. But if the developer changes the text in the label in the storyboard that has already been translated, he will have to remember to delete the translation for this label, so the translator sees this line as untranslated. If the developer forgot to delete this translation, the translation will be incorrect, which is very difficult to find.
When the code is localized as follows:
var testString = NSLocalizedString("Some text in english", comment: "just a test string")
Line ( "Some text in english") defines the key in the xliff file, which means that if the line is changed, then the exported xliff file will automatically have a new line that needs to be translated.
I tried to solve the problem using the xcode function "export for localization ...", with genstringsand with BartyCrounch , but all methods seem to use the UI element Object IDas the key for the .strings files. This means that it will not respond to changes in the real string.
The only solution I have found so far is to install every line that needs to be translated into storyboards in the code through IBOutlet, but this is a fairly comprehensive solution.
Do you know any tools or methods that solve this problem?