GDQuest / learn-gdscript-translations

Translations for the open-source app Learn GDScript From Zero
MIT License
32 stars 14 forks source link

On weblate, "application" and "user interface" components are duplicate. Why is that? #117

Closed yilmazdurmaz closed 1 year ago

yilmazdurmaz commented 1 year ago

I'm submitting a...

Bug report

What is the current behavior? I was checking my translations and make some editing. "application" component is the first one in the sorted list. Then, when I try to edit "user interface" module, it came pretty familiar with recent editing.

I downloaded *.po files from both, and compared them. except for their names, all the content of two modules are completely the same. It seems editing one will affect the other.

What is the expected behavior? If one of these components was added to the Weblate project, then one them should be removed to remove confussion for translators.

Tell us the steps to reproduce the bug, and if possible share a minimal demo of the problem.

1- open weblate, select a language, and then "application" component. 2- make a noticable edit on a string. 3- now open the "user interface" component, find the same string and see it is the one you edit in "application" component.

yilmazdurmaz commented 1 year ago

@NathanLovato Congrats and thanks for the update

On Weblate, "user interface" was locked for quite some time, and because they were coupled, "application" wasn't accepting changes.

Can you please express what is the purpose of having these two coupled components?

NathanLovato commented 1 year ago

Thank you! I have no idea how these "coupled" components work, and how they got coupled in the first place.

Could this have happened because at some point in the past we renamed the user-interface.pot file to application.pot? Something like that? I set these up a long time ago and I've barely used weblate overall, so if you have experience with it and could point me to a way to fix this, that'd be much appreciated.

yilmazdurmaz commented 1 year ago

so if you have experience with it and could point me to a way to fix this, that'd be much appreciated.

Sure. I will browse commit histories of the app and translation here, and the histories Weblate have. I will do trial-error search, so this may take more than a week depending on my luck.

yilmazdurmaz commented 1 year ago

@NathanLovato I guess I am lucky to get this quick without diving very deep :)

1- main info

these are the info pages for the two components:

Both have the same "Source code repository" link, and the "File mask" points to the same */application.po. I am guessing this is the main reason for the coupling: they point to the exact same file.

"user-interface" component's "Weblate repository" info points to "user-interface" sub-repo. But, "application" component's "Weblate repository" info points to "error-explanations" sub-repo. However, I checked it, and most (if not all) other components also point to the same "error-explanations" sub-repo name.

2- history (weblate)

I didnt check the app's history, as both components points to the same file.

From components "insight->history" menu, these are current first records. (page numbers may increase if new translations come in, so please go to highest numbered page)

First one shows you are the one to add "user interface" component on 2022-02-25. the "application" component is added about a week later but it is unclear who added it.

3- difference

They have slight differences only in their weblate histories (given time might be 3-5 min to 1-2 hours):

the resulting translation file may have one of two headers purely depending on whichever gets the latest commit first on this main repo.

https://github.com/GDQuest/learn-gdscript-translations/blob/72572f93e30fae88392f1b4c3b641df5746e8b86/de/application.po#L11-L15

https://github.com/GDQuest/learn-gdscript-translations/blob/72572f93e30fae88392f1b4c3b641df5746e8b86/tr/application.po#L11-L15

conlusion

completely removing one seems perfectly fine, but I could not decide what to suggest because:

I don't expect anything bad to happen. But download the most recent files from Weblate itself in any case: open the component and download them from "Files->Download translation files as ZIP file".

Good Luck!

NathanLovato commented 1 year ago

Thanks much! I think I got what happened. After adding the first components manually, I looked for an automated solution. I just removed the user interface component from weblate. Could you check if application works for you? I tested and could make changes, but as I'm the admin I don't know if other people have a different experience.

If everything works, feel free to close the issue.

yilmazdurmaz commented 1 year ago

I made my proof-reading on "application" component and changed many string to a more formal language for larger Turkish audience.

Weblate showed no difficulty. If it commits changes automatically to the project, we can see tomorrow changes to "tr/application.po" in one of "Translations update from Hosted Weblate" pull requests. If not, you may need to tell Weblate to push manually and check again.

Seeing this file alone should indicate it is working. If I see the change in a commit before you do, I will also comment about its content.

NathanLovato commented 1 year ago

Perfect, thanks for the update, I'll close this then!