Auto translator
This commit is contained in:
62
Auto Trans/Applier.py
Normal file
62
Auto Trans/Applier.py
Normal file
@ -0,0 +1,62 @@
|
||||
#Expects scripts files inside the scripts folder. Takes strings from the trans.csv file, and applies it to the scripts file.
|
||||
|
||||
import csv
|
||||
import os
|
||||
|
||||
# def parse_string(input_string):
|
||||
# import re
|
||||
|
||||
# # Use a regular expression to match the substrings between the quotes
|
||||
# matches = re.findall(r'\"(.+?)\"', input_string)
|
||||
|
||||
# # Split the input string on the quotes
|
||||
# split_string = re.split(r'\"', input_string)
|
||||
|
||||
# # The first element in the split string is the leading whitespace, so we can remove it
|
||||
# split_string = split_string[1:]
|
||||
|
||||
# # Zip the split string and the matches together, then unpack them into two separate lists
|
||||
# split_list, matches_list = zip(*zip(split_string, matches))
|
||||
|
||||
# # Concatenate the lists and return the result
|
||||
# return list(split_list) + list(matches_list)
|
||||
|
||||
# Create the output folder if it doesn't exist
|
||||
if not os.path.exists('output'):
|
||||
os.makedirs('output')
|
||||
if not os.path.exists('scripts'):
|
||||
os.makedirs('scripts')
|
||||
|
||||
# Open the CSV file with the translations
|
||||
with open('trans.csv', 'r', encoding='utf8') as translations_file:
|
||||
translations_reader = csv.reader(translations_file)
|
||||
|
||||
# Create a dictionary to store the translations
|
||||
translations = {}
|
||||
|
||||
# Iterate through the rows of the CSV file
|
||||
for row in translations_reader:
|
||||
# The first column is the English string and the second column is the Spanish translation
|
||||
english_string = row[0]
|
||||
spanish_translation = row[1]
|
||||
translations[english_string] = spanish_translation
|
||||
|
||||
# Iterate through all the .rpy files in the folder
|
||||
for file_name in os.listdir('scripts'):
|
||||
if file_name.endswith('.rpy'):
|
||||
# Open the .rpy file
|
||||
with open(os.path.join('scripts', file_name), 'r', encoding='utf8') as rpy_file:
|
||||
lines = rpy_file.readlines()
|
||||
|
||||
# Open the output file for writing
|
||||
with open(os.path.join('output', file_name), 'w', encoding='utf8') as output_file:
|
||||
# Iterate through the lines of the .rpy file
|
||||
for line in lines:
|
||||
# Check if the line is commented out
|
||||
if not line.strip().startswith('#'):
|
||||
# Iterate through the translations
|
||||
for english_string, spanish_translation in translations.items():
|
||||
# Replace the English string with the translated string
|
||||
line = line.replace(english_string, spanish_translation)
|
||||
# Write the modified line to the output file
|
||||
output_file.write(line)
|
Reference in New Issue
Block a user