From 9f9d7ab9837595a4895a5f48c263ec822e9c32e4 Mon Sep 17 00:00:00 2001 From: Fred Wenzel Date: Mon, 20 Sep 2010 17:12:32 +0200 Subject: [PATCH] Make Babel fall back to nl for fy-NL. Bug 596981. --- apps/input/helpers.py | 8 ++++++-- settings.py | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/input/helpers.py b/apps/input/helpers.py index 23c7dd40..eb607390 100644 --- a/apps/input/helpers.py +++ b/apps/input/helpers.py @@ -8,7 +8,7 @@ from django.utils.encoding import smart_str from django.utils.http import urlencode -from babel import Locale +from babel import Locale, UnknownLocaleError from babel.dates import format_datetime from babel.support import Format from jingo import register @@ -27,7 +27,11 @@ def _get_format(): lang = translation.get_language() - locale = Locale(translation.to_locale(lang)) + try: + locale = Locale(translation.to_locale(lang)) + except UnknownLocaleError: + locale = Locale(translation.to_locale(settings.BABEL_FALLBACK.get( + lang, 'en-US'))) return Format(locale) diff --git a/settings.py b/settings.py index 4cf7d2b0..224952b9 100644 --- a/settings.py +++ b/settings.py @@ -68,12 +68,13 @@ USE_L10N = True # Accepted locales -# ar, he: bug 580573 INPUT_LANGUAGES = ('ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en-US', 'es', - 'fr', 'gl', 'he', 'hu', 'id', 'it', 'ko', 'nb-NO', 'nl', - 'pl', 'pt-PT', 'ru', 'sk', 'sq', 'uk', 'vi', 'zh-CN', + 'fr', 'fy-NL', 'gl', 'he', 'hu', 'id', 'it', 'ko', 'nb-NO', + 'nl', 'pl', 'pt-PT', 'ru', 'sk', 'sq', 'uk', 'vi', 'zh-CN', 'zh-TW') RTL_LANGUAGES = ('ar', 'he',) # ('fa', 'fa-IR') +# Fallbacks for locales that are not recognized by Babel. Bug 596981. +BABEL_FALLBACK = {'fy-nl': 'nl'} # Override Django's built-in with our native names