You are right that this situation can occur when migrating a .stringsdict to a .xcstrings. Specifically, the migrator only populates substitution argument numbers when they were previously explicitly-specified in the specifier. For example, if the original .stringsdict format string contained %1$#@VARIABLE@ instead of %#@VARIABLE@, the argNum would have been automatically set upon migration. The migrator does this as a safeguard to ensure that the built .stringsdict behaves identically at runtime to the original .stringsdict with regard to implicit argument numbers (which have complex rules at runtime). The String Catalog Editor does indeed hide the argument number and format specifier columns from the variable inspector when they are missing in the file. As you mentioned, editing the JSON or re-creating the string (or deleting it and letting it be extracted again) can get you out of this conundrum. I see that you filed a Feedback report about this. Thank you! That will help us evaluate whether we sh
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: