Predefined Catalogs Reference

The github.com/BeamFoundry/rays/pkg/i18n/locales package eliminates boilerplate by providing pre-instantiated singletons for standard locales and pre-registered validation translation functions.


Predefined Locales

The Locales struct contains pre-instantiated Go-Playground Locales singletons for over 200 standard language and territory combinations.

Common Locales

import "github.com/BeamFoundry/rays/pkg/i18n/locales"

// English
locales.Locales.EN      // English (base)
locales.Locales.EN_US   // English (United States)
locales.Locales.EN_GB   // English (United Kingdom)
locales.Locales.EN_CA   // English (Canada)
locales.Locales.EN_AU   // English (Australia)

// French
locales.Locales.FR      // French (base)
locales.Locales.FR_FR   // French (France)
locales.Locales.FR_CA   // French (Canada)
locales.Locales.FR_BE   // French (Belgium)
locales.Locales.FR_CH   // French (Switzerland)

// German
locales.Locales.DE      // German (base)
locales.Locales.DE_DE   // German (Germany)
locales.Locales.DE_AT   // German (Austria)
locales.Locales.DE_CH   // German (Switzerland)

// Spanish
locales.Locales.ES      // Spanish (base)
locales.Locales.ES_ES   // Spanish (Spain)
locales.Locales.ES_MX   // Spanish (Mexico)

// Other European Languages
locales.Locales.IT      // Italian
locales.Locales.PT      // Portuguese
locales.Locales.PT_BR   // Portuguese (Brazil)
locales.Locales.NL      // Dutch
locales.Locales.PL      // Polish
locales.Locales.RU      // Russian
locales.Locales.UK      // Ukrainian

// Asian Languages
locales.Locales.JA      // Japanese
locales.Locales.KO      // Korean
locales.Locales.ZH      // Chinese (Simplified)
locales.Locales.ZH_TW   // Chinese (Traditional)
locales.Locales.VI      // Vietnamese
locales.Locales.TH      // Thai
locales.Locales.ID      // Indonesian

// Middle Eastern Languages
locales.Locales.AR      // Arabic
locales.Locales.FA      // Persian / Farsi
locales.Locales.TR      // Turkish

Usage with Message Bundles

Pass any Locales singleton to messageSource.NewMessageBundle() or messageSource.FindMessageBundle():

bundle := messageSource.NewMessageBundle(locales.Locales.DE)

Predefined Validation Translations

The ValidationTranslations struct provides ready-to-use registration functions that load built-in translation catalogs for Go-Playground Validator into a LocaleMessageBundle.

Loading Validation Translations

import "github.com/BeamFoundry/rays/pkg/i18n/locales"

// Load English validator translations
if err := bundleEN.LoadValidationTranslation(locales.ValidationTranslations.EN); err != nil {
    return err
}

// Load French validator translations
if err := bundleFR.LoadValidationTranslation(locales.ValidationTranslations.FR); err != nil {
    return err
}

Supported Languages (22 Translations)

CodeLanguageRegistration Constant
ARArabiclocales.ValidationTranslations.AR
DEGermanlocales.ValidationTranslations.DE
ENEnglishlocales.ValidationTranslations.EN
ESSpanishlocales.ValidationTranslations.ES
FAPersian (Farsi)locales.ValidationTranslations.FA
FRFrenchlocales.ValidationTranslations.FR
IDIndonesianlocales.ValidationTranslations.ID
ITItalianlocales.ValidationTranslations.IT
JAJapaneselocales.ValidationTranslations.JA
KOKoreanlocales.ValidationTranslations.KO
LVLatvianlocales.ValidationTranslations.LV
NLDutchlocales.ValidationTranslations.NL
PLPolishlocales.ValidationTranslations.PL
PTPortugueselocales.ValidationTranslations.PT
PT_BRPortuguese (Brazil)locales.ValidationTranslations.PT_BR
RURussianlocales.ValidationTranslations.RU
THThailocales.ValidationTranslations.TH
TRTurkishlocales.ValidationTranslations.TR
UKUkrainianlocales.ValidationTranslations.UK
VIVietnameselocales.ValidationTranslations.VI
ZHChinese (Simplified)locales.ValidationTranslations.ZH
ZH_TWChinese (Traditional)locales.ValidationTranslations.ZH_TW