From 3422fcfe219a678a4b6f055b54b8f25e28e184ea Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Sun, 27 Apr 2014 15:29:17 -0400 Subject: [PATCH] Update how translations are pulled --- i18n/branch_cleanup.py | 36 +++++++++++++++++++++++ i18n/transifex.py | 4 ++- i18n/validate.py | 2 ++ lms/envs/common.py | 66 +++++++++++++++++++++--------------------- 4 files changed, 74 insertions(+), 34 deletions(-) create mode 100644 i18n/branch_cleanup.py diff --git a/i18n/branch_cleanup.py b/i18n/branch_cleanup.py new file mode 100644 index 0000000000..9b1c1cc36c --- /dev/null +++ b/i18n/branch_cleanup.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +""" +Utility for cleaning up your local directory after switching between +branches with different translation levels (eg master branch, with only +reviewed translations, versus dev branch, with all translations) +""" +from __future__ import print_function +import os + +from i18n.config import CONFIGURATION +from i18n.execute import execute + + +def clean_conf_folder(locale): + """Remove the configuration directory for `locale`""" + dirname = CONFIGURATION.get_messages_dir(locale) + command = "rm -rf {}".format(dirname) + print(command) + try: + execute(command) + except Exception as exc: + print("Encountered error {}; continuing...".format(exc)) + return + + +def clean_configuration_directory(): + """ + Remove the configuration directories for all locales + in CONFIGURATION.translated_locales + """ + for locale in CONFIGURATION.translated_locales: + clean_conf_folder(locale) + + +if __name__ == '__main__': + clean_configuration_directory() diff --git a/i18n/transifex.py b/i18n/transifex.py index 82470ac7ba..dc30a645bc 100755 --- a/i18n/transifex.py +++ b/i18n/transifex.py @@ -18,6 +18,8 @@ def push(): def pull(): print("Pulling languages from transifex...") + # Pull translations from all languages where there is + # at least 10% reviewed translations execute('tx pull --mode=reviewed --all') clean_translated_locales() @@ -52,7 +54,7 @@ def clean_file(filename): except Exception as exc: # An exception can occur when a language is deleted from Transifex. # Don't totally fail here. - print("Encountered error %s with filename %s - does language project still exist on Transifex?", exc, filename) + print("Encountered error {} with filename {} - language project may no longer exist on Transifex".format(exc, filename)) return if po.header.find(EDX_MARKER) != -1: new_header = get_new_header(po) diff --git a/i18n/validate.py b/i18n/validate.py index 7e95e36d2d..48a4015822 100644 --- a/i18n/validate.py +++ b/i18n/validate.py @@ -213,4 +213,6 @@ if __name__ == '__main__': logging.basicConfig(stream=sys.stdout, level=log_level) # pylint: enable=invalid-name + print("Validating languages...") main(languages=args.language, empty=args.empty, verbosity=args.verbose) + print("Finished validating languages") diff --git a/lms/envs/common.py b/lms/envs/common.py index d163c839c8..6d8862568c 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -535,61 +535,61 @@ LANGUAGES = ( ('fake2', u'Fake translations'), # Another dummy language for testing (not pushed to prod) ('ar', u'العربية'), # Arabic -# ('az', u'azərbaycanca'), # Azerbaijani -# ('bg-bg', u'български (България)'), # Bulgarian (Bulgaria) -# ('bn', u'বাংলা'), # Bengali -# ('bn-bd', u'বাংলা (বাংলাদেশ)'), # Bengali (Bangladesh) -# ('bs', u'bosanski'), # Bosnian + ('az', u'azərbaycanca'), # Azerbaijani + ('bg-bg', u'български (България)'), # Bulgarian (Bulgaria) + ('bn', u'বাংলা'), # Bengali + ('bn-bd', u'বাংলা (বাংলাদেশ)'), # Bengali (Bangladesh) + ('bs', u'bosanski'), # Bosnian ('ca', u'Català'), # Catalan -# ('ca@valencia', u'Català (València)'), # Catalan (Valencia) + ('ca@valencia', u'Català (València)'), # Catalan (Valencia) ('cs', u'Čeština'), # Czech -# ('cy', u'Cymraeg'), # Welsh + ('cy', u'Cymraeg'), # Welsh ('de-de', u'Deutsch (Deutschland)'), # German (Germany) -# ('el', u'Ελληνικά'), # Greek + ('el', u'Ελληνικά'), # Greek ('en@lolcat', u'LOLCAT English'), # LOLCAT English ('en@pirate', u'Pirate English'), # Pirate English ('es-419', u'Español (Latinoamérica)'), # Spanish (Latin America) -# ('es-ar', u'Español (Argentina)'), # Spanish (Argentina) -# ('es-ec', u'Español (Ecuador)'), # Spanish (Ecuador) + ('es-ar', u'Español (Argentina)'), # Spanish (Argentina) + ('es-ec', u'Español (Ecuador)'), # Spanish (Ecuador) ('es-es', u'Español (España)'), # Spanish (Spain) -# ('es-mx', u'Español (México)'), # Spanish (Mexico) -# ('es-pe', u'Español (Perú)'), # Spanish (Peru) -# ('es-us', u'Español (Estados Unidos)'), # Spanish (United States) -# ('et-ee', u'Eesti (Eesti)'), # Estonian (Estonia) -# ('eu-es', u'euskara (Espainia)'), # Basque (Spain) -# ('fa', u'فارسی'), # Persian -# ('fa-ir', u'فارسی (ایران)'), # Persian (Iran) -# ('fi-fi', u'Suomi (Suomi)'), # Finnish (Finland) + ('es-mx', u'Español (México)'), # Spanish (Mexico) + ('es-pe', u'Español (Perú)'), # Spanish (Peru) + ('es-us', u'Español (Estados Unidos)'), # Spanish (United States) + ('et-ee', u'Eesti (Eesti)'), # Estonian (Estonia) + ('eu-es', u'euskara (Espainia)'), # Basque (Spain) + ('fa', u'فارسی'), # Persian + ('fa-ir', u'فارسی (ایران)'), # Persian (Iran) + ('fi-fi', u'Suomi (Suomi)'), # Finnish (Finland) ('fr', u'Français'), # French -# ('gl', u'Galego'), # Galician -# ('he', u'עברית'), # Hebrew + ('gl', u'Galego'), # Galician + ('he', u'עברית'), # Hebrew ('hi', u'हिन्दी'), # Hindi -# ('hu', u'magyar'), # Hungarian + ('hu', u'magyar'), # Hungarian ('hy-am', u'Հայերեն (Հայաստան)'), # Armenian (Armenia) ('id', u'Bahasa Indonesia'), # Indonesian ('it-it', u'Italiano (Italia)'), # Italian (Italy) ('ja-jp', u'日本語(日本)'), # Japanese (Japan) -# ('kk-kz', u'қазақ тілі (Қазақстан)'), # Kazakh (Kazakhstan) -# ('km-kh', u'ភាសាខ្មែរ (កម្ពុជា)'), # Khmer (Cambodia) + ('kk-kz', u'қазақ тілі (Қазақстан)'), # Kazakh (Kazakhstan) + ('km-kh', u'ភាសាខ្មែរ (កម្ពុជា)'), # Khmer (Cambodia) ('ko-kr', u'한국어(대한민국)'), # Korean (Korea) ('lt-lt', u'Lietuvių (Lietuva)'), # Lithuanian (Lithuania) -# ('ml', u'മലയാളം'), # Malayalam -# ('mn', u'Монгол хэл'), # Mongolian -# ('ms', u'Bahasa Melayu'), # Malay + ('ml', u'മലയാളം'), # Malayalam + ('mn', u'Монгол хэл'), # Mongolian + ('ms', u'Bahasa Melayu'), # Malay ('nb', u'Norsk bokmål'), # Norwegian Bokmål -# ('ne', u'नेपाली'), # Nepali + ('ne', u'नेपाली'), # Nepali ('nl-nl', u'Nederlands (Nederland)'), # Dutch (Netherlands) ('pl', u'Polski'), # Polish ('pt-br', u'Português (Brasil)'), # Portuguese (Brazil) -# ('pt-pt', u'Português (Portugal)'), # Portuguese (Portugal) -# ('ru', u'Русский'), # Russian -# ('si', u'සිංහල'), # Sinhala -# ('sk', u'Slovenčina'), # Slovak + ('pt-pt', u'Português (Portugal)'), # Portuguese (Portugal) + ('ru', u'Русский'), # Russian + ('si', u'සිංහල'), # Sinhala + ('sk', u'Slovenčina'), # Slovak ('sl', u'Slovenščina'), # Slovenian -# ('th', u'ไทย'), # Thai + ('th', u'ไทย'), # Thai ('tr-tr', u'Türkçe (Türkiye)'), # Turkish (Turkey) ('uk', u'Українська'), # Ukranian -# ('ur', u'اردو'), # Urdu + ('ur', u'اردو'), # Urdu ('vi', u'Tiếng Việt'), # Vietnamese ('zh-cn', u'中文(简体)'), # Chinese (China) ('zh-tw', u'中文(台灣)'), # Chinese (Taiwan)