diff --git a/i18n/extract.py b/i18n/extract.py index 694f1740e4f6..5cd617b4635f 100755 --- a/i18n/extract.py +++ b/i18n/extract.py @@ -44,29 +44,29 @@ def main(): for filename in generated_files: remove_file(source_msgs_dir.joinpath(filename)) + # Prepare makemessages command. + ignore_dirs = ["docs", "src", "i18n", "test_root"] + ignores = " ".join("--ignore={}/*".format(d) for d in ignore_dirs) + makemessages = 'django-admin.py makemessages -l en ' + ignores + # Extract strings from mako templates. babel_mako_cmd = 'pybabel extract -F %s -c "Translators:" . -o %s' % (BABEL_CONFIG, BABEL_OUT) - - # Extract strings from django source files. - make_django_cmd = ( - 'django-admin.py makemessages -l en --ignore=src/* --ignore=i18n/* ' - '--extension html' - ) - # Extract strings from Javascript source files. - make_djangojs_cmd = ( - 'django-admin.py makemessages -l en --ignore=src/* --ignore=i18n/* ' - '-d djangojs --extension js' - ) execute(babel_mako_cmd, working_directory=BASE_DIR) + + # Extract strings from django source files, including .py files. + make_django_cmd = makemessages + ' --extension html' execute(make_django_cmd, working_directory=BASE_DIR) + # Extract strings from Javascript source files. + make_djangojs_cmd = makemessages + ' -d djangojs --extension js' + execute(make_djangojs_cmd, working_directory=BASE_DIR) + # makemessages creates 'django.po'. This filename is hardcoded. # Rename it to django-partial.po to enable merging into django.po later. os.rename( source_msgs_dir.joinpath('django.po'), source_msgs_dir.joinpath('django-partial.po') ) - execute(make_djangojs_cmd, working_directory=BASE_DIR) for filename in generated_files: LOG.info('Cleaning %s' % filename)