87 lines
1.8 KiB
TOML
87 lines
1.8 KiB
TOML
|
|
# Internationalization Configuration for Provisioning System
|
||
|
|
# Defines locales, fallback chains, and language metadata
|
||
|
|
|
||
|
|
[locales]
|
||
|
|
default = "en-US"
|
||
|
|
fallback = "en-US"
|
||
|
|
|
||
|
|
# Locale definitions with metadata
|
||
|
|
[locales.en-US]
|
||
|
|
name = "English (United States)"
|
||
|
|
direction = "ltr"
|
||
|
|
plurals = 2
|
||
|
|
decimal_separator = "."
|
||
|
|
thousands_separator = ","
|
||
|
|
date_format = "MM/DD/YYYY"
|
||
|
|
currency_symbol = "$"
|
||
|
|
currency_position = "prefix"
|
||
|
|
|
||
|
|
[locales.es-ES]
|
||
|
|
name = "Spanish (Spain)"
|
||
|
|
direction = "ltr"
|
||
|
|
plurals = 2
|
||
|
|
gender_aware = true
|
||
|
|
decimal_separator = ","
|
||
|
|
thousands_separator = "."
|
||
|
|
date_format = "DD/MM/YYYY"
|
||
|
|
currency_symbol = "€"
|
||
|
|
currency_position = "suffix"
|
||
|
|
|
||
|
|
# Future locale support (placeholders for extensibility)
|
||
|
|
[locales.pt-BR]
|
||
|
|
name = "Portuguese (Brazil)"
|
||
|
|
direction = "ltr"
|
||
|
|
plurals = 2
|
||
|
|
decimal_separator = ","
|
||
|
|
thousands_separator = "."
|
||
|
|
date_format = "DD/MM/YYYY"
|
||
|
|
|
||
|
|
[locales.fr-FR]
|
||
|
|
name = "French (France)"
|
||
|
|
direction = "ltr"
|
||
|
|
plurals = 3
|
||
|
|
decimal_separator = ","
|
||
|
|
thousands_separator = "."
|
||
|
|
date_format = "DD/MM/YYYY"
|
||
|
|
|
||
|
|
[locales.ja-JP]
|
||
|
|
name = "Japanese (Japan)"
|
||
|
|
direction = "ltr"
|
||
|
|
plurals = 1
|
||
|
|
decimal_separator = "."
|
||
|
|
thousands_separator = ","
|
||
|
|
date_format = "YYYY年M月D日"
|
||
|
|
|
||
|
|
# Fallback chains for locale resolution
|
||
|
|
[fallback_chains]
|
||
|
|
es-ES = ["en-US"]
|
||
|
|
pt-BR = ["pt-PT", "es-ES", "en-US"]
|
||
|
|
pt-PT = ["es-ES", "en-US"]
|
||
|
|
fr-FR = ["en-US"]
|
||
|
|
ja-JP = ["en-US"]
|
||
|
|
|
||
|
|
# Feature detection
|
||
|
|
[features]
|
||
|
|
pluralization = true
|
||
|
|
gender_agreement = false
|
||
|
|
number_formatting = true
|
||
|
|
date_formatting = true
|
||
|
|
rtl_support = false
|
||
|
|
fallback_chains = true
|
||
|
|
|
||
|
|
# Validation rules
|
||
|
|
[validation]
|
||
|
|
warn_missing_keys = true
|
||
|
|
warn_incomplete_translations = true
|
||
|
|
validate_plural_forms = true
|
||
|
|
|
||
|
|
# Coverage thresholds
|
||
|
|
[coverage]
|
||
|
|
critical_locales = ["en-US", "es-ES"]
|
||
|
|
required_coverage_percent = 95
|
||
|
|
warning_coverage_percent = 80
|
||
|
|
|
||
|
|
[testing]
|
||
|
|
test_plurals = true
|
||
|
|
test_count_values = [0, 1, 2, 3, 5, 10, 21, 100]
|