Localization using ex_cldr

Clearly demonstrating my lack of Phoenix knowledge. But it looks like you would need to put Cldr.Plug.SetLocale in your pipeline, not the endpoint. Possible you can try that? As best I can tell from the docs, the pipeline is not run unless a route is found - and I believe when a route is found that path_params is decoded.

So, for example:

  pipeline :browser do
    plug :fetch_session
    plug :accepts, ["html"]
    plug Cldr.Plug.SetLocale, 
      apps: [:cldr, :gettext],
      from: [:path, :query],
      gettext: MyAppWeb.Gettext,
      cldr: MyApp.Cldr
  end