As a Translation Admin I would like to have fallback translations for non-existing keys in some languages

What is the problem you are trying to solve?

The behavior of language translations based on the Language Override tool can be different from those in an old traditional portlet.

If a portlet has a Language_$locale.properties (for some value of $locale, say es) that doesn’t include a key-value pair existing in Language.properties, for example key1=Value 1, trying to print the translation of key1 in the $locale (e.g., es) it will fallback to that of Language.properties, namely Value 1.

Doing the same thing with a Language Client Extension ends up in the key being displayed, namely key1. The same behavior occurs by creating a new key-value pair in Language Override for a given language but trying to display it in another.

Note: If there’s translation in a non-variante locale (e.g., es) and the key-value is missing in a variant locale (e.g., es-co), when viewing the translation for es-co it will display that of es.

What is your project about? (e. g. Intranet, Partner Portal, Enterprise Website, etc)

Any type of project.

What is your proposed solution? (optional)

As a Translation Admin I would like to be able to define what’s the fallback behavior when a language doesn’t have the requested key.

Some natural options would be:

  1. (Portlet-style): The translation in underlying Language.properties file is displayed.

  2. The translation of a non-variant language (e.g. es as the fallback of es-co) is displayed. (This already happens as indicated above.)

  3. The translation of a given chosen language is displayed. (For example, we might want Spanish or French translations shown when Basque ones are missing, since most speakers of the latter are speakers of one of the former languages.)