DankMaterialShell icon indicating copy to clipboard operation
DankMaterialShell copied to clipboard

Multi-language / Localization / Translations

Open kamikaze211 opened this issue 3 months ago • 31 comments

Contributing Translations

If you'd like to contribute to localization, you can request access via POEditor

and include the email of the poeditor account, then I can add you.

If the language you want to translate does not exist, comment on this issue so it can be added.

Original Request

Feature Description

I'm a translator, and I have used linux for some years, I had translated some open source project, and I want to help with the translation, if you can add the multi-language support for DMS.

Use Case

For that people don't use English for his/her main language.

Compositor

Is this feature specific to one compositor?

  • [ ] All compositors

Proposed Solution

I'm not sure if this need the upstream ( quickshell ) support.

Alternatives/Existing Solutions

I had searched for some keywords, seems have no idea about this.

kamikaze211 avatar Oct 05 '25 18:10 kamikaze211

I think we just need to wrap all user facing strings with qsTr() and we can generate localization files to translate.

bbedward avatar Oct 05 '25 18:10 bbedward

I setup the initial structure for this, but probably have some terms in the index that shouldnt be translated.

What I do, or what I've done in the past is use poeditor

Localization is really freaking annoying to get right, because of length considerations and context considerations - I'm not interested in spending that much time on all of that.

Anyway - I made the project public which I think, gives anyone the ability to request access to contribute or add a language:

https://poeditor.com/join/project/kyeCPTpmJM

Once we have more than 1 language, i'll have to take the step to parse it from poeditor and use it.

bbedward avatar Oct 06 '25 20:10 bbedward

@bbedward Looks like no languages have been added in POEditor yet, it said There are no languages to translate in this localization project. For more information, consider getting in touch with those in charge of managing the project.

Moraxyc avatar Oct 08 '25 15:10 Moraxyc

You'll have to tell me which languages you want to contribute to and I'll add them.

bbedward avatar Oct 08 '25 15:10 bbedward

You'll have to tell me which languages you want to contribute to and I'll add them.

Oh, that’s great! I’d be happy to help with translating it into Chinese (zh_CN).

Moraxyc avatar Oct 08 '25 15:10 Moraxyc

You'll have to tell me which languages you want to contribute to and I'll add them.

Sorry for late responsing. My main language is Chinese (Simplified), and my 2nd language is Japanese, so may you add these languages that I can try to translate?

kamikaze211 avatar Oct 08 '25 15:10 kamikaze211

I added chinese and japanese, I think you can put a request to contribute to them. (I'm not exactly sure, been a long time since I used poeditor)

Like I said some of the terms may be irrelevant, I did a blanket-sweep to wrap them so might have picked up irrelevant things.

bbedward avatar Oct 08 '25 15:10 bbedward

You'll have to tell me which languages you want to contribute to and I'll add them.

Oh, that’s great! I’d be happy to help with translating it into Chinese (zh_CN).

Glad that you can help with the Chinese language translation, so I will translate the Japanese language.

kamikaze211 avatar Oct 08 '25 15:10 kamikaze211

I just hijacked this issue and pinned it as a meta-translation one for anyone who wants to contribute languages.

(the code doesnt support actually using the translations yet, but I'll add it once we get a language done) I'll just have to pull them down from poeditor and push them

bbedward avatar Oct 08 '25 15:10 bbedward

I just hijacked this issue and pinned it as a meta-translation one for anyone who wants to contribute languages. (the code doesnt support actually using the translations yet, but I'll add it once we get a language done) I'll just have to pull them down from poeditor and push them

Good job, I'm translating the Japanese language right now. If the Chinese translation need more help, I think I will be glad to help.

kamikaze211 avatar Oct 08 '25 15:10 kamikaze211

Good job, I'm translating the Japanese language right now. If the Chinese translation need more help, I think I will be glad to help.

I'm also working on zh now. Please give me about two days to finish my part. If you complete your part before that, I'd really appreciate it if you could help me with mine! Sorry, I don't know Japanese, so I won't be able to help on that side.

Moraxyc avatar Oct 08 '25 15:10 Moraxyc

Good job, I'm translating the Japanese language right now. If the Chinese translation need more help, I think I will be glad to help.干得好,我现在正在翻译日语。如果中文翻译需要更多帮助,我想我会很乐意提供帮助。

I'm also working on zh now. Please give me about two days to finish my part. If you complete your part before that, I'd really appreciate it if you could help me with mine! Sorry, I don't know Japanese, so I won't be able to help on that side.我现在也在研究 zh。请给我大约两天的时间来完成我的角色。如果你在此之前完成你的部分,如果你能帮助我完成我的部分,我将不胜感激!抱歉,我不懂日语,所以那边帮不上忙。

OK, you're welcome. If you need help, I will do my best. Good luck.

kamikaze211 avatar Oct 08 '25 16:10 kamikaze211

I added chinese and japanese, I think you can put a request to contribute to them. (I'm not exactly sure, been a long time since I used poeditor)我添加了中文和日语,我想你可以提出请求为它们做出贡献。(我不太确定,我已经很久没有使用 poeditor)

Like I said some of the terms may be irrelevant, I did a blanket-sweep to wrap them so might have picked up irrelevant things.就像我说的,有些术语可能无关紧要,我用毯子扫了一下来包裹它们,所以可能会捡到不相关的东西。

Report: I used AI for the initial translation, then reviewed and polished it. The Japanese translation is now complete.

kamikaze211 avatar Oct 08 '25 16:10 kamikaze211

I realized that - I had some flaws with my extraction - and as expected a bunch of missing terms. I will probably have to wipe all of the terms from poedtior and re-add (but I did backup the translations - so don't worry when they briefly show 0% translated for ja and CN - i have to re-import)

bbedward avatar Oct 08 '25 20:10 bbedward

Added japanese and the system to load them: ed1a5bfded70d3a26047521e5c42427023be9ba7

I ended up dropping context, because theres just too many terms to retro-actively add it to in any meaningful way. (My initial way of setting it was flawed, then trying to re-import all theh terms with better contexts would have been too much).

I also added a bunch of missing terms that didnt get caught in the first sweep. I think AI translations are fine really, probably a sensible way to start - then just update them as you use the shell and see that they are out of place.

bbedward avatar Oct 08 '25 20:10 bbedward

@bbedward

I've completed the translation to zh_Hans. However, I find that some strings are not wrapped with I18n.tr(), like descriptions here https://github.com/AvengeMedia/DankMaterialShell/blob/c12eafa1db33d611e930bb516939fbf1665a8f3f/Common/Theme.qml#L145-L152. Once you finish wrapping those parts and upload them to POEditor, I’ll continue working on the translations. (Maybe an automated upload and download action would be a good idea?)

I’ve tried to make it as accurate and natural as possible, but since I’m not a professional translator, there might still be some areas for improvement. I’ll continue refining them over time.

Created PR #360 to add zh translation.

Moraxyc avatar Oct 09 '25 09:10 Moraxyc

Added japanese and the system to load them: ed1a5bf

I ended up dropping context, because theres just too many terms to retro-actively add it to in any meaningful way. (My initial way of setting it was flawed, then trying to re-import all theh terms with better contexts would have been too much).

I also added a bunch of missing terms that didnt get caught in the first sweep. I think AI translations are fine really, probably a sensible way to start - then just update them as you use the shell and see that they are out of place.

Had completed the new added terms. The completation should be 100% now.

kamikaze211 avatar Oct 09 '25 11:10 kamikaze211

@bbedward

Had completed the Chinese Simplified and Japanese translation of the new added terms: f4cf66d

kamikaze211 avatar Oct 11 '25 20:10 kamikaze211

Had completed the Chinese Simplified and Japanese translation of the new added terms: https://github.com/AvengeMedia/DankMaterialShell/commit/309b8d9efec16b94d41dc0e9ea093df5e36961fe

kamikaze211 avatar Oct 14 '25 23:10 kamikaze211

I automated the workflow for this, so whenever a push to master is made - it will sync the translations if necessary (for ja and zh-Hans, because those are the only two 100% languages). (So no need to manually notify me of updates now)

bbedward avatar Oct 15 '25 16:10 bbedward

I would like to add the Turkish language

TaylanTatli avatar Oct 17 '25 18:10 TaylanTatli

I would like to add the Turkish language

I added turkish to the languages, you can request to be a contributor via the link

bbedward avatar Oct 20 '25 13:10 bbedward

I would like to add the Turkish language

I added turkish to the languages, you can request to be a contributor via the link

I can't: "This project can't accept new contributors at this time. Please try again later."

TaylanTatli avatar Oct 20 '25 14:10 TaylanTatli

I would like to add the Turkish language

I added turkish to the languages, you can request to be a contributor via the link

I can't: "This project can't accept new contributors at this time. Please try again later."

Seems that need to be accepted. So just wait for a while.

kamikaze211 avatar Oct 20 '25 14:10 kamikaze211

I feel as if it's a poeditor problem, maybe temporary idk. If you can send me your account email I can manually add - or I'd say try again later.

bbedward avatar Oct 20 '25 14:10 bbedward

Issue is still present, just tried to join the German translation but it does not work.

neoscaler avatar Oct 21 '25 06:10 neoscaler

Hi, I really liked DMS when I tried it, and since it wasn't available in Italian, I followed the instructions in the "workflow" file in the translations folder and finished the Italian translation on PoEditor. I just saw this post and saw that in order to contribute, I need to be accepted onto your project. Is there a way to send the json file without having to redo all the work?

undermod avatar Oct 26 '25 22:10 undermod

It can be imported into poeditor, re-send your join request and I'll approve it

bbedward avatar Oct 27 '25 00:10 bbedward

Hi, I would like to translate DMS in French but the poeditor project still refuse new contributors, how I can join ?

DoggoNako avatar Nov 30 '25 18:11 DoggoNako

Hi, I would like to translate DMS in French but the poeditor project still refuse new contributors, how I can join ?

I have to contact them, they keep disabling features even though it has an open source exemption.

bbedward avatar Nov 30 '25 18:11 bbedward