Open freenerd opened 8 years ago
The iD project manages its localizations in Transifex. The iD project has a script that pulls in the localizations from Transifex. Transifex handles falling back to the original English string when a translation is missing, perhaps with logic for falling back to related languages; not sure. (There’s a special case for one localization to only pull in proofread translations.)
When the structure of a localizable file changes, all the affected messages get marked for retranslation, but Transifex maintains translation memory, so the translator can usually restore each message in one click. When iD releases, it releases, even if some localizations are incomplete. It would also be reasonable to establish a threshold where localizations that have less than (say) 50% coverage or are missing critical messages are automatically omitted from the built library.
/cc @bhousel
@1ec5 this seems like a great idea.
We will soon run into problems with translations getting out of sync with expected formats, since we can't get the translation in fast enough. Candidates for such change are https://github.com/Project-OSRM/osrm-text-instructions/issues/41 and https://github.com/Project-OSRM/osrm-text-instructions/issues/61.
Our gold standard is the english translation, all others follow. Just now, I think don't want to commit to guarantees regarding translations. We should do that eventually (e.g. every major release will include consistent translations).
For now we should establish fallbacks what happens when a translation is not available. I see two options:
turn
insteadI guess option 2. might involve some tricky edge case handling around detecting that a translation is not there. It may also result in bad guidance. Option 1. on the other hand will certainly alienate some users. On the other hand, we can check for this case very easily during running tests and detect when a feature is missing. So I'm leaning towards option 1.
Opinions?