Hard work for translating - change the way blocks are translated
Ampaex opened this issue · 12 comments
Context
-Crowdin translation platform
Is your feature request related to a problem?
No.
Enhancement or Change description
Right now, each time a new type of block is inserted or updated a lot of tricky or confusing block or item names must be translated, even though they are almost the same. My proposal is: instead of translating the entire string for each block, split it into known and defined subtrings and then set the name of the block by aggregating them.
For example:
- Instead of translating: Plain Horizontal Spruce Blue Terracotta Timber Frame
- Translate: Plain Horizontal / Spruce / Blue Terracotta / Timber Frame
This way is easier to compose a new block:
- For example: Plain Horizontal / Birch / Blue Terracotta / Timber Frame without having to translate other words apart from "Birch"
I think that this is a feature that will decrease hugely the number of strings to translate, making easier and more attractive to translate the entire mod.
Viewers
- Add a thumbs-up to the change request to vote for it. This helps the request become more visible to the team and doesn't clutter the comments.
- Add a comment if you have any insights or background information that isn't already part of the conversation.
1.17+ moved to ldtteam/Domum-Ornamentum, not sure how hard is translating there but is should be easier: looks like only this need to be translated https://github.com/ldtteam/Domum-Ornamentum/blob/version/latest/src/datagen/generated/domum_ornamentum/assets/domum_ornamentum/lang/en_us.json
What we could look into, adding our own placeholders sth like %color %wood type %type %etc and then have the translators arrange them.
We know about it, the way vanilla requires those strings the only solution I see is to generate them on the fly during mod setup
Second solution might be using datagen in crowdin - is that even possible?
@Raycoms @Asherslab
sadly i don't believe we can split everything up like that. some languages are right to left, etc.
just won't work.
I did consider it when originally writing the datagens, but there's no feasibility with how languages work
You can replace the translation keys on the client side no problem.
There is the getDisplayName stuff()
This would solve the default, and on the server we can just assign some dummy.
Hello! what's up guys, hope you're okay. I have been collaborating for my part to translate into Spanish together with Ampaex. But you are right, in our language there is not a good translation to some blocks and an easier way to translate is necessary, it really becomes very tedious, see that I have put myself into it several times ...
Nightenom told me a workaround for this on Discord a few days back
You need to open structurize in your IDE, change the timber frame lang string generator so it's in your language instead of English, then runData
The outputted en_us.json
will have the translated strings which you can then upload to Crowdin
@Ampaex Hi! How are you? Do you know how to do what ravenbuilder mentioned? ... I would like the base file to start translating it, although I don't understand the procedure he explained.
@Ampaex Hola, cómo estas? Sabes como hacer eso que mencionó ravenbuilder?... Quisiera el archivo base para empezar a traducirlo, aunque no entiendo el procedimiento que él explicó.
Hi @FrannDzs, first, try to speak in english in github because not everyone knows spanish. Aand what I think ravenbuilder said is that there is a name generator code for the block names, that works running _runData_ in _intellijIDE_ using gradle. For that you have to download the structurize repository with _git clone_ and then open it with _intelliJ_. You have to locate the part of the code where are the source strings for that generator and translate them.(I'm just guessing)
This is a method that I didn't tried and I translated everything "by hand" for spanish. At this time everything is translated and there is no need for this. If you have any question contact me in private.
Bump. Hi guys. I recently came back to Minecraft and still has not been implemented the translation that Antonio did after so much work, the Crowdin translation of Structurize no longer exists and inside the .jar file of structurize is also missing the file en_us.json with the complete lines, what happened with this? it is impossible to translate at the moment...
Jar definitely has full en_us.json, crowdin should work, still the best way is to use datagen locally and update the generated en_us.json to crowdin - beware there are two jsons now: one in the normal place with non-datagen strings, second is datagen-only in the src/generated folder