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

Automatically show English website for if browser is English #1659

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

david-jones10
Copy link

Addressing #228.

Hi @bitboxer ,

This MR offers a proposed solution to the above linked ticket.

It connects to the plug Plug.Accepts to access accept-language from the HTTP request headers when fetching the page. Then, it updates get_user_locale to attempt to read from the headers. If this fails, it falls back to the existing behaviour for fetching from user definition.

Please do test this thoroughly as I had some issues when running SignDict locally. I don't believe they were related to the changes, but as the owner I expect you'll have better luck running the environment fully compared to me!

Please let me know if there's any issues/changes you'd like to see.

Best,
David

Browser language is sent in request headers under Accept-Language. This change connects to the Plug.Accepts plug to allow the app to parse the Accepts headers, including the Accept-Language header. This will then give access to this information where the app decides which language to serve, to make a more accurate decision.
Updates get_user_locale to attempt to get locale from the HTTP request headers. If not, falls back to existing behaviour of attempting to read from conn object, finally returning nothing if none found.
connect to Plug.Accepts to access Accept-Language
@bitboxer
Copy link
Member

@david-jones10 thanks for this PR. It would be awesome if you add a test for this.

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