Skip to content

Commit e19e49e

Browse files
committed
Added --locales-dir option ↞ [auto-sync from https://github.com/adamlui/python-utils/tree/main/translate-messages]
1 parent 226c6b4 commit e19e49e

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

chromium/utils/translate-en-messages.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'''
22
Name: translate-en-messages.py
3-
Version: 2026.2.10.15
3+
Version: 2026.2.10.16
44
Author: Adam Lui
55
Description: Translate en/messages.json to other locales
66
Homepage: https://github.com/adamlui/python-utils
@@ -15,7 +15,7 @@
1515
from translate import Translator
1616
from urllib.request import urlopen
1717

18-
locales_folder = '_locales' ; provider = ''
18+
provider = ''
1919
default_target_locales = [
2020
'af', 'am', 'ar', 'az', 'be', 'bem', 'bg', 'bn', 'bo', 'bs', 'ca', 'ceb', 'cs', 'cy', 'da', 'de', 'dv', 'dz', 'el',
2121
'en', 'en-GB', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fo', 'fr', 'gd', 'gl', 'gu', 'haw', 'he', 'hi', 'hr', 'ht',
@@ -39,8 +39,10 @@
3939
parser.add_argument('--include-langs', type=str, help='Languages to include (e.g. "en,es,fr")')
4040
parser.add_argument('--exclude-langs', type=str, help='Languages to exclude (e.g. "en,es")')
4141
parser.add_argument('--ignore-keys', type=str, help='Keys to ignore (e.g. "appName,author")')
42+
parser.add_argument('--locales-dir', type=str, help='Name of folder containing locales')
4243
parser.add_argument('--init', action='store_true', help='Create .config.json file to store defaults')
4344
args = parser.parse_args()
45+
locales_dir = args.locales_dir or '_locales'
4446

4547
if args.init: # create config file
4648
if os.path.exists(config_path):
@@ -86,25 +88,24 @@ def overwrite_print(msg) : stdout.write('\r' + msg.ljust(terminal_width)[:termin
8688
ignore_keys.append(key)
8789

8890
# Determine closest locales dir
89-
print_trunc(f'\nSearching for { locales_folder }...')
91+
print_trunc(f'\nSearching for { locales_dir }...')
9092
script_dir = os.path.abspath(os.path.dirname(__file__))
91-
locales_dir = None
9293
for root, dirs, files in os.walk(script_dir): # search script dir recursively
93-
if locales_folder in dirs:
94-
locales_dir = os.path.join(root, locales_folder) ; break
94+
if locales_dir in dirs:
95+
locales_dir = os.path.join(root, locales_dir) ; break
9596
else: # search script parent dirs recursively
9697
parent_dir = os.path.dirname(script_dir)
9798
while parent_dir and parent_dir != script_dir:
9899
for root, dirs, files in os.walk(parent_dir):
99-
if locales_folder in dirs:
100-
locales_dir = os.path.join(root, locales_folder) ; break
100+
if locales_dir in dirs:
101+
locales_dir = os.path.join(root, locales_dir) ; break
101102
if locales_dir : break
102103
parent_dir = os.path.dirname(parent_dir)
103104
else : locales_dir = None
104105

105106
# Print result
106107
if locales_dir : print_trunc(f'_locales directory found!\n\n>> { locales_dir }\n')
107-
else : print_trunc(f'Unable to locate a { locales_folder } directory.') ; exit()
108+
else : print_trunc(f'Unable to locate a { locales_dir } directory.') ; exit()
108109

109110
# Load en/messages.json
110111
msgs_filename = 'messages.json'

firefox/utils/translate-en-messages.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'''
22
Name: translate-en-messages.py
3-
Version: 2026.2.10.15
3+
Version: 2026.2.10.16
44
Author: Adam Lui
55
Description: Translate en/messages.json to other locales
66
Homepage: https://github.com/adamlui/python-utils
@@ -15,7 +15,7 @@
1515
from translate import Translator
1616
from urllib.request import urlopen
1717

18-
locales_folder = '_locales' ; provider = ''
18+
provider = ''
1919
default_target_locales = [
2020
'af', 'am', 'ar', 'az', 'be', 'bem', 'bg', 'bn', 'bo', 'bs', 'ca', 'ceb', 'cs', 'cy', 'da', 'de', 'dv', 'dz', 'el',
2121
'en', 'en-GB', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fo', 'fr', 'gd', 'gl', 'gu', 'haw', 'he', 'hi', 'hr', 'ht',
@@ -39,8 +39,10 @@
3939
parser.add_argument('--include-langs', type=str, help='Languages to include (e.g. "en,es,fr")')
4040
parser.add_argument('--exclude-langs', type=str, help='Languages to exclude (e.g. "en,es")')
4141
parser.add_argument('--ignore-keys', type=str, help='Keys to ignore (e.g. "appName,author")')
42+
parser.add_argument('--locales-dir', type=str, help='Name of folder containing locales')
4243
parser.add_argument('--init', action='store_true', help='Create .config.json file to store defaults')
4344
args = parser.parse_args()
45+
locales_dir = args.locales_dir or '_locales'
4446

4547
if args.init: # create config file
4648
if os.path.exists(config_path):
@@ -86,25 +88,24 @@ def overwrite_print(msg) : stdout.write('\r' + msg.ljust(terminal_width)[:termin
8688
ignore_keys.append(key)
8789

8890
# Determine closest locales dir
89-
print_trunc(f'\nSearching for { locales_folder }...')
91+
print_trunc(f'\nSearching for { locales_dir }...')
9092
script_dir = os.path.abspath(os.path.dirname(__file__))
91-
locales_dir = None
9293
for root, dirs, files in os.walk(script_dir): # search script dir recursively
93-
if locales_folder in dirs:
94-
locales_dir = os.path.join(root, locales_folder) ; break
94+
if locales_dir in dirs:
95+
locales_dir = os.path.join(root, locales_dir) ; break
9596
else: # search script parent dirs recursively
9697
parent_dir = os.path.dirname(script_dir)
9798
while parent_dir and parent_dir != script_dir:
9899
for root, dirs, files in os.walk(parent_dir):
99-
if locales_folder in dirs:
100-
locales_dir = os.path.join(root, locales_folder) ; break
100+
if locales_dir in dirs:
101+
locales_dir = os.path.join(root, locales_dir) ; break
101102
if locales_dir : break
102103
parent_dir = os.path.dirname(parent_dir)
103104
else : locales_dir = None
104105

105106
# Print result
106107
if locales_dir : print_trunc(f'_locales directory found!\n\n>> { locales_dir }\n')
107-
else : print_trunc(f'Unable to locate a { locales_folder } directory.') ; exit()
108+
else : print_trunc(f'Unable to locate a { locales_dir } directory.') ; exit()
108109

109110
# Load en/messages.json
110111
msgs_filename = 'messages.json'

0 commit comments

Comments
 (0)