From 05a398750e5397439031bfaa0e5156c7d27fb33f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Aug 2023 20:41:41 +0530 Subject: [PATCH] Better filtering of translated languages --- setup/translations.py | 8 ++++---- src/calibre/utils/localization.py | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/setup/translations.py b/setup/translations.py index 0622827644..fea29f69bf 100644 --- a/setup/translations.py +++ b/setup/translations.py @@ -275,10 +275,10 @@ class Translations(POT): # {{{ def is_po_file_ok(self, x): bname = os.path.splitext(os.path.basename(x))[0] # sr@latin.po is identical to sr.po. And we dont support country - # specific variants except for Portuguese and Chinese - return bname not in { - 'sr@latin', 'en_AU', 'en_GB', 'en_CA', 'fr_CA', 'es_MX' - } + # specific variants except for a few. + if '_' in bname: + return bname.partition('_')[0] in ('pt', 'zh', 'bn') + return bname != 'sr@latin' def po_files(self): return [x for x in glob.glob(os.path.join(self.TRANSLATIONS, __appname__, '*.po')) if self.is_po_file_ok(x)] diff --git a/src/calibre/utils/localization.py b/src/calibre/utils/localization.py index 5d00ce9a1f..e6912de4bc 100644 --- a/src/calibre/utils/localization.py +++ b/src/calibre/utils/localization.py @@ -328,6 +328,8 @@ _extra_lang_codes = { 'pt_BR' : _('Brazilian Portuguese'), 'zh_CN' : _('Simplified Chinese'), 'zh_TW' : _('Traditional Chinese'), + 'bn_IN' : _('Indian Bengali'), + 'bn_BD' : _('Bangladeshi Bengali'), 'en' : _('English'), 'und' : _('Unknown') }