Convert i18n/make_dummy.py to a standalone script
LMS-1967
This commit is contained in:
committed by
Calen Pennington
parent
b615de5728
commit
88789c1d21
@@ -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>
|
||||
#
|
||||
# $ ./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
|
||||
|
||||
Reference in New Issue
Block a user