| Index: packagerChrome.py | 
| diff --git a/packagerChrome.py b/packagerChrome.py | 
| index 5e6f550d20ef4e1e75ce00764082d55d13595726..9228c6f498c222ef592779fd08183e0137762c21 100644 | 
| --- a/packagerChrome.py | 
| +++ b/packagerChrome.py | 
| @@ -191,75 +191,32 @@ def toJson(data): | 
| ).encode('utf-8') + '\n' | 
|  | 
|  | 
| -def import_string_webext(data, key, source): | 
| -    """Import a single translation from the source dictionary into data""" | 
| -    data[key] = source | 
| - | 
| - | 
| -def import_string_gecko(data, key, value): | 
| -    """Import Gecko-style locales into data. | 
| - | 
| -    Only sets {'message': value} in the data-dictionary, after stripping | 
| -    undesired Gecko-style access keys. | 
| -    """ | 
| -    match = re.search(r'^(.*?)\s*\(&.\)$', value) | 
| -    if match: | 
| -        value = match.group(1) | 
| -    else: | 
| -        index = value.find('&') | 
| -        if index >= 0: | 
| -            value = value[0:index] + value[index + 1:] | 
| - | 
| -    data[key] = {'message': value} | 
| - | 
| - | 
| def import_locales(params, files): | 
| for item in params['metadata'].items('import_locales'): | 
| filename, keys = item | 
| for sourceFile in glob.glob(os.path.join(os.path.dirname(item.source), | 
| *filename.split('/'))): | 
| -            parts = sourceFile.split(os.path.sep) | 
| -            locale = parts[-2].replace('-', '_') | 
| +            locale = sourceFile.split(os.path.sep)[-2] | 
| targetFile = os.path.join('_locales', locale, 'messages.json') | 
| data = json.loads(files.get(targetFile, '{}').decode('utf-8')) | 
|  | 
| try: | 
| -                # The WebExtensions (.json) and Gecko format provide | 
| -                # translations differently and/or provide additional | 
| -                # information like e.g. "placeholders". We want to adhere to | 
| -                # that and preserve the addtional info. | 
| -                if sourceFile.endswith('.json'): | 
| -                    with io.open(sourceFile, 'r', encoding='utf-8') as handle: | 
| -                        sourceData = json.load(handle) | 
| -                    import_string = import_string_webext | 
| -                else: | 
| -                    import localeTools | 
| -                    sourceData = localeTools.readFile(sourceFile) | 
| -                    import_string = import_string_gecko | 
| +                with io.open(sourceFile, 'r', encoding='utf-8') as handle: | 
| +                    sourceData = json.load(handle) | 
|  | 
| # Resolve wildcard imports | 
| -                if keys == '*' or keys == '=*': | 
| +                if keys == '*': | 
| importList = sourceData.keys() | 
| importList = filter(lambda k: not k.startswith('_'), importList) | 
| -                    if keys == '=*': | 
| -                        importList = map(lambda k: '=' + k, importList) | 
| keys = ' '.join(importList) | 
|  | 
| for stringID in keys.split(): | 
| -                    noMangling = False | 
| -                    if stringID.startswith('='): | 
| -                        stringID = stringID[1:] | 
| -                        noMangling = True | 
| - | 
| if stringID in sourceData: | 
| -                        if noMangling: | 
| -                            key = re.sub(r'\W', '_', stringID) | 
| -                        else: | 
| -                            key = re.sub(r'\..*', '', parts[-1]) + '_' + re.sub(r'\W', '_', stringID) | 
| -                        if key in data: | 
| -                            print 'Warning: locale string %s defined multiple times' % key | 
| - | 
| -                        import_string(data, key, sourceData[stringID]) | 
| +                        if stringID in data: | 
| +                            print ('Warning: locale string {} defined multiple' | 
| +                                   ' times').format(stringID) | 
| + | 
| +                        data[stringID] = sourceData[stringID] | 
| except Exception as e: | 
| print 'Warning: error importing locale data from %s: %s' % (sourceFile, e) | 
|  | 
|  |