Skip to content

Commit

Permalink
translations: Add script to autotranslate.
Browse files Browse the repository at this point in the history
  • Loading branch information
kwagyeman committed Nov 23, 2024
1 parent 5d5fc17 commit 43453aa
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions share/qtcreator/translations/translate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/python

# Copyright (C) 2023-2024 OpenMV, LLC.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Any redistribution, use, or modification in source or binary form
# is done solely for personal benefit and not for any commercial
# purpose or for monetary gain. For commercial licensing options,
# please contact [email protected]
#
# THIS SOFTWARE IS PROVIDED BY THE LICENSOR AND COPYRIGHT OWNER "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR OR COPYRIGHT
# OWNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

import os
import subprocess
from concurrent.futures import ThreadPoolExecutor
import argparse

def translate_file(file_name):
language_code = file_name.split('_')[1].split('.')[0]
command = f"python -u CuteLingoExpress/auto_trans.py {file_name} en {language_code}"
process = subprocess.Popen(command, shell=True)
process.wait()

def main():
parser = argparse.ArgumentParser(description="Translate files in parallel.")
parser.add_argument('--max-connections', type=int, default=5, help='Maximum number of active connections (default: 5)')
args = parser.parse_args()

ts_files = [f for f in os.listdir('.') if f.startswith('qtcreator_') and f.endswith('.ts')]
with ThreadPoolExecutor(max_workers=args.max_connections) as executor:
executor.map(translate_file, ts_files)

if __name__ == "__main__":
main()

0 comments on commit 43453aa

Please sign in to comment.