# 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]
