From 6cd569fa49f9057dc92a1f9114f4284300b9d960 Mon Sep 17 00:00:00 2001 From: David Martinez <47610359+dvdmrtnz@users.noreply.github.com> Date: Wed, 23 Mar 2022 13:00:10 +0100 Subject: [PATCH] Added regional dialect fallback to generic language (#3) * Added regional dialect fallback to generic language Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com> * Reorder generic_language to mantain fallback_mapping priority Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com> * Update lib/twine/output_processor.rb Signed-off-by: David Martinez <47610359+dvdmrtnz@users.noreply.github.com> Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com> Co-authored-by: Alexander Borsuk <170263+biodranik@users.noreply.github.com> --- lib/twine/output_processor.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/twine/output_processor.rb b/lib/twine/output_processor.rb index e998cff..6606db0 100644 --- a/lib/twine/output_processor.rb +++ b/lib/twine/output_processor.rb @@ -17,7 +17,12 @@ module Twine 'zh-TW' => 'zh-Hant' # if we don't have a zh-TW translation, try zh-Hant before en } - [fallback_mapping[language], default_language].flatten.compact + # Regional dialect fallbacks to generic language (for example: 'es-MX' to 'es' instead of default 'en'). + if language.match(/([a-zA-Z])-[a-zA-Z]+/) + generic_language = language.gsub(/([a-zA-Z])-[a-zA-Z]+/, '\1') + end + + [fallback_mapping[language], generic_language, default_language].flatten.compact end def process(language)