Index: build/apply_locales.py |
diff --git a/build/apply_locales.py b/build/apply_locales.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..6af7280fadc82ca17c7ea4237cac0a74007b94ad |
--- /dev/null |
+++ b/build/apply_locales.py |
@@ -0,0 +1,45 @@ |
+#!/usr/bin/env python |
+# Copyright (c) 2009 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+# TODO: remove this script when GYP has for loops |
+ |
+import sys |
+import optparse |
+ |
+def main(argv): |
+ |
+ parser = optparse.OptionParser() |
+ usage = 'usage: %s [options ...] format_string locale_list' |
+ parser.set_usage(usage.replace('%s', '%prog')) |
+ parser.add_option('-d', dest='dash_to_underscore', action="store_true", |
+ default=False, |
+ help='map "en-US" to "en" and "-" to "_" in locales') |
+ |
+ (options, arglist) = parser.parse_args(argv) |
+ |
+ if len(arglist) < 3: |
+ print 'ERROR: need string and list of locales' |
+ return 1 |
+ |
+ str_template = arglist[1] |
+ locales = arglist[2:] |
+ |
+ results = [] |
+ for locale in locales: |
+ # For Cocoa to find the locale at runtime, it needs to use '_' instead |
+ # of '-' (http://crbug.com/20441). Also, 'en-US' should be represented |
+ # simply as 'en' (http://crbug.com/19165, http://crbug.com/25578). |
+ if options.dash_to_underscore: |
+ if locale == 'en-US': |
+ locale = 'en' |
+ locale = locale.replace('-', '_') |
+ results.append(str_template.replace('ZZLOCALE', locale)) |
+ |
+ # Quote each element so filename spaces don't mess up GYP's attempt to parse |
+ # it into a list. |
+ print ' '.join(["'%s'" % x for x in results]) |
+ |
+if __name__ == '__main__': |
+ sys.exit(main(sys.argv)) |