Dedupe translations #10768

Open
opened 2025-11-02 09:17:41 -06:00 by GiteaMirror · 4 comments
Owner

Originally created by @silverwind on GitHub (May 2, 2023).

We have many duplicate translations, for example:

$ rg '= Repository$' options/locale/locale_en-US.ini
51:repository = Repository
1883:settings.options = Repository
2075:settings.event_repository = Repository
2753:packages.repository = Repository
3117:notices.type_1 = Repository
3254:conan.details.repository = Repository
3407:runners.task_list.repository = Repository

We should deduplicate them, ideally without invalidating existing translation, if such a thing is possible. I do understand that some translations mean different things in different contexts, but I estimate 90% can be deduplicated safely.

Originally created by @silverwind on GitHub (May 2, 2023). We have many duplicate translations, for example: ``` $ rg '= Repository$' options/locale/locale_en-US.ini 51:repository = Repository 1883:settings.options = Repository 2075:settings.event_repository = Repository 2753:packages.repository = Repository 3117:notices.type_1 = Repository 3254:conan.details.repository = Repository 3407:runners.task_list.repository = Repository ``` We should deduplicate them, ideally without invalidating existing translation, if such a thing is possible. I do understand that some translations mean different things in different contexts, but I estimate 90% can be deduplicated safely.
Author
Owner

@silverwind commented on GitHub (May 3, 2023):

Excerpt from https://github.com/go-gitea/gitea/pull/24492:

Other locales on main branch should not be updated manually as they will be overwritten with each sync

I imagine if we really want to start this deduping effort, it would be be nice to be able to just "move" a existing translation in all locales to a new key without invalidating on Crowdin.

@silverwind commented on GitHub (May 3, 2023): Excerpt from https://github.com/go-gitea/gitea/pull/24492: > Other locales on main branch **should not** be updated manually as they will be overwritten with each sync I imagine if we really want to start this deduping effort, it would be be nice to be able to just "move" a existing translation in all locales to a new key without invalidating on Crowdin.
Author
Owner

@yardenshoham commented on GitHub (May 4, 2023):

Want me to add a check to make sure these files (other than English) are unchanged in a PR?

@yardenshoham commented on GitHub (May 4, 2023): Want me to add a check to make sure these files (other than English) are unchanged in a PR?
Author
Owner

@silverwind commented on GitHub (May 4, 2023):

Ideally we should have a way to modify other translations from this repo, e.g. making it a kind of two-way sync.

I currently don't understand enough of this sync process to further comment, but to cleanly solve this issue, we definitely need the ability to move around other language translations, and have those movements be accepted by Crowdin.

@silverwind commented on GitHub (May 4, 2023): Ideally we should have a way to modify other translations from this repo, e.g. making it a kind of two-way sync. I currently don't understand enough of this sync process to further comment, but to cleanly solve this issue, we definitely need the ability to move around other language translations, and have those movements be accepted by Crowdin.
Author
Owner

@silverwind commented on GitHub (Jul 6, 2023):

The plan ahead should be to:

  • Remove all ini sections
  • Merge all now-duplicate value strings from english translation
  • Replicate the changes into other languages
  • Force an approval of all translations from the ini on Crowdin

Is the last step possible? If not, we may never be able to clean this up properly.

@silverwind commented on GitHub (Jul 6, 2023): The plan ahead should be to: - Remove all ini sections - Merge all now-duplicate value strings from english translation - Replicate the changes into other languages - Force an approval of all translations from the ini on Crowdin Is the last step possible? If not, we may never be able to clean this up properly.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#10768