Skip to content

Commit 92abd1e

Browse files
committed
dev instructions should now work with the new gettext-based infrastructure.
1 parent 93a6577 commit 92abd1e

File tree

3 files changed

+26
-9
lines changed

3 files changed

+26
-9
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ browser-addon/chrome/webxray.js
33
src/settings.local.js
44
static-files/mix-master-dialog
55
/locale
6-
/src/locale
6+
/src/locale/*.js

go.py

+15-5
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,13 @@ def serve(cfg, ip=''):
103103
print "serving on %s port %d" % (ipstr, cfg['port'])
104104
server.serve_forever()
105105

106+
def compilemessages(cfg):
107+
localization.compilemessages(json_dir=path(cfg['staticFilesDir']),
108+
js_locale_dir=path('src', 'locale'),
109+
default_locale='en',
110+
locale_dir=locale_dir,
111+
locale_domain=locale_domain)
112+
106113
if __name__ == "__main__":
107114
cfg = json.loads(open('config.json', 'r').read())
108115
cfg['compiledFilename'] = cfg['staticFilesDir'] + cfg['compiledFile']
@@ -114,15 +121,13 @@ def serve(cfg, ip=''):
114121
cmd = sys.argv[1]
115122

116123
if cmd == 'serve':
124+
compilemessages(cfg)
117125
serve(cfg, '127.0.0.1')
118126
elif cmd == 'globalserve':
127+
compilemessages(cfg)
119128
serve(cfg)
120129
elif cmd == 'compilemessages':
121-
localization.compilemessages(json_dir=path(cfg['staticFilesDir']),
122-
js_locale_dir=path('src', 'locale'),
123-
default_locale='en',
124-
locale_dir=locale_dir,
125-
locale_domain=locale_domain)
130+
compilemessages(cfg)
126131
elif cmd == 'makemessages':
127132
locale = None
128133
if len(sys.argv) > 2:
@@ -133,13 +138,18 @@ def serve(cfg, ip=''):
133138
locale_domain=locale_domain,
134139
locale=locale)
135140
elif cmd == 'compile':
141+
compilemessages(cfg)
136142
f = open(cfg['compiledFilename'], 'w')
137143
f.write(build_compiled_file(cfg))
138144
f.close()
139145
print "wrote %s" % cfg['compiledFilename']
140146
elif cmd == 'clean':
141147
if os.path.exists(cfg['compiledFilename']):
148+
print "removing %s" % cfg['compiledFilename']
142149
os.remove(cfg['compiledFilename'])
150+
for filename in glob.glob(path('src', 'locale', '*.js')):
151+
print "removing %s" % filename
152+
os.remove(filename)
143153
print "removed generated files."
144154
else:
145155
print "unknown command: %s" % cmd

vendor/localization.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ def webxray_extract(fileobj, keywords, comment_tags, options):
3232
yield (lineno, funcname, message, comments)
3333

3434
def find_locales(dirname, domain):
35+
if not os.path.exists(dirname):
36+
return []
3537
return [name for name in os.listdir(dirname)
3638
if locale_exists(name, dirname, domain)]
3739

@@ -45,9 +47,11 @@ def compilemessages(json_dir, js_locale_dir, locale_dir, locale_domain,
4547
"convert message files into binary and JS formats"
4648

4749
data = json.load(open(os.path.join(json_dir, 'strings.json')))
48-
babel(['compile', '--use-fuzzy', '-d', locale_dir, '-D',
49-
locale_domain])
50-
locales = find_locales(locale_dir, locale_domain) + [default_locale]
50+
found_locales = find_locales(locale_dir, locale_domain)
51+
if found_locales:
52+
babel(['compile', '--use-fuzzy', '-d', locale_dir, '-D',
53+
locale_domain])
54+
locales = found_locales + [default_locale]
5155
for locale in locales:
5256
nice_locale = locale.replace('_', '-')
5357
print "processing localization '%s'" % nice_locale
@@ -94,6 +98,9 @@ def makemessages(babel_ini_file, json_dir, locale_dir,
9498
babel(['extract', '-F', babel_ini_file, '-o', potfile,
9599
json_dir])
96100

101+
if not locale and not find_locales(locale_dir, locale_domain):
102+
return
103+
97104
babel([cmd, '-i', potfile, '-d', locale_dir, '-D', locale_domain] +
98105
localeargs)
99106

0 commit comments

Comments
 (0)