js: Make language code handling more robust, add tests #983
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
CHANGES.rst
because this is a user-facing change or an important bugfixjs: Make lang code handling more robust in config
Differing internal representations of two-level language codes, e.g.
pt_BR
/pt_PT
orzh_CN
/zh_TW
, would lead to inconsistencies when combined with overrides of i18n strings for templating.E.g. setting
data-isso-lang=pt_BR
anddata-isso-postbox-text-text-PT_BR=foo
would result in an internal representation ofdata-isso-postbox-text-text-pt-br
(note: lowercase) and thus user-supplied i18n strings not being applied.To make this handling more robust, convert everything into lowercase and substitute underscores for dashes.
Fixes #982
js: test/unit: Add testing for i18n overrides
Add jest tests