Describe the problem
Terms are similar to regular messages but they can only be used as references in other messages. Their identifiers start with a single dash - like in the example above: -brand-name. The runtime cannot retrieve terms directly.
https://projectfluent.org/fluent/guide/terms.html
Because terms are referenced by other messages it can be useful for translators to define terms that aren't present in the base language. We have a few languages that utilize this pattern and noticed a few issues when adopting Weblate:
- No interface for translators to add novel terms for a particular language (afaict).
- Since terms are treated like regular messages, the
cleanup add-on will remove terms not present in the base language.
Describe the solution you'd like
I'm not familiar enough with Weblate to know how viable it is to address 1, but having an interface for this would be pretty useful.
For 2, it seems possible to add a check to not remove terms in the cleanup code. A more ideal solution would be to check if the term is referenced by any other message, but I assume that would be much harder to implement and it could removed terms that are just briefly unused.
Describe alternatives you've considered
A workaround for this is to manually add empty placeholder terms to the base language when translators need them (other than adding more friction, this also is just less discoverable, but perhaps we could include information about this in our project specific documentation for translators).
Describe the problem
https://projectfluent.org/fluent/guide/terms.html
Because terms are referenced by other messages it can be useful for translators to define terms that aren't present in the base language. We have a few languages that utilize this pattern and noticed a few issues when adopting Weblate:
cleanupadd-on will remove terms not present in the base language.Describe the solution you'd like
I'm not familiar enough with Weblate to know how viable it is to address 1, but having an interface for this would be pretty useful.
For 2, it seems possible to add a check to not remove terms in the cleanup code. A more ideal solution would be to check if the term is referenced by any other message, but I assume that would be much harder to implement and it could removed terms that are just briefly unused.
Describe alternatives you've considered
A workaround for this is to manually add empty placeholder terms to the base language when translators need them (other than adding more friction, this also is just less discoverable, but perhaps we could include information about this in our project specific documentation for translators).