Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix BCP47 check for languages with underscore #54

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Engerrs
Copy link
Member

@Engerrs Engerrs commented Jan 24, 2025

There is an issue with languages that have "" (enderscore) in the language code. There is no standard for languages with "" and we use initially use check for BCP47 standard (e.g. "-" version).
There were two options:

  1. Update the regular expression that check the language.
  2. Update each "lang" everytime with do re.match.

I choose the first option, as it more appropriate in opinion. The updated version will store the initial behavior, but additionally will check for "" in language code.
You can check this be adding for example "pt_BT" language version to your Dataset schema and while trying to save the form, it will throws an 500 error (this is another issue, but related, because Fluent doesn't find matches for languages with "
").

@wardi
Copy link
Contributor

wardi commented Jan 27, 2025

We could use a mapping from posix locale codes to their BCP-47 versions. I found some discussion but no definitive list:

A simpler option would be to use a helper with some sensible defaults and let sites do their own mappings by overriding that helper.

e.g. a site might be using en_GB and fr_FR as a locales but want to store fluent values as "en" and "fr".

I don't want to just accept posix locale modifiers in fluent like _ and @ because they do not follow BCP-47.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants