Commit 88789c1d by Sarina Canelake Committed by Calen Pennington

Convert i18n/make_dummy.py to a standalone script

LMS-1967
parent b615de57
......@@ -32,6 +32,17 @@ locales:
# The locale used for fake-accented English, for testing.
dummy-locale: eo
# Source files that should be used for generating dummy strings
dummy_sources:
- django-partial.po
- django-studio.po
- django.po
- djangojs-studio.po
- djangojs.po
- mako-studio.po
- mako.po
- messages.po
# Directories we don't search for strings.
ignore_dirs:
- docs
......
......@@ -22,6 +22,7 @@ class Configuration(object):
'locales': ['en'],
'segment': {},
'source_locale': 'en',
'dummy_sources': [],
}
def __init__(self, filename):
......
......@@ -6,21 +6,23 @@
# two letter language codes reference:
# see http://www.loc.gov/standards/iso639-2/php/code_list.php
#
# po files to turn into dummy strings are specified in configuration file
#
# Django will not localize in languages that django itself has not been
# localized for. So we are using a well-known language (default='eo').
# Django languages are listed in django.conf.global_settings.LANGUAGES
#
# po files can be generated with this:
# django-admin.py makemessages --all --extension html -l en
# Usage:
#
# $ ./make_dummy.py <sourcefile>
# Usage:
#
# $ ./make_dummy.py ../conf/locale/en/LC_MESSAGES/django.po
# $ ./make_dummy.py
#
# generates output to
# edx-platform/conf/locale/eo/LC_MESSAGES/django.po
# CONFIGURATION.get_messages_dir(CONFIGURATION.dummy_locale)
# (for example,
# edx-platform/conf/locale/eo/LC_MESSAGES/)
import os, sys
import polib
......@@ -59,12 +61,10 @@ def new_filename(original_filename, new_locale):
return os.path.abspath(os.path.join(orig_dir, '../..', new_locale, msgs_dir, orig_file))
if __name__ == '__main__':
# required arg: file
if len(sys.argv) < 2:
raise Exception("missing file argument")
# optional arg: locale
if len(sys.argv) < 3:
locale = CONFIGURATION.get_dummy_locale()
else:
locale = sys.argv[2]
main(sys.argv[1], locale)
LOCALE = CONFIGURATION.dummy_locale
SOURCE_MSGS_DIR = CONFIGURATION.source_messages_dir
print "Processing source language files into dummy strings:",
for source_file in CONFIGURATION.dummy_sources:
print source_file,
main(SOURCE_MSGS_DIR.joinpath(source_file), LOCALE)
print
......@@ -14,12 +14,7 @@ namespace :i18n do
desc "Simulate international translation by generating dummy strings corresponding to source strings."
task :dummy do
source_files = Dir["#{REPO_ROOT}/conf/locale/en/LC_MESSAGES/*.po"]
dummy_locale = 'eo'
cmd = File.join(REPO_ROOT, "i18n", "make_dummy.py")
for file in source_files do
sh("#{cmd} #{file} #{dummy_locale}")
end
sh(File.join(REPO_ROOT, "i18n", "make_dummy.py"))
end
namespace :validate do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment