Replies: 1 comment 4 replies
-
There is (a very short) section in the documentation covering one option: https://docs.weblate.org/en/latest/devel/mobile.html |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi folks,
in https://hosted.weblate.org/projects/tb-android/ we have Thunderbird for Android which is built using the typical setup for an Android app. We're now starting to work on Thunderbird for iOS and would like to use Weblate as well. I would appreciate your support in finding the right path to minimize the amount of duplicate work that translators would need to do. I'm asking here as I suspect the answer might be interesting to other projects as well.
We imagine that a high percentage of the strings would be shared between Thunderbird for Android and Thunderbird for iOS. However, we need to output them in two different strings formats, once as Android App Resources, and once as iOS Strings (UTF-8).
1) Use a glossary
It appears using a "Glossary" might work, though I'm not 100% sure it works as I think it does.
With my very brief understanding of the "Glossary", I could maybe turn for example onboarding-welcome module into a glossary, share it with the iOS project, then create a new component ios-onboarding-welcome.
It appears that since the terms already appear in the tb-android component, they also appear in top right glossary when someone is translating the ios-onboarding-welcome text. But they would still need to "copy" the translations from the glossary.
Following through with this, it looks like we'd need to make most components in tb-android a glossary, share them with a tb-ios project, and then create separate
ios-*
equivalent components that could feed from the glossary. Translators would still need touch every string twice, but they'd at least have the glossary to read from.2) Some unidentified way to export the same strings to two repositories
Maybe there is a feature I haven't found in Weblate where I can have a single component that has two different types of "repositories", so that for one repository I can make Android App Resources the output format, and for the other I can make iOS Strings the output format?
Maybe it would work with a "shared" component, where a separate iOS component would read strings from the "shared" component as a source? But then I'm not sure how to best get strings into the shared component.
3) A way that syncs strings externally and then uses shared components
It looks like I can share non-glossary components to translate between projects. If I make thunderbird-android the "authoritative" source for translations, I could:
Then for all iOS-specific strings I would have separate components in the tb-ios project, and for all Android-specific strings I would have components in tb-android that I don't share with the tb-ios project. Maybe using some naming schemes like
shared-onboarding-welcome
to indicate that the module is shared between iOS and Android.Which way would work best? Is there a fourth way that I am missing?
Beta Was this translation helpful? Give feedback.
All reactions