Hi Stefan,
Not sure if this made it to your inbox
https://mail.mozilla.org/pipermail/mobile-firefox-dev/2016-March/001901.html

Do we also want to group related strings as much as possible in separate string tables? Does that make sense or is it good enough to have a hierarchy in the key name?

For example the Login Manager feature has all its strings in a "LoginManager' table. If we instead had keys like "loginmanager.password" and "loginmanager.username", would that be enough structure?

I'm thinking of the scenario where we may want to find out if a specific feature is localized for all locales. To decide if we can ship / enable it.
Can we do that with the current tables? I assume you could create a script to parse all files and check, but it wouldn't be much different than checking a set of string IDs.

On Transvision I'm creating my own string IDs with the file+hash (crc32) of the current string ID, since I can't use the actual string ID.

If we move to real string identifiers Android-style, I could change that and you could quickly query a bunch of strings via scripts and verify coverage
https://transvision.mozfr.org/api/v1/entity/firefox_ios/?id=firefox_ios/Client/ClearPrivateData.strings:3d8e1b5f

Compared to a string on Android
https://transvision.mozfr.org/api/v1/entity/aurora/?id=mobile/android/base/android_strings.dtd:pref_cookies_menu

Unfortunately that switch can happen when we only have string identifiers, not on a mixed file. In the meantime you could still recreate the fake string IDs in the query script.

Why is that? Why can't the localization tools deal with that? Shouldn't they notice if the Source string changes in the XLIFF?
No. Tools will notice and hopefully invalidate the existing localization, but that doesn't guarantee that you're not shipping an obsolete string.

Example:
setting.privateData.confirmMessage = "Delete all cookies"

Changes later to:
setting.privateData.confirmMessage = "Delete all cookies and saved passwords"

How do you know which translation you're shipping? The old or the new one? Changing string ID makes sure you're either shipping the new one, or none.

Francesco
_______________________________________________
mobile-firefox-dev mailing list
mobile-firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to