[GH-ISSUE #188] Translation 🇧🇬 🇩🇪 🇺🇸 🇫🇷 🌎 😀 #148

Closed
opened 2026-05-07 00:20:34 +02:00 by BreizhHardware · 11 comments

Originally created by @StoyanDimitrov on GitHub (Mar 24, 2022).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/188

Allow for translation. The primary goal of this issue to have the Android app translated but better have the ability to translate everything.

My humble suggestion for translating platform would be Hosted Weblate to match the Open Source nature of the project. Weblate is a home for many well known open source projects like F-Droid, OsmAnd~, KOreader, DAVx5, Tasks.org, AndrOBD, Minetest, Orbot, and many, many others.

Aside from Weblate there are several other closed source platforms that sponsor open source projects. To name a few that I know of: Crowdin and Transifex.

Originally created by @StoyanDimitrov on GitHub (Mar 24, 2022). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/188 Allow for translation. The primary goal of this issue to have the Android app translated but better have the ability to translate everything. My humble suggestion for translating platform would be [Hosted Weblate](//hosted.weblate.org) to match the Open Source nature of the project. Weblate is a home for many well known open source projects like F-Droid, OsmAnd~, KOreader, DAVx5, Tasks.org, AndrOBD, Minetest, Orbot, and many, many others. Aside from Weblate there are several other closed source platforms that sponsor open source projects. To name a few that I know of: Crowdin and Transifex.
Author
Owner

@binwiederhier commented on GitHub (Mar 24, 2022):

Thanks for the ticket. I like the idea. The Android app should be easily translatable, since it's all in a strings.xml file. The web app would be a little harder, since I have to pull out the strings, and the CLI I don't think I'd want to translate. That's typically not done anyway, right?

<!-- gh-comment-id:1077945310 --> @binwiederhier commented on GitHub (Mar 24, 2022): Thanks for the ticket. I like the idea. The Android app should be easily translatable, since it's all in a strings.xml file. The web app would be a little harder, since I have to pull out the strings, and the CLI I don't think I'd want to translate. That's typically not done anyway, right?
Author
Owner

@StoyanDimitrov commented on GitHub (Mar 24, 2022):

Great to hear that!

That's typically not done anyway, right?

I'd say it's totally up to you. Whole Linux distros are translated, CLI included, but let's focus on the low-hanging fruit for now. Like you said the Android app seems like a good start.

Did you decided on a translation service?

<!-- gh-comment-id:1078346815 --> @StoyanDimitrov commented on GitHub (Mar 24, 2022): Great to hear that! > That's typically not done anyway, right? I'd say it's totally up to you. Whole Linux distros are translated, CLI included, but let's focus on the low-hanging fruit for now. Like you said the Android app seems like a good start. Did you decided on a translation service?
Author
Owner

@binwiederhier commented on GitHub (Mar 25, 2022):

I registered at https://hosted.weblate.org/ but couldn't add a project. Says I don't have permission. Are you sure I can just add my project there, and that I don't have to self-host this tool?

<!-- gh-comment-id:1079254134 --> @binwiederhier commented on GitHub (Mar 25, 2022): I registered at https://hosted.weblate.org/ but couldn't add a project. Says I don't have permission. Are you sure I can just add my project there, and that I don't have to self-host this tool?
Author
Owner

@StoyanDimitrov commented on GitHub (Mar 25, 2022):

I'm sure you can add project at hosted.wablate.org. You may see the docs. Although I'm not aware of the new profile limitations if any. I'll ask the support and get back to you.

<!-- gh-comment-id:1079281992 --> @StoyanDimitrov commented on GitHub (Mar 25, 2022): I'm sure you can add project at hosted.wablate.org. You may see the [docs](https://docs.weblate.org/en/latest/admin/projects.html#adding-translation-projects-and-components). Although I'm not aware of the new profile limitations if any. I'll ask the support and get back to you.
Author
Owner

@binwiederhier commented on GitHub (Mar 25, 2022):

I think I found it. Sorry. It requested a "libre" project now. It'll be reviewed I think. Now I have to figure out how it works.

<!-- gh-comment-id:1079286064 --> @binwiederhier commented on GitHub (Mar 25, 2022): I think I found it. Sorry. It requested a "libre" project now. It'll be reviewed I think. Now I have to figure out how it works.
Author
Owner

@StoyanDimitrov commented on GitHub (Mar 25, 2022):

Ah, good to know. The process is a little bit cryptic I must admit.

<!-- gh-comment-id:1079291539 --> @StoyanDimitrov commented on GitHub (Mar 25, 2022): Ah, good to know. The process is a little bit cryptic I must admit.
Author
Owner

@binwiederhier commented on GitHub (Mar 25, 2022):

Still working through it. I set up a project https://hosted.weblate.org/projects/ntfy/, added the Android app as a component and started translating a few strings to test. I have no idea how they are going to get back into the app or the repo. Still looking 👀

<!-- gh-comment-id:1079485787 --> @binwiederhier commented on GitHub (Mar 25, 2022): Still working through it. I set up a project https://hosted.weblate.org/projects/ntfy/, added the Android app as a component and started translating a few strings to test. I have no idea how they are going to get back into the app or the repo. Still looking :eyes:
Author
Owner

@binwiederhier commented on GitHub (Mar 25, 2022):

Okay. That was exceptionally easy. I suppose now I have to grant users access to translate stuff? And write some docs on how to get started?

I also have questions around what happens when I fundamentally change a string or the meaning of it. Is it best to make a new string and remove the old? I guess I'll find that out as I go along.

<!-- gh-comment-id:1079495302 --> @binwiederhier commented on GitHub (Mar 25, 2022): Okay. That was exceptionally easy. I suppose now I have to grant users access to translate stuff? And write some docs on how to get started? I also have questions around what happens when I fundamentally change a string or the meaning of it. Is it best to make a new string and remove the old? I guess I'll find that out as I go along.
Author
Owner

@binwiederhier commented on GitHub (Mar 25, 2022):

I didn't set up auto-push because that scares me a little. I'd love to just have regular pull requests (maybe every 3 days or so) automatically by weblate, but I'm not sure if that's possible.

<!-- gh-comment-id:1079495611 --> @binwiederhier commented on GitHub (Mar 25, 2022): I didn't set up auto-push because that scares me a little. I'd love to just have regular pull requests (maybe every 3 days or so) automatically by weblate, but I'm not sure if that's possible.
Author
Owner

@binwiederhier commented on GitHub (Mar 25, 2022):

I added it to the README.md which I think should be enough for now. And it looks like it's pretty easy to add languages.

If the English phrases are weird or there is obviously not enough space for phrases in your language, please let me know I can obviously change the app to make more room.

I'll close this ticket for now and create one for the React app, which I have to put much more work in first.

Thank you for your contribution!!!

<!-- gh-comment-id:1079502867 --> @binwiederhier commented on GitHub (Mar 25, 2022): I added it to the README.md which I think should be enough for now. And it looks like it's pretty easy to add languages. If the English phrases are weird or there is obviously not enough space for phrases in your language, please let me know I can obviously change the app to make more room. I'll close this ticket for now and create one for the React app, which I have to put much more work in first. Thank you for your contribution!!!
Author
Owner

@binwiederhier commented on GitHub (Mar 25, 2022):

I almost forgot, we can also directly chat in Discord if you like: https://discord.com/invite/cT7ECsZj9w

<!-- gh-comment-id:1079503366 --> @binwiederhier commented on GitHub (Mar 25, 2022): I almost forgot, we can also directly chat in Discord if you like: https://discord.com/invite/cT7ECsZj9w
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#148
No description provided.