Tagging source language text with unique identifiersWhich "Hot" am I translating?
App source code contains the strings that get translated. The app displays those strings. One typically can match the source to display if, and only if, the strings are unique, which is most often not the case. Duplicate strings like "OK", "Yes", "No", "Cancel", "Hot", etc., often require separate translation depending upon the circumstance. In addition, strings composed of live data, such as: "Temperature is 90˚C", aren’t found in the source code. The source code will contain something like LocalizeString("Temperature is @1") where @1 would dynamically get replaced by "90˚C". This patent solves the problem of connecting source code strings to what gets displayed.
The source code is duplicated into a temporary directory and each translated string is pre- or post-pended with a tag of invisible Unicode characters. The app is compiled and run in the simulator to capture strings and screens. Although not visible because they are zero width characters, the code that captures the screens can read the Unicode characters in these tags. These characters are treated as numerical digits so that each string gets a unique “number” that ties it back to where it is in the source code.
This solves the problems of comprehensive duplicate support and support for string formatting placeholders.
US Patent Application Number 62409380