i18n: log a warning instead of rising an exception

This is more user-friendly.
TODO: maybe make a compile time flag for testing purposes
This commit is contained in:
Samantaz Fox 2021-11-21 01:46:35 +01:00
parent f29ab53aff
commit bf7952d9c7
No known key found for this signature in database
GPG key ID: F42821059186176E

View file

@ -65,8 +65,10 @@ def load_all_locales
end
def translate(locale : String?, key : String, text : String | Nil = nil) : String
# Raise an eception if "key" doesn't exist in en-US locale
raise "Invalid translation key \"#{key}\"" unless LOCALES["en-US"].has_key?(key)
# Log a warning if "key" doesn't exist in en-US locale
if !LOCALES["en-US"].has_key?(key)
LOGGER.warn("i18n: Missing translation key \"#{key}\"")
end
# Default to english, whenever the locale doesn't exist,
# or the key requested has not been translated