Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a centralized way to localize strings #6

Open
lorenzoPrimi opened this issue Feb 21, 2023 · 13 comments
Open

Use a centralized way to localize strings #6

lorenzoPrimi opened this issue Feb 21, 2023 · 13 comments

Comments

@lorenzoPrimi
Copy link
Contributor

When I saw the issue: Change "Verify" button to "Verify or Report" to match android
I thought would be more efficient to use one platform to keep all the strings in sync between iOS and Android.
I used https://localise.biz/ in the past with success, feel free to suggest other ones, I can help seeing everything up.

@dadofsambonzuki
Copy link
Member

Good idea. We are also looking to internationalise at some point.

@CoachThys
Copy link

I've just tested localise.biz and it looks good.

I can start implementing strings/translations locally on iOS until we're ok to build a shared strings account on localise.biz

@dadofsambonzuki
Copy link
Member

@bubelov @secondl1ght - Thoughts?

@bubelov
Copy link

bubelov commented May 31, 2023

I don't really like the idea of adding a third-party dependency. I used a third party service in News and it was horrible. It required some obscure IDE plugin and it wasn't able to do a proper two-way sync and it wasn't aware of many Android internationalization caveats, requiring a lot of manual work, so I ended up dropping it. Some users loved it though.

It's totally fine by me if you go this route, I can manually fetch some translations from you from time to time =)

@lorenzoPrimi
Copy link
Contributor Author

Using localize.bit it's not really a dependency, it's an external service disconnected from the app.
You upload there your iOS and Android string file and use the service itself to be sure that every string as a translation and you don't use different key, then use the dashboard to download the updated json or xml files for the respective apps.

@dadofsambonzuki
Copy link
Member

dadofsambonzuki commented May 31, 2023 via email

@lorenzoPrimi
Copy link
Contributor Author

I don't know if it has an option to invite guests to add translations, can you check it?
In alternative, there is https://www.transifex.com/ that I used in my old project (https://github.com/ooni/probe-ios) where we could invite translators from all over the world to the project, but it's a paid service.

@salvatoto
Copy link
Collaborator

Using localize.bit it's not really a dependency, it's an external service disconnected from the app. You upload there your iOS and Android string file and use the service itself to be sure that every string as a translation and you don't use different key, then use the dashboard to download the updated json or xml files for the respective apps.

Sounds good to me

@secondl1ght
Copy link
Member

I don't have a strong opinion on how you guys handle iOS / Android but I have heard of this one before as another alternative: https://weblate.org/en/ It's FOSS so better aligns with the project and you can also self-host. I don't think all strings need to match between iOS / Android really since they are separate apps and aren't developed in sync. Also I think how @bubelov is currently handling translations has been working well and is easy enough for outside contributors to make changes from what I have heard.

@lorenzoPrimi
Copy link
Contributor Author

@secondl1ght I like that! Do we have a place to self-host it?

@secondl1ght
Copy link
Member

@secondl1ght I like that! Do we have a place to self-host it?

Yes that would be @bubelov's speciality. :)

@bubelov
Copy link

bubelov commented Jun 1, 2023

then use the dashboard to download the updated json or xml files for the respective apps

That's the problem, since those tools lack nuances and they tend to generate a lot of garbage, losing control over that is not an option on Android. It would also conflict with all direct translations submitted via PRs, so we'll be forcing our users to sign up to some third-party service or we'll need to do painful two-way sync on a regular basis (adding direct PRs to a trird party service, and vice versa). As I said, Android app won't use it, but I can steal some translations from time to time =)

@Berserk-21
Copy link
Contributor

Alright let's go for a local one then, wondering if chatGPT is enough reliable for app translations I'll give it a try

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants