ppetrov

ppetrov

Language switcher and link generation

Hello,

I will start with i am new to Phoenix and Elixir so please consider it before reading my question.

I am trying to get multi-lingual site. So far i have the gettext files and Phoenix configuration work properly. At the current stage i want to implement the language switcher. For example:

  1. User opens mysite.com/en/ping
  2. User need to have the UI on another language and clicks on the Bulgarian flag of from the language switch on top
  3. User gets redirected to /bg/ping

My question is - is there a smart way to generate a link for the same page the user is currently at or if there is another better approach for such situation?

My goal is when a person opens a long url like mysite.com/en/param1/param2/group/id but the UI is not conveniently matching their language to be able to switch it and stay on the same page.

I hope this makes sense. Any help will be appreciated.

Regards,
Peter

First Post!

ppetrov

ppetrov

Probably it is not the best way to do it but i managed to make it work with the following code:

<%= for langs <- Gettext.known_locales(DemoWeb.Gettext) do %>

<a href="<%= @conn.scheme %>://<%= @conn.host %>:<%= @conn.port %><%= String.replace(@conn.request_path, ~r/(?<=^.{1})../, langs) %>" > <%= langs %></a>

<%= end %>

It takes the configured locales and “iterates” trough the list of the locales and replacing the 2nd and 4rd characters for every locale for the current URL.

Where Next?

Popular in Questions Top

jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" =&gt; #BSON.ObjectId&lt;58eb1a7a9ad169198c3dXXXX&gt;, "email" =&gt; ...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

Other popular topics Top

vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

We're in Beta

About us Mission Statement