LogoLogo
Cql
  • AZU
  • Prologue
  • Getting Started
    • Installation
    • Create new app
    • Understnding your project
    • Configuration
  • Endpoints
    • Params
    • Response
    • Contracts
  • Templating
    • Markup
    • Crinja Templates
    • Live Rendering
  • Session Management
  • Validations
  • Internationalization (I18n)
  • Mailers
Powered by GitBook
On this page
  • Installation
  • Quick usage

Was this helpful?

Export as PDF

Internationalization (I18n)

Crystal I18n is an internationalization library for the Crystal programming language a unified interface allowing to leverage translations and localized contents in a Crystal project.

Installation

Simply add the following entry to your project's shard.yml:

dependencies:
  i18n:
    github: crystal-i18n/i18

And run shards install afterwards.

Quick usage

Assuming that a config/locales relative folder exists in your project, with the following en.yml file in it:

en:
  simple:
    translation: "This is a simple translation"
    interpolation: "Hello, %{name}!"
    pluralization:
      one: "One item"
      other: "%{count} items"

The following setup could be performed in order to initialize I18n properly:

require "i18n"

I18n.config.loaders << I18n::Loader::YAML.new("config/locales")
I18n.config.default_locale = :en
I18n.init

Here a translation loader is configured to load the previous translation file while also configuring the default locale (en) and initializing the I18n module.

Translations lookups can now be performed using the #translate method (or the shorter version #t) as follows:

I18n.t("simple.translation")                     # outputs "This is a simple translation"
I18n.t("simple.interpolation", name: "John Doe") # outputs "Hello, John Doe!"
I18n.t("simple.pluralization", count: 42)        # outputs "42 items"

Read More About the I18n Shard

PreviousValidationsNextMailers

Last updated 2 years ago

Was this helpful?

LogoCrystal I18n