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
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries.
offset-based pagination with...
New
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Hi all!
I want to present a small library which provides a mix task for generating an Entity-Relationship Diagram for Ecto schemas.
You...
New
Hello
Published a new library - ProcessHub!
ProcessHub is a library designed to manage process distribution within the Elixir cluster. ...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
This showed up on my feed.. anyone heard of it? Just hype?
Ox Alpha is a reasoning model designed for coding, sustained ag...
New
It’s not that it’s vocabulary is too advanced. It’s something worse.
I get lost trying to follow even a paragraph written by Claude. It’...
New
Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operati...
New
@hugobarauna, Dr. Dimitrios Koutmos (my brother) and I (Alex Koutmos) have been hard at work on writing a book on how you can use Elixir ...
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
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #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!