|  | #!/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)) |