• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2# Copyright (c) 2009 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6# TODO: remove this script when GYP has for loops
7
8import sys
9import optparse
10
11def main(argv):
12
13  parser = optparse.OptionParser()
14  usage = 'usage: %s [options ...] format_string locale_list'
15  parser.set_usage(usage.replace('%s', '%prog'))
16  parser.add_option('-d', dest='dash_to_underscore', action="store_true",
17                    default=False,
18                    help='map "en-US" to "en" and "-" to "_" in locales')
19
20  (options, arglist) = parser.parse_args(argv)
21
22  if len(arglist) < 3:
23    print 'ERROR: need string and list of locales'
24    return 1
25
26  str_template = arglist[1]
27  locales = arglist[2:]
28
29  results = []
30  for locale in locales:
31    # For Cocoa to find the locale at runtime, it needs to use '_' instead
32    # of '-' (http://crbug.com/20441).  Also, 'en-US' should be represented
33    # simply as 'en' (http://crbug.com/19165, http://crbug.com/25578).
34    if options.dash_to_underscore:
35      if locale == 'en-US':
36        locale = 'en'
37      locale = locale.replace('-', '_')
38    results.append(str_template.replace('ZZLOCALE', locale))
39
40  # Quote each element so filename spaces don't mess up GYP's attempt to parse
41  # it into a list.
42  print ' '.join(["'%s'" % x for x in results])
43
44if __name__ == '__main__':
45  sys.exit(main(sys.argv))
46