WeblateOrg / WeblateOrg/weblate

Custom source language for translations

Open
#20,091 2 comments 1 reaction 0 assignees View on GitHub
Area: Processing Waiting for: Implementation
Dominant language
Python
Stars
6.1k
Forks
1.4k
Avg merge
9h 53m
Merged PRs (30d)
395

Description

### Describe the problem

It is cumbersome to maintain similar languages without causing duplicated efforts and diverging translations. Changes in one related language are not reflected in the other, even when both were previously translated to the same string.

Related problem descriptions:
- https://github.com/WeblateOrg/weblate/issues/2320
- https://github.com/WeblateOrg/weblate/issues/3412

### Solution brainstorm

Additional option in the [project language workflow customization](https://docs.weblate.org/en/latest/workflows.html#workflow-customization) settings to configure a different source language.

With such a "tree" of languages, a "child" translation can have a different source language ("parent") instead of the base language file.

Changes in the parent language create a "source string changed" invalidation in the child language.

With reviews active, a child unit can only be translated when the parent unit is in state "Approved" or "Waiting for review".

### Describe alternatives you have considered

_No response_

### Screenshots

_No response_

### Additional context

Constraints:
- Inheritance loops should not be possible.
- State invalidation should behave the same as between intermediate, source and translation

Useful in combination with:
- https://github.com/WeblateOrg/weblate/issues/19625 to not have duplicate translations and rely on the translation framework's fallback
- https://github.com/WeblateOrg/weblate/issues/20043 to still keep the other custom translation workflow settings to default

This could potentially be a more flexible replacement for the intermediate language feature.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.