kip
ex_cldr Core Team
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released before the end of March 2026 and is under active development.
The goals and objectives are documented on Github, with the headline objectives being:
- No “backend” architecture, CLDR data will be stored in
:persistent_term. - No compile-time configuration. Runtime all the way.
- Dynamic loading of locales. No more compile-time configuration of supported locales. Downloading and storage/access will be pluggable. This may suit organisations with specific security policies or running Localize on devices with limited connectivity or resources.
- Simplified library packaging.
Localizewill have everything except web-oriented and SQL oriented modules which will go in their own libraries. - A Phoenix-based locale explorer will be available to make it easier and clearer to see what capabilities are possible with Localize (enabled by CLDR). At a later stage the locale explorer will also be hosted on a publicly available web server.
Note this will not be a drop-in replacement. However the public API will be very very similar with the main breaking change being the removal of any backend argument.
Feedback, suggestions all very welcome either here, or on GitHub discussions.
Trending in Announcing
The repo is at GitHub - cyberchitta/openai_ex: Community maintained Elixir library for OpenAI API · GitHub.
Docs are at OpenaiEx User Gu...
New
WebAuthnLiveComponent WebAuthnComponents
See this post about renaming the package.
Passwordless authentication for Phoenix LiveView app...
New
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
I released Doggo, a collection of unstyled Phoenix components.
https://github.com/woylie/doggo
Features
Unstyled Phoenix components....
New
Hi everyone,
I’ve been working on this protobuf library for 3 years. We use it in the company I work for, EasyMile, to communicate with ...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
I’ll shortly be launching Text, a nascent text analysis library.
Current functionality
In this early version (not ready for prime time) ...
New
Other Trending Topics
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
What IDE or editor are you using for Elixir development?
Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #ai
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
wmnnd
That sounds great, thank you for working on this - I’ll be sure to give it a try soon.
lawik
You absolute legend.
kip
Making Localize a good Nerves citizen is definitely in scope too. No compile time configuration will help. But primarily by supporting configurable locale sources and configurable locale storage and access methods. (thanks for the kind words).
andreh
Awesome! I just want to thank you for your work. @lawik is right, you’re a legend!
jarrodm
Great work as always, @kip! Out of curiosity, did you do you any perf comparisons between the :persistent_term and precompiled backends?
kip
I did do some very loose and informal performance comparisons some time ago and the performance seemed comparable. I will certainly be doing comapative performance testing when I get further along the development path.
jarrodm
So better ergonomics for roughly the same performance! Nice.
kip
Localize will officially launch next Monday. I’ve got a full week of launch activity planned. And a shiny new blog at elixir-localize.com where I’m committed to spending more time writing about they why and how localisation matters and how
localizecan make it almost trivial to write localised Elixir applications.Each day next week there is something launching:
Monday is the core
localizelibrary. It compiles faster thanex_cldr, runs faster, uses less memory, has simpler packaging (nearly everything in one package).Tuesday is
localize_webthat includesaccept-headerparsing and locale setting, localised routes and some HTML helpers.Wednesday is the launch of
localize_person_namesfor formatting names in a localised manner; in formal, informal and other ways. Andthe launch of Calendricalwhich is a consolidated set of calendars now including Gregorian, Julian, Islamic (four variants), Hebrew, Persian, Indian, Buddhist, Composite and user definable. And a few more I probably missed.Thursday its time for some new fun things.
localize_phonenumberthat wraps libphonenumber for parsing and formatting phone numbers and localize_address for parsing free-form address data and then formatting its using the OpenCageData templates.Friday is the “one more thing” release. It’s called
Intland its an API wrapper forLocalizethat maps very closely to the JavascriptIntlAPI. This should make it easier for developers who are more front-end savvy to adopt localisation in Elixir more easily.I’ll be posting more long form content at elixir-localize.com as the week progresses.
Eight years into developing ex_cldr and friends I think I can say confidently that
localizeis better in every way. I hope you’ll try it out, give feedback, open issues and help me make that claim a reality.jswanner
Looking forward to next week!
Terbium-135
I hope the refactoring is not too painful
Thx for all your work!