Skip to content

cozy-elixir/ecto_i18n

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EctoI18n

Provides i18n support for Ecto.

Notes

This package is still in its early stages, so it may still undergo significant changes, potentially leading to breaking changes.

Installation

Add :ecto_i18n to the list of dependencies in mix.exs:

def deps do
  [
    {:ecto_i18n, <requirement>}
  ]
end

Usage

For more information, see the documentation.

Terminology

Throughout the package, I will use the following terminology to avoid conceptual confusion.

g11n (globalization)

It is a broader concept that covers the i18n and l10n processes throughout the software development lifecycle.

The goal of g11n is to make products adapted in different languages and cultural environments:

  • i18n enables products to be adaptable.
  • l10n lets products to be adapted.

i18n (internationalization)

It refers to the process of designing and developing a product to be adaptable to different languages and cultural environments.

It is the preparation for l10n. When i18n is done, there's no need for further programmatic changes to the product to switch between languages.

At this stage, we are not conducting actual l10n work but rather providing the infrastructure for l10n.

l10n (localization)

It refers to the process of adapting a product to a specific language or region. It includes:

  • translating text.
  • adjusting formats, such as date, time, number, currencies, etc.
  • ...

At this stage, we focus on the actual l10n work.

Thanks

This package is built or will be built on the wisdom of:

License

Apache License 2.0