diff --git a/src/call_game_python.py b/src/call_game_python.py index 9471684..e27085b 100644 --- a/src/call_game_python.py +++ b/src/call_game_python.py @@ -70,3 +70,11 @@ def get_py_path(game_path): def copy_files_under_directory_to_directory(src_dir, desc_dir): shutil.copytree(src_dir, desc_dir, dirs_exist_ok=True) + +def get_game_path_from_game_dir(game_dir): + for item in os.listdir(game_dir): + full_path = os.path.join(game_dir, item) + if os.path.isfile(full_path) and item.lower().endswith('.exe'): + if os.path.isfile(full_path[:-len('.exe')] + '.py'): + return full_path + return None diff --git a/src/error_repair.py b/src/error_repair.py new file mode 100644 index 0000000..7b3b724 --- /dev/null +++ b/src/error_repair.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'error_repair.ui' +## +## Created by: Qt User Interface Compiler version 6.6.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QDialog, QLabel, QLineEdit, + QPushButton, QSizePolicy, QTextEdit, QWidget) + +class Ui_ErrorRepairDialog(object): + def setupUi(self, ErrorRepairDialog): + if not ErrorRepairDialog.objectName(): + ErrorRepairDialog.setObjectName(u"ErrorRepairDialog") + ErrorRepairDialog.resize(666, 250) + self.selectFileBtn = QPushButton(ErrorRepairDialog) + self.selectFileBtn.setObjectName(u"selectFileBtn") + self.selectFileBtn.setGeometry(QRect(530, 30, 81, 91)) + self.selectFileBtn.setText(u"...") + self.label = QLabel(ErrorRepairDialog) + self.label.setObjectName(u"label") + self.label.setGeometry(QRect(40, 45, 71, 61)) + self.label.setWordWrap(True) + self.selectFileText = QTextEdit(ErrorRepairDialog) + self.selectFileText.setObjectName(u"selectFileText") + self.selectFileText.setGeometry(QRect(120, 30, 411, 91)) + self.selectFileText.setPlaceholderText(u"Example:F:/DemoGame.exe") + self.label_2 = QLabel(ErrorRepairDialog) + self.label_2.setObjectName(u"label_2") + self.label_2.setGeometry(QRect(40, 150, 211, 61)) + self.label_2.setWordWrap(True) + self.maxRecursionLineEdit = QLineEdit(ErrorRepairDialog) + self.maxRecursionLineEdit.setObjectName(u"maxRecursionLineEdit") + self.maxRecursionLineEdit.setGeometry(QRect(260, 170, 351, 20)) + self.maxRecursionLineEdit.setAlignment(Qt.AlignCenter) + self.repairBtn = QPushButton(ErrorRepairDialog) + self.repairBtn.setObjectName(u"repairBtn") + self.repairBtn.setGeometry(QRect(120, 220, 491, 24)) + + self.retranslateUi(ErrorRepairDialog) + + QMetaObject.connectSlotsByName(ErrorRepairDialog) + # setupUi + + def retranslateUi(self, ErrorRepairDialog): + ErrorRepairDialog.setWindowTitle(QCoreApplication.translate("ErrorRepairDialog", u"Error Repair", None)) + self.label.setText(QCoreApplication.translate("ErrorRepairDialog", u"file", None)) +#if QT_CONFIG(tooltip) + self.selectFileText.setToolTip("") +#endif // QT_CONFIG(tooltip) + self.label_2.setText(QCoreApplication.translate("ErrorRepairDialog", u"max repair count", None)) + self.maxRecursionLineEdit.setText(QCoreApplication.translate("ErrorRepairDialog", u"4", None)) + self.repairBtn.setText(QCoreApplication.translate("ErrorRepairDialog", u"repair errors", None)) + # retranslateUi + diff --git a/src/error_repair.ui b/src/error_repair.ui new file mode 100644 index 0000000..f3eb9d5 --- /dev/null +++ b/src/error_repair.ui @@ -0,0 +1,109 @@ + + + ErrorRepairDialog + + + + 0 + 0 + 666 + 250 + + + + Error Repair + + + + + 530 + 30 + 81 + 91 + + + + ... + + + + + + 40 + 45 + 71 + 61 + + + + file + + + true + + + + + + 120 + 30 + 411 + 91 + + + + + + + Example:F:/DemoGame.exe + + + + + + 40 + 150 + 211 + 61 + + + + max repair count + + + true + + + + + + 260 + 170 + 351 + 20 + + + + 4 + + + Qt::AlignCenter + + + + + + 120 + 220 + 491 + 24 + + + + repair errors + + + + + + diff --git a/src/error_repair_form.py b/src/error_repair_form.py new file mode 100644 index 0000000..b7dfa6c --- /dev/null +++ b/src/error_repair_form.py @@ -0,0 +1,87 @@ +import _thread +import os +import threading +import time +import traceback + +from PySide6.QtCore import QCoreApplication, QThread, Signal +from PySide6.QtGui import QIntValidator +from PySide6.QtWidgets import QDialog, QFileDialog + +from error_repair import Ui_ErrorRepairDialog +from my_log import log_print +from renpy_lint import fix_translation_by_lint_recursion + + +class repairThread(threading.Thread): + def __init__(self, path, max_recursion_depth): + threading.Thread.__init__(self) + self.path = path + self.max_recursion_depth = max_recursion_depth + + def run(self): + try: + log_print('start repairing ...') + fix_translation_by_lint_recursion(self.path, self.max_recursion_depth) + except Exception as e: + msg = traceback.format_exc() + log_print(msg) + + +class MyErrorRepairForm(QDialog, Ui_ErrorRepairDialog): + def __init__(self, parent=None): + super(MyErrorRepairForm, self).__init__(parent) + self.setupUi(self) + self.setFixedHeight(self.height()) + self.setFixedWidth(self.width()) + self.selectFileBtn.clicked.connect(self.select_file) + self.repairBtn.clicked.connect(self.repair) + self.maxRecursionLineEdit.setValidator(QIntValidator(1, 65535, self)) + self.repair_thread = None + _thread.start_new_thread(self.update, ()) + + def repair(self): + path = self.selectFileText.toPlainText() + path = path.replace('file:///', '') + if os.path.isfile(path): + if path.endswith('.exe'): + t = repairThread(path, int(self.maxRecursionLineEdit.text())) + self.repair_thread = t + t.start() + self.setDisabled(True) + self.repairBtn.setText(QCoreApplication.translate('ErrorRepairDialog', 'is repairing...', None)) + + def select_file(self): + file, filetype = QFileDialog.getOpenFileName(self, 'select the game file', '', "Game Files (*.exe)") + self.selectFileText.setText(file) + + def update(self): + thread = self.UpdateThread() + thread.update_date.connect(self.update_progress) + while True: + thread.start() + time.sleep(0.5) + + def update_progress(self): + try: + if self.repair_thread is not None: + if not self.repair_thread.is_alive(): + self.repairBtn.setText(QCoreApplication.translate('ErrorRepairDialog', 'repair errors', None)) + self.setEnabled(True) + self.repair_thread = None + log_print('error repair complete!') + except Exception: + msg = traceback.format_exc() + log_print(msg) + + class UpdateThread(QThread): + update_date = Signal() + + def __init__(self): + super().__init__() + + def __del__(self): + self.wait() + + def run(self): + self.update_date.emit() \ No newline at end of file diff --git a/src/main.py b/src/main.py index 37e81b2..a89672d 100644 --- a/src/main.py +++ b/src/main.py @@ -41,6 +41,7 @@ from one_key_translate_form import MyOneKeyTranslateForm from pack_game_form import MyPackGameForm from format_form import MyFormationForm +from error_repair_form import MyErrorRepairForm from renpy_translate import translateThread, translate_threads, engineList, engineDic, language_header, \ get_translated_dic, web_brower_export_name, get_rpy_info, rpy_info_dic, get_translated, web_brower_translate from proxy import Ui_ProxyDialog @@ -55,7 +56,8 @@ sourceDic = dict() translator = QTranslator() -VERSION = '2.5.6' +VERSION = '2.5.7' + class MyProxyForm(QDialog, Ui_ProxyDialog): def __init__(self, parent=None): @@ -171,6 +173,7 @@ def __init__(self, parent=None): self.myPackGameForm = None self.myDefaultLanuageForm = None self.myFormationForm = None + self.myErrorRepairForm = None self.actioncopyright.triggered.connect(lambda: self.show_copyright_form()) self.proxySettings.triggered.connect(lambda: self.show_proxy_settings()) self.engineSettings.triggered.connect(lambda: self.show_engine_settings()) @@ -179,6 +182,7 @@ def __init__(self, parent=None): self.actionextract_translation.triggered.connect(lambda: self.show_extraction_form()) self.actionruntime_extraction.triggered.connect(lambda: self.show_extraction_runtime_form()) self.actionreplace_font.triggered.connect(lambda: self.replace_font()) + self.actionerror_repair.triggered.connect(lambda: self.show_error_repair_form()) self.actionunpack_game.triggered.connect(lambda: self.unpack_game()) self.actionadd_change_langauge_entrance.triggered.connect(lambda: self.show_add_entrance_form()) self.actionone_key_translate.triggered.connect(lambda: self.show_one_key_translate_form()) @@ -225,13 +229,18 @@ def __init__(self, parent=None): _thread.start_new_thread(self.update_log, ()) + def show_error_repair_form(self): + if self.myErrorRepairForm is None: + self.myErrorRepairForm = MyErrorRepairForm(parent=self) + self.myErrorRepairForm.parent = self + self.myErrorRepairForm.exec() + def show_formation_form(self): if self.myFormationForm is None: self.myFormationForm = MyFormationForm(parent=self) self.myFormationForm.parent = self self.myFormationForm.exec() - def show_default_langauge_form(self): if self.myDefaultLanuageForm is None: self.myDefaultLanuageForm = MyDefaultLanguageForm(parent=self) @@ -239,7 +248,7 @@ def show_default_langauge_form(self): def on_combobox_changed(self): if os.path.isfile('engine.txt'): - json_file = open('engine.txt', 'r',encoding='utf-8') + json_file = open('engine.txt', 'r', encoding='utf-8') ori = json.load(json_file) json_file.close() current_engine = ori['engine'] @@ -250,7 +259,6 @@ def on_combobox_changed(self): json_file = open('engine.txt', 'w', encoding='utf-8') json.dump(ori, json_file) - def on_version_label_clicked(self): try: latest_release = get_latest_release('anonymousException', 'renpy-translator') @@ -589,7 +597,7 @@ def init_combobox(self): @staticmethod def locate_log(): - open_directory_and_select_file(os.getcwd()+'/'+log_path) + open_directory_and_select_file(os.getcwd() + '/' + log_path) @staticmethod def clear_log(): @@ -683,7 +691,8 @@ def update_progress(self, data): self.myFormationForm.formatBtn.setDisabled(True) else: if self.myFormationForm is not None: - self.myFormationForm.formatBtn.setText(QCoreApplication.translate('FormatDialog', 'format rpy files', None)) + self.myFormationForm.formatBtn.setText( + QCoreApplication.translate('FormatDialog', 'format rpy files', None)) self.myFormationForm.formatBtn.setEnabled(True) class UpdateThread(QThread): diff --git a/src/one_key_translate.py b/src/one_key_translate.py index 3da0177..f455cbc 100644 --- a/src/one_key_translate.py +++ b/src/one_key_translate.py @@ -108,7 +108,7 @@ def setupUi(self, OneKeyTranslateDialog): self.label_14.setAlignment(Qt.AlignCenter) self.startButton = QPushButton(OneKeyTranslateDialog) self.startButton.setObjectName(u"startButton") - self.startButton.setGeometry(QRect(620, 500, 401, 251)) + self.startButton.setGeometry(QRect(620, 620, 401, 131)) self.officialExtractionCheckBox = QCheckBox(OneKeyTranslateDialog) self.officialExtractionCheckBox.setObjectName(u"officialExtractionCheckBox") self.officialExtractionCheckBox.setGeometry(QRect(620, 150, 411, 20)) @@ -157,6 +157,19 @@ def setupUi(self, OneKeyTranslateDialog): self.setDefaultLanguageCheckBox.setObjectName(u"setDefaultLanguageCheckBox") self.setDefaultLanguageCheckBox.setGeometry(QRect(620, 390, 821, 20)) self.setDefaultLanguageCheckBox.setChecked(True) + self.errorRepairCheckBox = QCheckBox(OneKeyTranslateDialog) + self.errorRepairCheckBox.setObjectName(u"errorRepairCheckBox") + self.errorRepairCheckBox.setGeometry(QRect(620, 510, 411, 20)) + self.errorRepairCheckBox.setChecked(True) + self.maxRecursionLineEdit = QLineEdit(OneKeyTranslateDialog) + self.maxRecursionLineEdit.setObjectName(u"maxRecursionLineEdit") + self.maxRecursionLineEdit.setGeometry(QRect(620, 590, 401, 20)) + self.maxRecursionLineEdit.setAlignment(Qt.AlignCenter) + self.label_5 = QLabel(OneKeyTranslateDialog) + self.label_5.setObjectName(u"label_5") + self.label_5.setGeometry(QRect(620, 540, 391, 41)) + self.label_5.setAlignment(Qt.AlignCenter) + self.label_5.setWordWrap(True) self.retranslateUi(OneKeyTranslateDialog) @@ -201,5 +214,8 @@ def retranslateUi(self, OneKeyTranslateDialog): self.rtlCheckBox.setText(QCoreApplication.translate("OneKeyTranslateDialog", u"Enable RTL (Right To Left)", None)) self.label_3.setText(QCoreApplication.translate("OneKeyTranslateDialog", u"(Fix reversed font problem for some languages like arabic, urdu)", None)) self.setDefaultLanguageCheckBox.setText(QCoreApplication.translate("OneKeyTranslateDialog", u"set default language at startup", None)) + self.errorRepairCheckBox.setText(QCoreApplication.translate("OneKeyTranslateDialog", u"Error Repair", None)) + self.maxRecursionLineEdit.setText(QCoreApplication.translate("OneKeyTranslateDialog", u"4", None)) + self.label_5.setText(QCoreApplication.translate("OneKeyTranslateDialog", u"max repair count", None)) # retranslateUi diff --git a/src/one_key_translate.ui b/src/one_key_translate.ui index c18036a..d70ab19 100644 --- a/src/one_key_translate.ui +++ b/src/one_key_translate.ui @@ -349,9 +349,9 @@ 620 - 500 + 620 401 - 251 + 131 @@ -544,6 +544,57 @@ true + + + + 620 + 510 + 411 + 20 + + + + Error Repair + + + true + + + + + + 620 + 590 + 401 + 20 + + + + 4 + + + Qt::AlignCenter + + + + + + 620 + 540 + 391 + 41 + + + + max repair count + + + Qt::AlignCenter + + + true + + diff --git a/src/one_key_translate_form.py b/src/one_key_translate_form.py index 4d5042f..3138856 100644 --- a/src/one_key_translate_form.py +++ b/src/one_key_translate_form.py @@ -33,6 +33,7 @@ import my_log from font_replace_form import replaceFontThread import default_language_form +from error_repair_form import repairThread from translated_form import MyTranslatedForm @@ -56,12 +57,14 @@ def __init__(self, parent=None): self.changeTranslationEngineButton.clicked.connect(self.show_engine_settings) self.filterLengthLineEdit.setValidator(QIntValidator(1, 99, self)) self.filterLengthLineEdit_2.setValidator(QIntValidator(1, 99, self)) + self.maxRecursionLineEdit.setValidator(QIntValidator(1, 65535, self)) self.local_glossary = None self.localGlossaryCheckBox.clicked.connect(self.on_local_glossary_checkbox_state_changed) self.selectFontBtn.clicked.connect(self.select_font) self.startButton.clicked.connect(self.on_start_button_clicked) self.path = None self.official_extract_thread = None + self.repair_thread = None self.replace_font_thread = None self.is_queue_task_empty = True self.q = MyQueue() @@ -119,6 +122,9 @@ def on_start_button_clicked(self): if self.officialExtractionCheckBox.isChecked(): self.q.put(self.official_extract) self.qDic[self.official_extract] = (False, False) + if self.errorRepairCheckBox.isChecked(): + self.q.put(self.repair) + self.qDic[self.repair] = (False, False) if self.extractionCheckBox.isChecked(): self.q.put(self.extract) self.qDic[self.extract] = (False, False) @@ -139,6 +145,16 @@ def on_start_button_clicked(self): self.parent.showNormal() self.parent.raise_() + def repair(self): + path = self.selectFileText.toPlainText() + path = path.replace('file:///', '') + if os.path.isfile(path): + if path.endswith('.exe'): + t = repairThread(path, int(self.maxRecursionLineEdit.text())) + self.repair_thread = t + t.start() + self.setDisabled(True) + def set_default_language(self): tl_name = self.tlNameText.toPlainText() target = self.get_set_default_language_target() @@ -665,6 +681,13 @@ def update_progress(self): is_finished = True self.qDic[self.official_extract] = is_finished, is_executed + if self.repair_thread is not None: + if not self.repair_thread.is_alive(): + self.repair_thread = None + is_finished, is_executed = self.qDic[self.repair] + is_finished = True + self.qDic[self.repair] = is_finished, is_executed + if self.replace_font_thread is not None: if not self.replace_font_thread.is_alive(): self.replace_font_thread = None diff --git a/src/qm/arabic.qm b/src/qm/arabic.qm index c462ef8..e6ade2e 100644 Binary files a/src/qm/arabic.qm and b/src/qm/arabic.qm differ diff --git a/src/qm/bengali.qm b/src/qm/bengali.qm index c99dedf..fbace2e 100644 Binary files a/src/qm/bengali.qm and b/src/qm/bengali.qm differ diff --git a/src/qm/chinese.qm b/src/qm/chinese.qm index 95a5f66..d76bc4d 100644 Binary files a/src/qm/chinese.qm and b/src/qm/chinese.qm differ diff --git a/src/qm/french.qm b/src/qm/french.qm index 2b3ef07..987df1f 100644 Binary files a/src/qm/french.qm and b/src/qm/french.qm differ diff --git a/src/qm/german.qm b/src/qm/german.qm index 402ab7b..e476bd4 100644 Binary files a/src/qm/german.qm and b/src/qm/german.qm differ diff --git a/src/qm/greek.qm b/src/qm/greek.qm index 0b07f51..ae89222 100644 Binary files a/src/qm/greek.qm and b/src/qm/greek.qm differ diff --git a/src/qm/hindi.qm b/src/qm/hindi.qm index 461e9a1..d448426 100644 Binary files a/src/qm/hindi.qm and b/src/qm/hindi.qm differ diff --git a/src/qm/japanese.qm b/src/qm/japanese.qm index 6553630..afa5267 100644 Binary files a/src/qm/japanese.qm and b/src/qm/japanese.qm differ diff --git a/src/qm/korean.qm b/src/qm/korean.qm index 0d8dcf5..5d453eb 100644 Binary files a/src/qm/korean.qm and b/src/qm/korean.qm differ diff --git a/src/qm/portuguese.qm b/src/qm/portuguese.qm index f4bf9bc..6787d2d 100644 Binary files a/src/qm/portuguese.qm and b/src/qm/portuguese.qm differ diff --git a/src/qm/russian.qm b/src/qm/russian.qm index 5a16f55..9593f86 100644 Binary files a/src/qm/russian.qm and b/src/qm/russian.qm differ diff --git a/src/qm/spanish.qm b/src/qm/spanish.qm index fe9cee3..110b37d 100644 Binary files a/src/qm/spanish.qm and b/src/qm/spanish.qm differ diff --git a/src/qm/turkish.qm b/src/qm/turkish.qm index 1b584c8..e35e67a 100644 Binary files a/src/qm/turkish.qm and b/src/qm/turkish.qm differ diff --git a/src/qm/urdu.qm b/src/qm/urdu.qm index 88cca18..bc333bb 100644 Binary files a/src/qm/urdu.qm and b/src/qm/urdu.qm differ diff --git a/src/renpy_extract.py b/src/renpy_extract.py index 7c688af..0af2257 100644 --- a/src/renpy_extract.py +++ b/src/renpy_extract.py @@ -36,6 +36,13 @@ def run(self): extracted = ExtractFromFile(self.p, False, 9999, False, self.is_py2) else: remove_repeat_for_file(self.p) + f = io.open(self.p, 'r', encoding='utf-8') + _lines = f.readlines() + f.close() + f = io.open(self.p, 'w', encoding='utf-8') + _lines = get_remove_consecutive_empty_lines(_lines) + f.writelines(_lines) + f.close() extracted = None get_extracted_lock.acquire() get_extracted_set_list.append((self.p, extracted)) @@ -132,28 +139,6 @@ def remove_repeat_extracted_from_tl(tl_dir, is_py2): f.close() remove_repeat_for_file(p2) i = i + 1 - cnt = 0 - get_extracted_set_list.clear() - paths = os.walk(p, topdown=False) - for path, dir_lst, file_lst in paths: - for file_name in file_lst: - i = os.path.join(path, file_name) - if file_name.endswith("rpy") == False: - continue - t = ExtractTlThread(i, is_py2, True) - get_extracted_threads.append(t) - cnt = cnt + 1 - t.start() - while True: - threads_len = len(get_extracted_threads) - if threads_len > 0: - for t in get_extracted_threads: - if t.is_alive(): - t.join() - get_extracted_threads.remove(t) - else: - break - get_extracted_set_list.clear() def get_remove_consecutive_empty_lines(lines): last_line_empty = False @@ -572,3 +557,28 @@ def ExtractAllFilesInDir(dirName, is_open_filter, filter_length, is_gen_empty, i WriteExtracted(dirName, set(), is_open_filter, filter_length, is_gen_empty, is_skip_underline, is_py2) log_print('start removing repeated extraction, please waiting...') remove_repeat_extracted_from_tl(dirName, is_py2) + cnt = 0 + get_extracted_set_list.clear() + p = dirName + if p[len(p) - 1] != '/' and p[len(p) - 1] != '\\': + p = p + '/' + paths = os.walk(p, topdown=False) + for path, dir_lst, file_lst in paths: + for file_name in file_lst: + i = os.path.join(path, file_name) + if file_name.endswith("rpy") == False: + continue + t = ExtractTlThread(i, is_py2, True) + get_extracted_threads.append(t) + cnt = cnt + 1 + t.start() + while True: + threads_len = len(get_extracted_threads) + if threads_len > 0: + for t in get_extracted_threads: + if t.is_alive(): + t.join() + get_extracted_threads.remove(t) + else: + break + get_extracted_set_list.clear() \ No newline at end of file diff --git a/src/renpy_lint.py b/src/renpy_lint.py new file mode 100644 index 0000000..aabf21d --- /dev/null +++ b/src/renpy_lint.py @@ -0,0 +1,137 @@ +import io +import os +import subprocess + +from call_game_python import get_python_path_from_game_path, get_py_path +from my_log import log_print + +lint_out_path = 'error_repair.txt' + + +def get_renpy_cmd(game_path): + python_path = get_python_path_from_game_path(game_path) + py_path = get_py_path(game_path) + game_dir = os.path.dirname(game_path) + + command = '"' + python_path + '"' + ' -O "' + py_path + '" "' + game_dir + '" lint ' + '"' + os.path.dirname( + game_path) + '/' + lint_out_path + '"' + return command + + +def exec_renpy_lint(game_path): + command = get_renpy_cmd(game_path) + p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, + creationflags=0x08000000, text=True, encoding='utf-8') + p.wait() + stdout, stderr = p.communicate() + return stdout, stderr + + +def fix_translation_by_lint(game_path): + target = os.path.dirname(game_path) + '/' + lint_out_path + if os.path.isfile(target): + os.remove(target) + stdout, stderr = exec_renpy_lint(game_path) + log_print('renpy lint finish, start analyzing...') + if len(stderr) > 0: + log_print(f'call renpy lint error : {stderr}') + return False + lines = stdout.splitlines() + if os.path.isfile(target): + os.remove(target) + return False + is_fixed = False + fix_list = [] + for line in lines: + err_file = '' + err_line = -1 + if (line.endswith('is not terminated with a newline. (Check strings and parenthesis.)') or line.endswith( + 'end of line expected.') + or line.endswith('expects a non-empty block.') or line.endswith('unknown statement') or line.endswith( + 'expected statement.')): + idx = line.index(', line ') + err_file = line[line.index(' ') + 1:idx].strip('"') + err_line = line[idx + len(', line '): line.index(':', idx)].strip() + err_line = int(err_line) - 1 + if line in fix_list: + continue + fix_list.append(line) + if line.startswith('Exception: A translation for '): + idx = line.rindex('already exists at ') + err_content = line[len('Exception: A translation for '):idx].rstrip() + idx = idx + len('already exists at ') + err_info = line[idx:].rstrip('.').lstrip() + err_file, err_line = err_info.split(':', 1) + err_line = int(err_line) + 1 + if err_info in fix_list: + continue + fix_list.append(err_info) + if err_line == -1: + continue + err_file = os.path.dirname(game_path) + '/' + err_file + if not os.path.isfile(err_file): + log_print('error path : ' + err_file) + f = io.open(err_file, 'r', encoding='utf-8') + _lines = f.readlines() + f.close() + log_print( + 'remove error line ' + str(err_line) + ' in ' + err_file + ' : "' + _lines[err_line].rstrip('\n') + '"') + if _lines[err_line - 1].rstrip().endswith('""")'): + _idx = err_line + new_idx = -1 + end_idx = -1 + while True: + if _idx >= len(_lines): + break + if _lines[_idx].startswith(' new _p("""'): + new_idx = _idx + break + _idx = _idx - 1 + if new_idx != -1: + _idx = new_idx - 1 + while True: + if _idx >= len(_lines): + break + if _lines[_idx].startswith(' old _p("""'): + end_idx = _idx + break + _idx = _idx - 1 + if end_idx != -1: + for _idx in range(end_idx, err_line + 1): + _lines[_idx] = '\n' + + elif _lines[err_line].startswith(' old ') and _lines[err_line + 1].startswith(' new '): + _lines[err_line] = '' + _lines[err_line + 1] = '' + if _lines[err_line - 1].lstrip().startswith('#'): + _lines[err_line - 1] = '' + elif _lines[err_line].startswith(' new ') and _lines[err_line - 1].startswith(' old '): + _lines[err_line] = '' + _lines[err_line - 1] = '' + if _lines[err_line - 2].lstrip().startswith('#'): + _lines[err_line - 2] = '' + elif line.endswith('unknown statement') or line.endswith('expected statement.'): + _lines[err_line] = '\n' + else: + _lines[err_line] = ' ""\n' + f = io.open(err_file, 'w', encoding='utf-8') + f.writelines(_lines) + f.close() + is_fixed = True + return is_fixed + + +def fix_translation_by_lint_recursion(game_path, max_recursion_depth): + command = get_renpy_cmd(game_path) + log_print(command) + cnt = 0 + while True: + log_print('start reparing ' + str(cnt + 1) + '/' + str(max_recursion_depth)) + if not fix_translation_by_lint(game_path): + log_print('no errors left, finish!') + break + cnt = cnt + 1 + if cnt >= max_recursion_depth: + break + +# fix_translation_by_lint_recursion('F:/Games/RenPy/DemoGame-1.1-dists/DemoGame-1.1-win/DemoGame.exe') diff --git a/src/ts/arabic.ts b/src/ts/arabic.ts index f8059ea..a2b370f 100644 --- a/src/ts/arabic.ts +++ b/src/ts/arabic.ts @@ -272,64 +272,64 @@ EditorDialog - + Path طريق - + Units الوحدات - - - + + + Translated مترجم - - - - - - + + + + + + Export to html file تصدير إلى ملف HTML - - + + Import html and relative translated contents استيراد HTML والمحتويات المترجمة النسبية - - + + line خط - - + + refer يشير إلى - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current حاضِر - + Remove يزيل - + Import to files الاستيراد إلى الملفات - + Do you want to make advanced settings (the default setting is to import to all files in the directory) هل تريد إجراء إعدادات متقدمة (الإعداد الافتراضي هو الاستيراد إلى كافة الملفات الموجودة في الدليل) - - - + + + Do you want to replace special symbols? هل تريد استبدال الرموز الخاصة؟ - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) هل تريد عمل إعدادات متقدمة (الإعداد الافتراضي هو تصدير جميع الملفات الموجودة في الدليل) - + Case Sensitive حساسية الموضوع - + Search refer column البحث في العمود المرجعي - + Search Original column البحث في العمود الأصلي - + Search Current column البحث في العمود الحالي - + Search Translated column البحث في العمود المترجم - - + + Input Dialog حوار الإدخال - + Please Input the line number you want to jump الرجاء إدخال رقم السطر الذي تريد القفز عليه - + Please Input the content you want to search الرجاء إدخال المحتوى الذي تريد البحث فيه - + Translate Translation Source to Translated ترجمة مصدر الترجمة إلى مترجم - + Copy Original to Current انسخ الأصل إلى الحالي - + Copy Translated to Current نسخة مترجمة إلى الحالية - + Rollback Current to First Load التراجع الحالي إلى التحميل الأول - + select the directory you want to edit حدد الدليل الذي تريد تحريره - + select the file(s) you want to edit حدد الملف (الملفات) الذي تريد تحريره - - - - - - + + + + + + Export to xlsx file تصدير إلى ملف XLSX @@ -682,6 +682,35 @@ قالب موجه مخصص + + ErrorRepairDialog + + + is repairing... + يتم اصلاح... + + + + + repair errors + إصلاح الأخطاء + + + + Error Repair + إصلاح الخطأ + + + + file + ملف + + + + max repair count + الحد الأقصى لعدد الإصلاحات + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language حدد خط الملف الذي يدعم اللغة المترجمة @@ -980,12 +1009,12 @@ FormatDialog - + is formating... يتم التنسيق... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack حدد ملف اللعبة الذي تريد فك ضغطه @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files ملف html لا يتطابق مع الملف المترجم، يرجى التحقق من ملفات الإدخال @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... استخراج... - - + + is translating... جار الترجمة... - - + + Click to check for update انقر للتحقق من التحديث - + It's up to date now إنه محدث الآن - + New version detected تم اكتشاف نسخة جديدة - + Would you like to open the website to get the latest verison? هل ترغب في فتح الموقع للحصول على أحدث إصدار؟ - + translate يترجم - + extract يستخرج @@ -1302,12 +1331,12 @@ حدد الدليل الذي تريد استخراجه - + select the file(s) you want to translate حدد الملف (الملفات) التي تريد ترجمتها - + select the directory you want to translate حدد الدليل الذي تريد ترجمته @@ -1403,15 +1432,20 @@ تحديد موقع ملف السجل مع المستكشف - + set default language at startup ضبط اللغة الافتراضية عند بدء التشغيل - + format rpy files تنسيق ملفات rpy + + + error repair + إصلاح الخطأ + Auto open untranslated contents with brower @@ -1423,37 +1457,37 @@ إظهار ملف html المُصدَّر باستخدام المستكشف فقط - + extract translation اِستِخلاص - + runtime extraction استخراج وقت التشغيل - + add change langauge entrance إضافة تغيير مدخل اللغة - + one key translate ترجمة مفتاح واحد - + official extraction الاستخراج الرسمي - + convert txt to html تحويل النص إلى HTML - + pack game files حزمة ملفات اللعبة @@ -1481,7 +1515,7 @@ أدخل أو اختر أو اسحب الخط الذي يدعم اللغة بعد الترجمة. مثال: DejaVuSans.ttf (الخط الافتراضي لـren'py) - + replace font استبدال الخط @@ -1544,8 +1578,8 @@ سجل نظيف - - + + Version إصدار @@ -1570,12 +1604,12 @@ خيارات متقدمة - + theme سمة - + unpack game package فك حزمة اللعبة @@ -1584,32 +1618,32 @@ محرر - + language لغة - + copyright حقوق النشر - + proxy settings إعدادات الوكيل - + engine settings إعدادات المحرك - + custom engine محرك مخصص - + edit from rpy تحرير من rpy @@ -1764,12 +1798,22 @@ ضبط اللغة الافتراضية عند بدء التشغيل - + + Error Repair + إصلاح الخطأ + + + + max repair count + الحد الأقصى لعدد الإصلاحات + + + select the game file حدد ملف اللعبة - + One Key Translate Complete اكتملت ترجمة مفتاح واحد diff --git a/src/ts/bengali.ts b/src/ts/bengali.ts index 580fae1..125a456 100644 --- a/src/ts/bengali.ts +++ b/src/ts/bengali.ts @@ -272,64 +272,64 @@ EditorDialog - + Path পথ - + Units ইউনিট - - - + + + Translated অনূদিত - - - - - - + + + + + + Export to html file html ফাইলে রপ্তানি করুন - - + + Import html and relative translated contents html এবং আপেক্ষিক অনূদিত বিষয়বস্তু আমদানি করুন - - + + line লাইন - - + + refer উল্লেখ করুন - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current কারেন্ট - + Remove অপসারণ - + Import to files ফাইল আমদানি করুন - + Do you want to make advanced settings (the default setting is to import to all files in the directory) আপনি কি উন্নত সেটিংস করতে চান (ডিফল্ট সেটিং হল ডিরেক্টরির সমস্ত ফাইল আমদানি করা) - - - + + + Do you want to replace special symbols? আপনি কি বিশেষ চিহ্ন প্রতিস্থাপন করতে চান? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) আপনি কি উন্নত সেটিংস করতে চান (ডিফল্ট সেটিং হল ডিরেক্টরির সমস্ত ফাইল রপ্তানি করা) - + Case Sensitive কেস সংবেদনশীল - + Search refer column অনুসন্ধান করুন কলাম - + Search Original column আসল কলাম অনুসন্ধান করুন - + Search Current column বর্তমান কলাম অনুসন্ধান করুন - + Search Translated column অনুবাদিত কলাম অনুসন্ধান করুন - - + + Input Dialog ইনপুট ডায়ালগ - + Please Input the line number you want to jump আপনি লাফ দিতে চান লাইন নম্বর ইনপুট করুন - + Please Input the content you want to search আপনি অনুসন্ধান করতে চান বিষয়বস্তু ইনপুট করুন - + Translate Translation Source to Translated অনুবাদ অনুবাদ উৎস অনুবাদ করা - + Copy Original to Current কারেন্টে আসল কপি করুন - + Copy Translated to Current কপি বর্তমান অনুবাদ - + Rollback Current to First Load রোলব্যাক বর্তমান প্রথম লোড - + select the directory you want to edit আপনি যে ডিরেক্টরিটি সম্পাদনা করতে চান তা নির্বাচন করুন - + select the file(s) you want to edit আপনি সম্পাদনা করতে চান ফাইল(গুলি) নির্বাচন করুন - - - - - - + + + + + + Export to xlsx file xlsx ফাইলে রপ্তানি করুন @@ -682,6 +682,35 @@ কাস্টম প্রম্পট টেমপ্লেট + + ErrorRepairDialog + + + is repairing... + মেরামত করছে... + + + + + repair errors + মেরামত ত্রুটি + + + + Error Repair + ত্রুটি মেরামত + + + + file + ফাইল + + + + max repair count + সর্বোচ্চ মেরামতের গণনা + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language ফাইল ফন্ট নির্বাচন করুন যা অনুবাদিত ভাষা সমর্থন করে @@ -980,12 +1009,12 @@ FormatDialog - + is formating... বিন্যাস হচ্ছে... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack আপনি যে গেম ফাইলটি আনপ্যাক করতে চান তা নির্বাচন করুন @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files html ফাইলটি অনূদিত ফাইলের সাথে মেলে না, অনুগ্রহ করে ইনপুট ফাইলগুলি পরীক্ষা করুন৷ @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... নিষ্কাশন করা হচ্ছে... - - + + is translating... অনুবাদ করা হচ্ছে... - - + + Click to check for update আপডেট চেক করতে ক্লিক করুন - + It's up to date now এটা এখন আপ টু ডেট - + New version detected নতুন সংস্করণ সনাক্ত করা হয়েছে - + Would you like to open the website to get the latest verison? আপনি কি সর্বশেষ সংস্করণ পেতে ওয়েবসাইট খুলতে চান? - + translate অনুবাদ করা - + extract নির্যাস @@ -1302,12 +1331,12 @@ আপনি নিষ্কাশন করতে চান ডিরেক্টরি নির্বাচন করুন - + select the file(s) you want to translate আপনি যে ফাইলটি অনুবাদ করতে চান সেটি নির্বাচন করুন - + select the directory you want to translate আপনি যে ডিরেক্টরিটি অনুবাদ করতে চান তা নির্বাচন করুন @@ -1317,8 +1346,8 @@ Ren'py অনুবাদক - - + + Version সংস্করণ @@ -1409,15 +1438,20 @@ এক্সপ্লোরারের সাথে লগ ফাইলটি সন্ধান করুন - + set default language at startup স্টার্টআপে ডিফল্ট ভাষা সেট করুন - + format rpy files rpy ফাইল ফরম্যাট করুন + + + error repair + ত্রুটি মেরামত + Auto open untranslated contents with brower @@ -1434,47 +1468,47 @@ উন্নত বিকল্প - + theme থিম - + unpack game package গেম প্যাকেজ আনপ্যাক করুন - + extract translation অনুবাদ নির্যাস - + runtime extraction রানটাইম নিষ্কাশন - + add change langauge entrance পরিবর্তন ভাষা প্রবেশদ্বার যোগ করুন - + one key translate একটি মূল অনুবাদ - + official extraction অফিসিয়াল নিষ্কাশন - + convert txt to html txt কে html এ রূপান্তর করুন - + pack game files @@ -1502,7 +1536,7 @@ ইনপুট বা চয়ন করুন বা ফন্ট যা অনুবাদের পরে ভাষা সমর্থন করে টেনে আনুন। উদাহরণ: DejaVuSans.ttf (ren'py এর ডিফল্ট ফন্ট) - + replace font ফন্ট প্রতিস্থাপন @@ -1584,32 +1618,32 @@ সম্পাদক - + language ভাষা - + copyright কপিরাইট - + proxy settings প্রক্সি সেটিংস - + engine settings ইঞ্জিন সেটিংস - + custom engine কাস্টম ইঞ্জিন - + edit from rpy rpy থেকে সম্পাদনা করুন @@ -1764,12 +1798,22 @@ স্টার্টআপে ডিফল্ট ভাষা সেট করুন - + + Error Repair + ত্রুটি মেরামত + + + + max repair count + সর্বোচ্চ মেরামতের গণনা + + + select the game file গেম ফাইল নির্বাচন করুন - + One Key Translate Complete এক কী অনুবাদ সম্পূর্ণ diff --git a/src/ts/chinese.ts b/src/ts/chinese.ts index 17488df..f550e45 100644 --- a/src/ts/chinese.ts +++ b/src/ts/chinese.ts @@ -358,10 +358,10 @@ - - - - + + + + Current @@ -384,10 +384,10 @@ - - - - + + + + Original @@ -411,9 +411,9 @@ - - - + + + Translated 已翻译 @@ -425,155 +425,155 @@ - + Units 单位 - - + + line - - + + refer 指向 - + Path 路径 - - - - - - + + + + + + Export to html file 导出到 html 文件 - - + + Import html and relative translated contents 导入html和相关翻译内容 - + Remove 移除 - + Import to files 导入到文件 - + Do you want to make advanced settings (the default setting is to import to all files in the directory) 是否要进行高级设置(默认设置是导入到目录下的所有文件) - - - + + + Do you want to replace special symbols? 您想替换特殊符号吗? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) 是否要进行高级设置(默认设置是导出目录下的所有文件) - + Case Sensitive 区分大小写 - + Search refer column 搜索 refer 列 - + Search Original column 搜索 Origina 列 - + Search Current column 搜索 Current 列 - + Search Translated column 搜索 Translated 列 - - + + Input Dialog 输入对话框 - + Please Input the line number you want to jump 请输入您要跳转的行号 - + Please Input the content you want to search 输入您要搜索的内容 - + Translate Translation Source to Translated 将翻译源翻译到翻译后的内容 - + Copy Original to Current 将原始内容复制到当前内容 - + Copy Translated to Current 复制翻译为当前 - + Rollback Current to First Load 将 当前 回滚到刚加载时 - + select the directory you want to edit 选择要编辑的目录 - + select the file(s) you want to edit 选择您要编辑的文件 - - - - - - + + + + + + Export to xlsx file 导出到 xlsx 文件 @@ -682,6 +682,35 @@ 自定义提示模板 + + ErrorRepairDialog + + + is repairing... + 正在修复…… + + + + + repair errors + 修复错误 + + + + Error Repair + 错误修复 + + + + file + 文件 + + + + max repair count + 最大修复次数 + + ExportSettingDialog @@ -971,7 +1000,7 @@ - + select the file font which supports the translated language 选择支持翻译语言的文件字体 @@ -984,12 +1013,12 @@ FormatDialog - + is formating... 正在格式化... - + @@ -1020,7 +1049,7 @@ GameUnpackerDialog - + select the game file you want to unpack 选择你要解压的游戏文件 @@ -1108,9 +1137,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files html文件与翻译的文件不匹配,请检查输入文件 @@ -1258,40 +1287,40 @@ Ren'py 翻译器 - + is extracting... 抽取中... - - + + is translating... 翻译中... - - + + Click to check for update 点击检查更新 - + It's up to date now 现在是最新的 - + New version detected 检测到新版本 - + Would you like to open the website to get the latest verison? 您是否愿意打开网站获取最新版本? - + translate 翻译 @@ -1305,12 +1334,12 @@ 选择你要解压的目录 - + select the file(s) you want to translate 选择您要翻译的文件 - + select the directory you want to translate 选择要翻译的目录 @@ -1406,15 +1435,20 @@ 使用资源管理器查找日志文件 - + set default language at startup 设置启动时的默认语言 - + format rpy files 格式化 rpy 文件 + + + error repair + 错误修复 + Auto open untranslated contents with brower @@ -1426,37 +1460,37 @@ 仅使用资源管理器显示导出的 html 文件 - + extract translation 提取翻译 - + runtime extraction 运行时提取 - + add change langauge entrance 添加更改语言入口 - + one key translate 一键翻译 - + official extraction 官方提取 - + convert txt to html 将 txt 转换为 html - + pack game files 打包游戏文件 @@ -1471,7 +1505,7 @@ 高级选项 - + unpack game package 解压游戏包 @@ -1488,7 +1522,7 @@ 输入或选择或拖动支持翻译后语言的字体。示例:DejaVuSans.ttf(ren'py 的默认字体) - + replace font 替换字体 @@ -1517,7 +1551,7 @@ 在此处输入或选择或拖动要翻译的目录。示例:F:\GameName\game\tl\language - + extract 抽取 @@ -1562,8 +1596,8 @@ 清空日志 - - + + Version 版本 @@ -1587,37 +1621,37 @@ 编辑器 - + language 语言 - + theme 主题 - + copyright 版权 - + proxy settings 代理设置 - + engine settings 引擎设置 - + custom engine 自定义引擎 - + edit from rpy 从 rpy 编辑 @@ -1772,12 +1806,22 @@ 设置启动时的默认语言 - + + Error Repair + 错误修复 + + + + max repair count + 最大修复次数 + + + select the game file 选择游戏文件 - + One Key Translate Complete 一键翻译完成 diff --git a/src/ts/default.ts b/src/ts/default.ts index 5b6158f..77c4c0e 100644 --- a/src/ts/default.ts +++ b/src/ts/default.ts @@ -272,64 +272,64 @@ EditorDialog - + Path - + Units - - - + + + Translated - - - - - - + + + + + + Export to html file - - + + Import html and relative translated contents - - + + line - - + + refer - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current - + Remove - + Import to files - + Do you want to make advanced settings (the default setting is to import to all files in the directory) - - - + + + Do you want to replace special symbols? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) - + Case Sensitive - + Search refer column - + Search Original column - + Search Current column - + Search Translated column - - + + Input Dialog - + Please Input the line number you want to jump - + Please Input the content you want to search - + Translate Translation Source to Translated - + Copy Original to Current - + Copy Translated to Current - + Rollback Current to First Load - + select the directory you want to edit - + select the file(s) you want to edit - - - - - - + + + + + + Export to xlsx file @@ -682,6 +682,35 @@ + + ErrorRepairDialog + + + is repairing... + + + + + + repair errors + + + + + Error Repair + + + + + file + + + + + max repair count + + + ExportSettingDialog @@ -891,7 +920,7 @@ - + select the file font which supports the translated language @@ -957,12 +986,12 @@ FormatDialog - + is formating... - + @@ -993,7 +1022,7 @@ GameUnpackerDialog - + select the game file you want to unpack @@ -1069,9 +1098,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files @@ -1194,57 +1223,57 @@ MainWindow - + is extracting... - - + + is translating... - - + + Click to check for update - + It's up to date now - + New version detected - + Would you like to open the website to get the latest verison? - + translate - + extract - + select the file(s) you want to translate - + select the directory you want to translate @@ -1254,8 +1283,8 @@ - - + + Version @@ -1351,15 +1380,20 @@ - + set default language at startup - + format rpy files + + + error repair + + Auto open untranslated contents with brower @@ -1376,47 +1410,47 @@ - + theme - + unpack game package - + extract translation - + runtime extraction - + add change langauge entrance - + one key translate - + official extraction - + convert txt to html - + pack game files @@ -1436,7 +1470,7 @@ - + replace font @@ -1461,32 +1495,32 @@ - + language - + copyright - + proxy settings - + engine settings - + custom engine - + edit from rpy @@ -1641,12 +1675,22 @@ - + + Error Repair + + + + + max repair count + + + + select the game file - + One Key Translate Complete diff --git a/src/ts/french.ts b/src/ts/french.ts index 450b111..8d66fa6 100644 --- a/src/ts/french.ts +++ b/src/ts/french.ts @@ -272,64 +272,64 @@ EditorDialog - + Path Chemin - + Units Unités - - - + + + Translated Traduit - - - - - - + + + + + + Export to html file Exporter vers un fichier HTML - - + + Import html and relative translated contents Importer du HTML et du contenu traduit relatif - - + + line doubler - - + + refer référer - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current Actuel - + Remove Retirer - + Import to files Importer dans des fichiers - + Do you want to make advanced settings (the default setting is to import to all files in the directory) Voulez-vous définir des paramètres avancés (le paramètre par défaut est d'importer dans tous les fichiers du répertoire) - - - + + + Do you want to replace special symbols? Voulez-vous remplacer des symboles spéciaux ? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) Voulez-vous effectuer des réglages avancés (le réglage par défaut est d'exporter tous les fichiers du répertoire) - + Case Sensitive Sensible aux majuscules et minuscules - + Search refer column Rechercher dans la colonne de référence - + Search Original column Rechercher la colonne d'origine - + Search Current column Rechercher dans la colonne actuelle - + Search Translated column Colonne Rechercher traduite - - + + Input Dialog Boîte de dialogue de saisie - + Please Input the line number you want to jump Veuillez saisir le numéro de ligne que vous souhaitez sauter - + Please Input the content you want to search Veuillez saisir le contenu que vous souhaitez rechercher - + Translate Translation Source to Translated Traduire la source de traduction en traduit - + Copy Original to Current Copier l'original vers le courant - + Copy Translated to Current Copie traduite en version actuelle - + Rollback Current to First Load Retourner le courant à la première charge - + select the directory you want to edit sélectionnez le répertoire que vous souhaitez modifier - + select the file(s) you want to edit sélectionnez le(s) fichier(s) que vous souhaitez modifier - - - - - - + + + + + + Export to xlsx file Exporter vers un fichier xlsx @@ -682,6 +682,35 @@ Modèle d'invite personnalisé + + ErrorRepairDialog + + + is repairing... + est en train de réparer... + + + + + repair errors + réparer les erreurs + + + + Error Repair + Réparation d'erreur + + + + file + déposer + + + + max repair count + nombre maximal de réparations + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language sélectionnez la police du fichier qui prend en charge la langue traduite @@ -980,12 +1009,12 @@ FormatDialog - + is formating... c'est le formatage... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack sélectionnez le fichier du jeu que vous souhaitez décompresser @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files Le fichier HTML ne correspond pas au fichier traduit, veuillez vérifier les fichiers d'entrée @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... extraire... - - + + is translating... Traduction en cours... - - + + Click to check for update Cliquez pour vérifier la mise à jour - + It's up to date now C'est à jour maintenant - + New version detected Nouvelle version détectée - + Would you like to open the website to get the latest verison? Souhaitez-vous ouvrir le site Web pour obtenir la dernière version ? - + translate traduire - + extract extrait @@ -1302,12 +1331,12 @@ sélectionnez le répertoire que vous souhaitez extraire - + select the file(s) you want to translate sélectionnez le(s) fichier(s) que vous souhaitez traduire - + select the directory you want to translate sélectionnez le répertoire que vous souhaitez traduire @@ -1403,15 +1432,20 @@ localiser le fichier journal avec l'explorateur - + set default language at startup définir la langue par défaut au démarrage - + format rpy files formater les fichiers rpy + + + error repair + réparation d'erreur + Auto open untranslated contents with brower @@ -1428,47 +1462,47 @@ options avancées - + theme thème - + unpack game package déballer le paquet de jeu - + extract translation extrait de traduction - + runtime extraction Extraction de l'environnement d'exécution - + add change langauge entrance ajouter changer la langue de l'entrée - + one key translate une clé traduire - + official extraction Extraction officielle - + convert txt to html convertir txt en html - + pack game files emballer les fichiers du jeu @@ -1496,7 +1530,7 @@ saisissez ou choisissez ou faites glisser la police qui prend en charge la langue après la traduction. Exemple : DejaVuSans.ttf (police par défaut de ren'py) - + replace font remplacer la police @@ -1559,8 +1593,8 @@ effacer le journal - - + + Version Version @@ -1584,32 +1618,32 @@ éditeur - + language langue - + copyright droits d'auteur - + proxy settings paramètres du proxy - + engine settings réglages du moteur - + custom engine moteur personnalisé - + edit from rpy modifier depuis rpy @@ -1764,12 +1798,22 @@ définir la langue par défaut au démarrage - + + Error Repair + Réparation d'erreur + + + + max repair count + nombre maximal de réparations + + + select the game file sélectionnez le fichier du jeu - + One Key Translate Complete Une traduction clé terminée diff --git a/src/ts/german.ts b/src/ts/german.ts index ec4c343..4817511 100644 --- a/src/ts/german.ts +++ b/src/ts/german.ts @@ -272,64 +272,64 @@ EditorDialog - + Path Weg - + Units Einheiten - - - + + + Translated Übersetzt - - - - - - + + + + + + Export to html file In eine HTML-Datei exportieren - - + + Import html and relative translated contents Importieren Sie HTML und relativ übersetzte Inhalte - - + + line Linie - - + + refer verweisen - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current Aktuell - + Remove Entfernen - + Import to files In Dateien importieren - + Do you want to make advanced settings (the default setting is to import to all files in the directory) Möchten Sie erweiterte Einstellungen vornehmen (die Standardeinstellung ist der Import in alle Dateien im Verzeichnis) - - - + + + Do you want to replace special symbols? Möchten Sie Sonderzeichen ersetzen? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) Möchten Sie erweiterte Einstellungen vornehmen (Standardeinstellung ist der Export aller Dateien im Verzeichnis) - + Case Sensitive Groß- und Kleinschreibung beachten - + Search refer column Referenzspalte durchsuchen - + Search Original column Originalspalte durchsuchen - + Search Current column Aktuelle Spalte durchsuchen - + Search Translated column Durchsuchen Sie die Spalte „Übersetzt“ - - + + Input Dialog Eingabedialog - + Please Input the line number you want to jump Bitte geben Sie die Zeilennummer ein, zu der Sie springen möchten - + Please Input the content you want to search Bitte geben Sie den Inhalt ein, nach dem Sie suchen möchten - + Translate Translation Source to Translated Übersetzen Sie die Übersetzungsquelle in „Übersetzt“ - + Copy Original to Current Original auf Aktuelle kopieren - + Copy Translated to Current In „Aktuell“ übersetzt kopieren - + Rollback Current to First Load Rollback-Strom zum ersten Laden - + select the directory you want to edit Wählen Sie das Verzeichnis aus, das Sie bearbeiten möchten - + select the file(s) you want to edit Wählen Sie die Datei(en) aus, die Sie bearbeiten möchten - - - - - - + + + + + + Export to xlsx file In eine XLSX-Datei exportieren @@ -682,6 +682,35 @@ Benutzerdefinierte Eingabeaufforderungsvorlage + + ErrorRepairDialog + + + is repairing... + ist reparieren... + + + + + repair errors + Fehler reparieren + + + + Error Repair + Fehlerbehebung + + + + file + Datei + + + + max repair count + Maximale Anzahl Reparaturen + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language Wählen Sie die Dateischriftart aus, die die übersetzte Sprache unterstützt @@ -980,12 +1009,12 @@ FormatDialog - + is formating... formatiert... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack Wählen Sie die Spieldatei aus, die Sie entpacken möchten @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files Die HTML-Datei stimmt nicht mit der übersetzten Datei überein. Bitte überprüfen Sie die Eingabedateien @@ -1229,57 +1258,57 @@ MainWindow - + is extracting... extrahieren... - - + + is translating... übersetzen... - - + + Click to check for update Klicken Sie hier, um nach Updates zu suchen - + It's up to date now Es ist jetzt auf dem neuesten Stand - + New version detected Neue Version erkannt - + Would you like to open the website to get the latest verison? Möchten Sie die Website öffnen, um die neueste Version zu erhalten? - + translate übersetzen - + extract Extrakt - + select the file(s) you want to translate Wählen Sie die Datei(en) aus, die Sie übersetzen möchten - + select the directory you want to translate Wählen Sie das Verzeichnis aus, das Sie übersetzen möchten @@ -1289,8 +1318,8 @@ Ren'py-Übersetzer - - + + Version Ausführung @@ -1386,15 +1415,20 @@ Logdatei mit Explorer suchen - + set default language at startup Standardsprache beim Start festlegen - + format rpy files rpy-Dateien formatieren + + + error repair + Fehlerbehebung + Auto open untranslated contents with brower @@ -1411,47 +1445,47 @@ erweiterte Optionen - + theme Thema - + unpack game package Spielpaket auspacken - + extract translation Übersetzung extrahieren - + runtime extraction Laufzeitextraktion - + add change langauge entrance Spracheingabe hinzufügen - + one key translate eine Schlüsselübersetzung - + official extraction Offizielle Extraktion - + convert txt to html txt in html konvertieren - + pack game files Spieldateien packen @@ -1471,7 +1505,7 @@ ©2024 Last Moment, Alle Rechte vorbehalten. - + replace font Schriftart ersetzen @@ -1496,32 +1530,32 @@ Übersetzungsmaschine - + language Sprache - + copyright Urheberrechte © - + proxy settings Proxy-Einstellungen - + engine settings Motoreinstellungen - + custom engine benutzerdefinierte Engine - + edit from rpy Bearbeiten von rpy @@ -1676,12 +1710,22 @@ Standardsprache beim Start festlegen - + + Error Repair + Fehlerbehebung + + + + max repair count + Maximale Anzahl Reparaturen + + + select the game file Wählen Sie die Spieldatei aus - + One Key Translate Complete One-Key-Übersetzung abgeschlossen diff --git a/src/ts/greek.ts b/src/ts/greek.ts index 39d185e..6d5abc5 100644 --- a/src/ts/greek.ts +++ b/src/ts/greek.ts @@ -272,64 +272,64 @@ EditorDialog - + Path Μονοπάτι - + Units Μονάδες - - - + + + Translated Μεταφρασμένο - - - - - - + + + + + + Export to html file Εξαγωγή σε αρχείο html - - + + Import html and relative translated contents Εισαγωγή html και σχετικού μεταφρασμένου περιεχομένου - - + + line γραμμή - - + + refer αναφέρομαι - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current Ρεύμα - + Remove Αφαιρώ - + Import to files Εισαγωγή σε αρχεία - + Do you want to make advanced settings (the default setting is to import to all files in the directory) Θέλετε να κάνετε σύνθετες ρυθμίσεις (η προεπιλεγμένη ρύθμιση είναι η εισαγωγή σε όλα τα αρχεία στον κατάλογο) - - - + + + Do you want to replace special symbols? Θέλετε να αντικαταστήσετε ειδικά σύμβολα; - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) Θέλετε να κάνετε σύνθετες ρυθμίσεις (η προεπιλεγμένη ρύθμιση είναι η εξαγωγή όλων των αρχείων στον κατάλογο) - + Case Sensitive Case Sensitive - + Search refer column Στήλη αναφοράς αναζήτησης - + Search Original column Αναζήτηση αρχικής στήλης - + Search Current column Αναζήτηση τρέχουσας στήλης - + Search Translated column Μεταφρασμένη στήλη αναζήτησης - - + + Input Dialog Διάλογος εισαγωγής - + Please Input the line number you want to jump Εισαγάγετε τον αριθμό γραμμής που θέλετε να μεταβείτε - + Please Input the content you want to search Εισαγάγετε το περιεχόμενο που θέλετε να αναζητήσετε - + Translate Translation Source to Translated Μεταφράστε την πηγή μετάφρασης σε μεταφρασμένη - + Copy Original to Current Αντιγράψτε το πρωτότυπο στο τρέχον - + Copy Translated to Current Αντιγραφή Μεταφράστηκε σε Τρέχον - + Rollback Current to First Load Ρεύμα επαναφοράς στο πρώτο φορτίο - + select the directory you want to edit επιλέξτε τον κατάλογο που θέλετε να επεξεργαστείτε - + select the file(s) you want to edit επιλέξτε τα αρχεία που θέλετε να επεξεργαστείτε - - - - - - + + + + + + Export to xlsx file Εξαγωγή σε αρχείο xlsx @@ -682,6 +682,35 @@ Προσαρμοσμένο πρότυπο προτροπής + + ErrorRepairDialog + + + is repairing... + επισκευάζει... + + + + + repair errors + επισκευή σφαλμάτων + + + + Error Repair + Επιδιόρθωση σφάλματος + + + + file + αρχείο + + + + max repair count + μέγιστος αριθμός επισκευών + + ExportSettingDialog @@ -891,7 +920,7 @@ - + select the file font which supports the translated language επιλέξτε τη γραμματοσειρά του αρχείου που υποστηρίζει τη μεταφρασμένη γλώσσα @@ -957,12 +986,12 @@ FormatDialog - + is formating... μορφοποιείται... - + @@ -993,7 +1022,7 @@ GameUnpackerDialog - + select the game file you want to unpack επιλέξτε το αρχείο παιχνιδιού που θέλετε να αποσυσκευάσετε @@ -1069,9 +1098,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files Το αρχείο html δεν ταιριάζει με το μεταφρασμένο αρχείο, ελέγξτε τα αρχεία εισόδου @@ -1194,57 +1223,57 @@ MainWindow - + is extracting... εξάγει... - - + + is translating... μεταφράζει... - - + + Click to check for update Κάντε κλικ για να ελέγξετε για ενημέρωση - + It's up to date now Είναι ενημερωμένο τώρα - + New version detected Εντοπίστηκε νέα έκδοση - + Would you like to open the website to get the latest verison? Θέλετε να ανοίξετε τον ιστότοπο για να λάβετε την πιο πρόσφατη έκδοση; - + translate μεταφράζω - + extract εκχύλισμα - + select the file(s) you want to translate επιλέξτε τα αρχεία που θέλετε να μεταφράσετε - + select the directory you want to translate επιλέξτε τον κατάλογο που θέλετε να μεταφράσετε @@ -1254,8 +1283,8 @@ Μεταφραστής Ren'py - - + + Version Εκδοχή @@ -1351,15 +1380,20 @@ εντοπίστε το αρχείο καταγραφής με τον εξερευνητή - + set default language at startup ορίστε την προεπιλεγμένη γλώσσα κατά την εκκίνηση - + format rpy files μορφή αρχείων rpy + + + error repair + Επιδιόρθωση σφάλματος + Auto open untranslated contents with brower @@ -1376,47 +1410,47 @@ προχωρημένες επιλογές - + theme θέμα - + unpack game package αποσυσκευάστε το πακέτο παιχνιδιού - + extract translation απόσπασμα μετάφρασης - + runtime extraction εξαγωγή χρόνου εκτέλεσης - + add change langauge entrance προσθήκη αλλαγής γλώσσας εισόδου - + one key translate μετάφραση ενός κλειδιού - + official extraction επίσημη εξαγωγή - + convert txt to html μετατροπή txt σε html - + pack game files συσκευάστε αρχεία παιχνιδιών @@ -1436,7 +1470,7 @@ ©2024 Τελευταία στιγμή, Με την επιφύλαξη παντός δικαιώματος. - + replace font αντικαταστήστε τη γραμματοσειρά @@ -1461,32 +1495,32 @@ μηχανή μετάφρασης - + language Γλώσσα - + copyright πνευματική ιδιοκτησία - + proxy settings ρυθμίσεις διακομιστή μεσολάβησης - + engine settings ρυθμίσεις κινητήρα - + custom engine προσαρμοσμένη μηχανή - + edit from rpy επεξεργασία από rpy @@ -1641,12 +1675,22 @@ ορίστε την προεπιλεγμένη γλώσσα κατά την εκκίνηση - + + Error Repair + Επιδιόρθωση σφάλματος + + + + max repair count + μέγιστος αριθμός επισκευών + + + select the game file επιλέξτε το αρχείο του παιχνιδιού - + One Key Translate Complete Ολοκληρώθηκε η μετάφραση ενός κλειδιού diff --git a/src/ts/hindi.ts b/src/ts/hindi.ts index f1031f7..a6b50c6 100644 --- a/src/ts/hindi.ts +++ b/src/ts/hindi.ts @@ -272,64 +272,64 @@ EditorDialog - + Path पथ - + Units इकाइयों - - - + + + Translated अनुवाद - - - - - - + + + + + + Export to html file HTML फ़ाइल में निर्यात करें - - + + Import html and relative translated contents HTML और सापेक्ष अनुवादित सामग्री आयात करें - - + + line रेखा - - + + refer संदर्भ देना - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current मौजूदा - + Remove निकालना - + Import to files फ़ाइलों में आयात करें - + Do you want to make advanced settings (the default setting is to import to all files in the directory) क्या आप उन्नत सेटिंग्स बनाना चाहते हैं (डिफ़ॉल्ट सेटिंग निर्देशिका में सभी फ़ाइलों को आयात करना है) - - - + + + Do you want to replace special symbols? क्या आप विशेष प्रतीकों को बदलना चाहते हैं? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) क्या आप उन्नत सेटिंग करना चाहते हैं (डिफ़ॉल्ट सेटिंग निर्देशिका में सभी फ़ाइलों को निर्यात करना है) - + Case Sensitive अक्षर संवेदनशील - + Search refer column संदर्भ स्तंभ खोजें - + Search Original column मूल कॉलम खोजें - + Search Current column वर्तमान कॉलम खोजें - + Search Translated column अनुवादित कॉलम खोजें - - + + Input Dialog इनपुट संवाद - + Please Input the line number you want to jump कृपया वह लाइन नंबर इनपुट करें जिसे आप जंप करना चाहते हैं - + Please Input the content you want to search कृपया वह सामग्री इनपुट करें जिसे आप खोजना चाहते हैं - + Translate Translation Source to Translated अनुवाद स्रोत का अनुवाद अनुवादित में करें - + Copy Original to Current मूल को वर्तमान में कॉपी करें - + Copy Translated to Current वर्तमान में अनुवादित प्रतिलिपि - + Rollback Current to First Load रोलबैक करंट को पहले लोड पर - + select the directory you want to edit वह निर्देशिका चुनें जिसे आप संपादित करना चाहते हैं - + select the file(s) you want to edit वह फ़ाइल चुनें जिसे आप संपादित करना चाहते हैं - - - - - - + + + + + + Export to xlsx file xlsx फ़ाइल में निर्यात करें @@ -682,6 +682,35 @@ कस्टम प्रॉम्प्ट टेम्पलेट + + ErrorRepairDialog + + + is repairing... + मरम्मत कर रहा है... + + + + + repair errors + त्रुटियों की मरम्मत + + + + Error Repair + त्रुटि सुधार + + + + file + फ़ाइल + + + + max repair count + अधिकतम मरम्मत गिनती + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language उस फ़ाइल फ़ॉन्ट का चयन करें जो अनुवादित भाषा का समर्थन करता है @@ -980,12 +1009,12 @@ FormatDialog - + is formating... स्वरूपण है... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack वह गेम फ़ाइल चुनें जिसे आप अनपैक करना चाहते हैं @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML फ़ाइल अनुवादित फ़ाइल से मेल नहीं खाती, कृपया इनपुट फ़ाइलों की जाँच करें @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... निकाल रहा हूँ... - - + + is translating... अनुवाद कर रहा हूँ... - - + + Click to check for update अपडेट देखने के लिए क्लिक करें - + It's up to date now यह अब अद्यतित है - + New version detected नया संस्करण पाया गया - + Would you like to open the website to get the latest verison? क्या आप नवीनतम संस्करण प्राप्त करने के लिए वेबसाइट खोलना चाहेंगे? - + translate अनुवाद - + extract निकालना @@ -1302,12 +1331,12 @@ वह निर्देशिका चुनें जिसे आप निकालना चाहते हैं - + select the file(s) you want to translate वह फ़ाइल चुनें जिसका आप अनुवाद करना चाहते हैं - + select the directory you want to translate वह निर्देशिका चुनें जिसका आप अनुवाद करना चाहते हैं @@ -1317,8 +1346,8 @@ रेन्पी अनुवादक - - + + Version संस्करण @@ -1409,15 +1438,20 @@ एक्सप्लोरर के साथ लॉग फ़ाइल का पता लगाएं - + set default language at startup स्टार्टअप पर डिफ़ॉल्ट भाषा सेट करें - + format rpy files rpy फ़ाइलों को प्रारूपित करें + + + error repair + त्रुटि सुधार + Auto open untranslated contents with brower @@ -1434,47 +1468,47 @@ उन्नत विकल्प - + theme विषय - + unpack game package गेम पैकेज को अनपैक करें - + extract translation अनुवाद निकालें - + runtime extraction रनटाइम निष्कर्षण - + add change langauge entrance परिवर्तन भाषा प्रवेश द्वार जोड़ें - + one key translate एक कुंजी अनुवाद - + official extraction आधिकारिक निष्कर्षण - + convert txt to html txt को html में बदलें - + pack game files गेम फ़ाइलें पैक करें @@ -1502,7 +1536,7 @@ अनुवाद के बाद भाषा का समर्थन करने वाले फ़ॉन्ट को इनपुट करें या चुनें या खींचें। उदाहरण: DejaVuSans.ttf (ren'py का डिफ़ॉल्ट फ़ॉन्ट) - + replace font फ़ॉन्ट बदलें @@ -1584,32 +1618,32 @@ संपादक - + language भाषा - + copyright कॉपीराइट - + proxy settings प्रॉक्सी सेटिंग - + engine settings इंजन सेटिंग्स - + custom engine कस्टम इंजन - + edit from rpy rpy से संपादित करें @@ -1764,12 +1798,22 @@ स्टार्टअप पर डिफ़ॉल्ट भाषा सेट करें - + + Error Repair + त्रुटि सुधार + + + + max repair count + अधिकतम मरम्मत गिनती + + + select the game file गेम फ़ाइल का चयन करें - + One Key Translate Complete एक कुंजी अनुवाद पूर्ण diff --git a/src/ts/japanese.ts b/src/ts/japanese.ts index 59b8ed6..c95e5e3 100644 --- a/src/ts/japanese.ts +++ b/src/ts/japanese.ts @@ -358,10 +358,10 @@ - - - - + + + + Current @@ -384,10 +384,10 @@ - - - - + + + + Original @@ -411,9 +411,9 @@ - - - + + + Translated 翻訳済み @@ -425,155 +425,155 @@ - + Path パス - + Units 単位 - - - - - - + + + + + + Export to html file HTMLファイルにエクスポート - - + + Import html and relative translated contents HTML および相対的に翻訳されたコンテンツをインポートする - - + + line - - + + refer 参照する - + Remove 取り除く - + Import to files ファイルにインポート - + Do you want to make advanced settings (the default setting is to import to all files in the directory) 詳細設定を行いますか (デフォルト設定では、ディレクトリ内のすべてのファイルをインポートします) - - - + + + Do you want to replace special symbols? 特殊な記号を置き換えますか? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) 詳細設定を行いますか (デフォルト設定では、ディレクトリ内のすべてのファイルをエクスポートします) - + Case Sensitive 検索したい内容を入力してください - + Search refer column refer 列を検索 - + Search Original column Original 列を検索 - + Search Current column Current 列を検索 - + Search Translated column Translated 列を検索 - - + + Input Dialog 入力ダイアログ - + Please Input the line number you want to jump ジャンプしたい行番号を入力してください - + Please Input the content you want to search 検索したい内容を入力してください - + Translate Translation Source to Translated 翻訳ソースを翻訳済みに翻訳 - + Copy Original to Current オリジナルを現在にコピー - + Copy Translated to Current 現在に翻訳されたコピー - + Rollback Current to First Load 現在 をロードしたばかりの状態にロールバックします - + select the directory you want to edit 編集したいディレクトリを選択します - + select the file(s) you want to edit 編集したいファイルを選択します - - - - - - + + + + + + Export to xlsx file xlsxファイルにエクスポート @@ -682,6 +682,35 @@ カスタムプロンプトテンプレート + + ErrorRepairDialog + + + is repairing... + 修復中です... + + + + + repair errors + エラーを修復する + + + + Error Repair + エラー修復 + + + + file + ファイル + + + + max repair count + 最大修復回数 + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language 翻訳された言語をサポートするファイルフォントを選択します @@ -980,12 +1009,12 @@ FormatDialog - + is formating... フォーマット中です... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack 解凍したいゲームファイルを選択します @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML ファイルが翻訳されたファイルと一致しません。入力ファイルを確認してください @@ -1254,40 +1283,40 @@ レンピー翻訳者 - + is extracting... 抽出中... - - + + is translating... 翻訳中... - - + + Click to check for update クリックして更新を確認してください - + It's up to date now 今は最新です - + New version detected 新しいバージョンが検出されました - + Would you like to open the website to get the latest verison? 最新バージョンを取得するためにWebサイトを開きますか? - + translate 翻訳する @@ -1301,12 +1330,12 @@ 抽出したいディレクトリを選択します - + select the file(s) you want to translate 翻訳したいファイルを選択します - + select the directory you want to translate 翻訳したいディレクトリを選択します @@ -1402,15 +1431,20 @@ エクスプローラーでログファイルを見つける - + set default language at startup 起動時にデフォルトの言語を設定する - + format rpy files rpy ファイルをフォーマットする + + + error repair + エラー修復 + Auto open untranslated contents with brower @@ -1422,37 +1456,37 @@ エクスポートされた HTML ファイルをエクスプローラーのみで表示する - + extract translation 翻訳を抜粋 - + runtime extraction ランタイム抽出 - + add change langauge entrance 言語変更の入り口を追加 - + one key translate ワンキー翻訳 - + official extraction 公式抽出 - + convert txt to html txtをhtmlに変換する - + pack game files ゲームファイルをパックする @@ -1467,7 +1501,7 @@ 高度なオプション - + unpack game package ゲームパッケージを解凍する @@ -1480,7 +1514,7 @@ 翻訳後の言語をサポートするフォントを入力または選択またはドラッグします。例: DejaVuSans.ttf (ren'py のデフォルトのフォント) - + replace font フォントを置き換える @@ -1509,7 +1543,7 @@ ここに翻訳したいディレクトリを入力または選択またはドラッグします。例:F:\GameName\game\tl\language - + extract 抽出する @@ -1554,8 +1588,8 @@ ログをクリアする - - + + Version バージョン @@ -1579,37 +1613,37 @@ 編集者 - + language 言語 - + theme テーマ - + copyright 著作権 - + proxy settings プロキシ設定 - + engine settings エンジン設定 - + custom engine カスタムエンジン - + edit from rpy rpyから編集する @@ -1764,12 +1798,22 @@ 起動時にデフォルトの言語を設定する - + + Error Repair + エラー修復 + + + + max repair count + 最大修復回数 + + + select the game file ゲームファイルを選択します - + One Key Translate Complete ワンキー翻訳完了 diff --git a/src/ts/korean.ts b/src/ts/korean.ts index 7d2a974..2ed8735 100644 --- a/src/ts/korean.ts +++ b/src/ts/korean.ts @@ -272,64 +272,64 @@ EditorDialog - + Path - + Units 단위 - - - + + + Translated 번역됨 - - - - - - + + + + + + Export to html file HTML 파일로 내보내기 - - + + Import html and relative translated contents HTML 및 상대 번역된 콘텐츠 가져오기 - - + + line - - + + refer 나타내다 - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current 현재의 - + Remove 제거하다 - + Import to files 파일로 가져오기 - + Do you want to make advanced settings (the default setting is to import to all files in the directory) 고급 설정을 하시겠습니까(기본 설정은 디렉터리의 모든 파일을 가져오는 것입니다) - - - + + + Do you want to replace special symbols? 특수 기호를 바꾸시겠습니까? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) 고급 설정을 하시겠습니까(기본 설정은 디렉터리의 모든 파일을 내보내는 것입니다) - + Case Sensitive 대소문자 구분 - + Search refer column 검색 참조 항목 - + Search Original column 원본 열 검색 - + Search Current column 현재 열 검색 - + Search Translated column 번역된 열 검색 - - + + Input Dialog 입력 대화 상자 - + Please Input the line number you want to jump 점프하고 싶은 라인 번호를 입력해주세요 - + Please Input the content you want to search 검색하고 싶은 내용을 입력해주세요 - + Translate Translation Source to Translated 번역 소스를 번역으로 번역 - + Copy Original to Current 원본을 현재로 복사 - + Copy Translated to Current 현재로 번역된 사본 - + Rollback Current to First Load 전류를 첫 번째 부하로 롤백 - + select the directory you want to edit 편집하려는 디렉토리를 선택하십시오 - + select the file(s) you want to edit 편집하고 싶은 파일을 선택하세요 - - - - - - + + + + + + Export to xlsx file xlsx 파일로 내보내기 @@ -682,6 +682,35 @@ 사용자 정의 프롬프트 템플릿 + + ErrorRepairDialog + + + is repairing... + 수리 중입니다... + + + + + repair errors + 오류를 복구하다 + + + + Error Repair + 오류 복구 + + + + file + 파일 + + + + max repair count + 최대 수리 횟수 + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language 번역된 언어를 지원하는 파일 글꼴을 선택하세요 @@ -980,12 +1009,12 @@ FormatDialog - + is formating... 포맷 중입니다... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack 압축을 풀고 싶은 게임 파일을 선택하세요 @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML 파일이 번역된 파일과 일치하지 않습니다. 입력 파일을 확인하세요 @@ -1229,57 +1258,57 @@ MainWindow - + is extracting... 적출... - - + + is translating... 번역하는 중... - - + + Click to check for update 업데이트를 확인하려면 클릭하세요 - + It's up to date now 지금은 최신 상태입니다 - + New version detected 새 버전이 감지되었습니다 - + Would you like to open the website to get the latest verison? 최신 버전을 다운로드하기 위해 웹사이트를 여시겠습니까? - + translate 번역하다 - + extract 발췌 - + select the file(s) you want to translate 번역하려는 파일을 선택하세요 - + select the directory you want to translate 번역하려는 디렉토리를 선택하십시오 @@ -1289,8 +1318,8 @@ 렌피 번역기 - - + + Version 버전 @@ -1386,15 +1415,20 @@ 탐색기로 로그 파일 찾기 - + set default language at startup 시작 시 기본 언어 설정 - + format rpy files rpy 파일 형식 지정 + + + error repair + 오류 복구 + Auto open untranslated contents with brower @@ -1411,47 +1445,47 @@ 고급 옵션 - + theme 주제 - + unpack game package 게임 패키지 풀기 - + extract translation 번역 추출 - + runtime extraction 런타임 추출 - + add change langauge entrance 언어 변경 입구 추가 - + one key translate 하나의 키 번역 - + official extraction 공식 추출 - + convert txt to html txt를 html로 변환 - + pack game files 게임 파일 압축 @@ -1471,7 +1505,7 @@ ©2024 마지막 순간, 모든 권리 보유. - + replace font 글꼴 교체 @@ -1496,32 +1530,32 @@ 번역 엔진 - + language 언어 - + copyright 저작권 - + proxy settings 프록시 설정 - + engine settings 엔진 설정 - + custom engine 커스텀 엔진 - + edit from rpy rpy에서 편집 @@ -1676,12 +1710,22 @@ 시작 시 기본 언어 설정 - + + Error Repair + 오류 복구 + + + + max repair count + 최대 수리 횟수 + + + select the game file 게임 파일을 선택하세요 - + One Key Translate Complete 하나의 키 번역 완료 diff --git a/src/ts/portuguese.ts b/src/ts/portuguese.ts index 0947b07..90280a8 100644 --- a/src/ts/portuguese.ts +++ b/src/ts/portuguese.ts @@ -272,64 +272,64 @@ EditorDialog - + Path Caminho - + Units Unidades - - - + + + Translated Traduzido - - - - - - + + + + + + Export to html file Exportar para arquivo HTML - - + + Import html and relative translated contents Importe HTML e conteúdos relativos traduzidos - - + + line linha - - + + refer referir - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current Atual - + Remove Remover - + Import to files Importar para arquivos - + Do you want to make advanced settings (the default setting is to import to all files in the directory) Você deseja fazer configurações avançadas (a configuração padrão é importar para todos os arquivos do diretório) - - - + + + Do you want to replace special symbols? Você deseja substituir símbolos especiais? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) Você deseja fazer configurações avançadas (a configuração padrão é exportar todos os arquivos do diretório) - + Case Sensitive Maiúsculas e minúsculas - + Search refer column Coluna de referência de pesquisa - + Search Original column Pesquisar coluna original - + Search Current column Pesquisar coluna atual - + Search Translated column Pesquisar coluna traduzida - - + + Input Dialog Caixa de diálogo de entrada - + Please Input the line number you want to jump Por favor, insira o número da linha que você deseja pular - + Please Input the content you want to search Por favor, insira o conteúdo que deseja pesquisar - + Translate Translation Source to Translated Traduzir fonte de tradução para traduzido - + Copy Original to Current Copiar original para atual - + Copy Translated to Current Copiar traduzido para atual - + Rollback Current to First Load Reverter a corrente para a primeira carga - + select the directory you want to edit selecione o diretório que deseja editar - + select the file(s) you want to edit selecione o(s) arquivo(s) que deseja editar - - - - - - + + + + + + Export to xlsx file Exportar para arquivo xlsx @@ -682,6 +682,35 @@ Modelo de prompt personalizado + + ErrorRepairDialog + + + is repairing... + está a reparar... + + + + + repair errors + erros de reparação + + + + Error Repair + Reparação de erros + + + + file + arquivo + + + + max repair count + contagem de reparação máxima + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language selecione a fonte do arquivo que suporta o idioma traduzido @@ -980,12 +1009,12 @@ FormatDialog - + is formating... está a formatar... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack selecione o arquivo do jogo que deseja descompactar @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files O arquivo html não corresponde ao arquivo traduzido, verifique os arquivos de entrada @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... extraindo... - - + + is translating... traduzindo... - - + + Click to check for update Clique para verificar se há atualização - + It's up to date now Está atualizado agora - + New version detected Nova versão detectada - + Would you like to open the website to get the latest verison? Gostaria de abrir o site para obter a versão mais recente? - + translate traduzir - + extract extrair @@ -1302,12 +1331,12 @@ selecione o diretório que deseja extrair - + select the file(s) you want to translate selecione o(s) arquivo(s) que deseja traduzir - + select the directory you want to translate selecione o diretório que deseja traduzir @@ -1317,8 +1346,8 @@ Tradutor Ren'py - - + + Version Versão @@ -1419,15 +1448,20 @@ localize o arquivo de log com o explorer - + set default language at startup definir o idioma predefinido no arranque - + format rpy files formatar ficheiros rpy + + + error repair + Reparação de erros + Auto open untranslated contents with brower @@ -1439,37 +1473,37 @@ Mostrar arquivo html exportado apenas com o Explorer - + extract translation extrair tradução - + runtime extraction Extração de tempo de execução - + add change langauge entrance Adicionar entrada para alteração de idioma - + one key translate uma chave traduz - + official extraction Extração Oficial - + convert txt to html converter txt para html - + pack game files empacotar arquivos do jogo @@ -1484,7 +1518,7 @@ opções avançadas - + unpack game package descompacte o pacote do jogo @@ -1497,7 +1531,7 @@ insira ou escolha ou arraste a fonte que suporta o idioma após a tradução. Exemplo: DejaVuSans.ttf (fonte padrão de ren'py) - + replace font substituir fonte @@ -1579,37 +1613,37 @@ editor - + language linguagem - + theme tema - + copyright direito autoral - + proxy settings configurações de proxy - + engine settings configurações do motor - + custom engine mecanismo personalizado - + edit from rpy editar do rpy @@ -1764,12 +1798,22 @@ definir o idioma predefinido no arranque - + + Error Repair + Reparação de erros + + + + max repair count + contagem de reparação máxima + + + select the game file selecione o arquivo do jogo - + One Key Translate Complete Tradução completa de uma chave diff --git a/src/ts/russian.ts b/src/ts/russian.ts index 5eaf069..4cfaaa3 100644 --- a/src/ts/russian.ts +++ b/src/ts/russian.ts @@ -272,64 +272,64 @@ EditorDialog - + Path Путь - + Units Единицы - - - + + + Translated Переведено - - - - - - + + + + + + Export to html file Экспортировать в html-файл - - + + Import html and relative translated contents Импортируйте HTML и относительный переведенный контент - - + + line линия - - + + refer ссылаться - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current Текущий - + Remove Удалять - + Import to files Импортировать в файлы - + Do you want to make advanced settings (the default setting is to import to all files in the directory) Хотите выполнить расширенные настройки (настройка по умолчанию — импорт во все файлы в каталоге) - - - + + + Do you want to replace special symbols? Хотите заменить специальные символы? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) Хотите ли вы выполнить расширенные настройки (настройка по умолчанию — экспортировать все файлы в каталоге) - + Case Sensitive С учетом регистра - + Search refer column Поиск в столбце ссылки - + Search Original column Исходный столбец поиска - + Search Current column Поиск в текущем столбце - + Search Translated column Поиск Переведенный столбец - - + + Input Dialog Диалог ввода - + Please Input the line number you want to jump Пожалуйста, введите номер строки, на которую вы хотите перейти. - + Please Input the content you want to search Пожалуйста, введите контент, который вы хотите найти - + Translate Translation Source to Translated Перевести исходный код перевода в переведенный - + Copy Original to Current Копировать оригинал в текущий - + Copy Translated to Current Копия переведена в текущий - + Rollback Current to First Load Ток отката до первой нагрузки - + select the directory you want to edit выберите каталог, который вы хотите редактировать - + select the file(s) you want to edit выберите файл(ы), которые вы хотите отредактировать - - - - - - + + + + + + Export to xlsx file Экспортировать в файл xlsx @@ -682,6 +682,35 @@ Пользовательский шаблон подсказки + + ErrorRepairDialog + + + is repairing... + ремонтируется... + + + + + repair errors + исправление ошибок + + + + Error Repair + Исправление ошибок + + + + file + файл + + + + max repair count + максимальное количество ремонтов + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language выберите шрифт файла, который поддерживает переведенный язык @@ -980,12 +1009,12 @@ FormatDialog - + is formating... форматирует... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack выберите файл игры, который хотите распаковать @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML-файл не соответствует переведенному файлу, проверьте входные файлы @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... извлечение... - - + + is translating... Идет перевод... - - + + Click to check for update Нажмите, чтобы проверить наличие обновлений - + It's up to date now Это актуально сейчас - + New version detected Обнаружена новая версия - + Would you like to open the website to get the latest verison? Хотите открыть веб-сайт и получить последнюю версию? - + translate переводить - + extract извлекать @@ -1302,12 +1331,12 @@ выберите каталог, который вы хотите извлечь - + select the file(s) you want to translate выберите файл(ы), которые вы хотите перевести - + select the directory you want to translate выберите каталог, который вы хотите перевести @@ -1317,8 +1346,8 @@ Ренпи Переводчик - - + + Version Версия @@ -1409,15 +1438,20 @@ найти файл журнала с помощью проводника - + set default language at startup установить язык по умолчанию при запуске - + format rpy files форматировать файлы rpy + + + error repair + Исправление ошибок + Auto open untranslated contents with brower @@ -1434,47 +1468,47 @@ Расширенные опции - + theme тема - + unpack game package распаковать пакет игры - + extract translation извлечь перевод - + runtime extraction Извлечение во время выполнения - + add change langauge entrance Добавить вход на смену языка - + one key translate один ключ, перевод - + official extraction Официальное извлечение - + convert txt to html конвертировать txt в html - + pack game files упаковать файлы игры @@ -1502,7 +1536,7 @@ введите или выберите или перетащите шрифт, который поддерживает язык после перевода. Пример: DejaVuSans.ttf (шрифт ren'py по умолчанию) - + replace font заменить шрифт @@ -1584,32 +1618,32 @@ редактор - + language язык - + copyright Авторские права - + proxy settings настройки прокси - + engine settings настройки двигателя - + custom engine специальный движок - + edit from rpy редактировать из rpy @@ -1764,12 +1798,22 @@ установить язык по умолчанию при запуске - + + Error Repair + Исправление ошибок + + + + max repair count + максимальное количество ремонтов + + + select the game file выберите файл игры - + One Key Translate Complete One Key Translate завершен diff --git a/src/ts/spanish.ts b/src/ts/spanish.ts index 4b0e9a3..7820c49 100644 --- a/src/ts/spanish.ts +++ b/src/ts/spanish.ts @@ -272,64 +272,64 @@ EditorDialog - + Path Camino - + Units Unidades - - - + + + Translated Traducido - - - - - - + + + + + + Export to html file Exportar a archivo html - - + + Import html and relative translated contents Importar html y contenidos traducidos relativos - - + + line línea - - + + refer referirse - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current Actual - + Remove Eliminar - + Import to files Importar a archivos - + Do you want to make advanced settings (the default setting is to import to all files in the directory) ¿Desea realizar configuraciones avanzadas (la configuración predeterminada es importar a todos los archivos en el directorio) - - - + + + Do you want to replace special symbols? ¿Quieres reemplazar símbolos especiales? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) ¿Quiere realizar configuraciones avanzadas (la configuración predeterminada es exportar todos los archivos en el directorio)? - + Case Sensitive Distingue mayúsculas y minúsculas - + Search refer column Buscar columna de referencia - + Search Original column Buscar columna original - + Search Current column Buscar columna actual - + Search Translated column Buscar columna traducida - - + + Input Dialog Diálogo de entrada - + Please Input the line number you want to jump Ingrese el número de línea que desea saltar - + Please Input the content you want to search Por favor ingrese el contenido que desea buscar - + Translate Translation Source to Translated Traducir la fuente de traducción a traducida - + Copy Original to Current Copiar original a actual - + Copy Translated to Current Copiar traducido al actual - + Rollback Current to First Load Revertir la corriente a la primera carga - + select the directory you want to edit seleccione el directorio que desea editar - + select the file(s) you want to edit seleccione el archivo(s) que desea editar - - - - - - + + + + + + Export to xlsx file Exportar a archivo xlsx @@ -682,6 +682,35 @@ Plantilla de aviso personalizada + + ErrorRepairDialog + + + is repairing... + esta reparando... + + + + + repair errors + reparar errores + + + + Error Repair + Reparación de errores + + + + file + archivo + + + + max repair count + recuento máximo de reparaciones + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language seleccione la fuente del archivo que admita el idioma traducido @@ -980,12 +1009,12 @@ FormatDialog - + is formating... está formateando... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack selecciona el archivo del juego que deseas descomprimir @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files El archivo html no coincide con el archivo traducido, verifique los archivos de entrada @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... extrayendo... - - + + is translating... traductorio... - - + + Click to check for update Haga clic para buscar actualizaciones - + It's up to date now Está actualizado ahora - + New version detected Nueva versión detectada - + Would you like to open the website to get the latest verison? ¿Le gustaría abrir el sitio web para obtener la última versión? - + translate traducir - + extract extracto @@ -1302,12 +1331,12 @@ seleccione el directorio que desea extraer - + select the file(s) you want to translate seleccione el archivo(s) que desea traducir - + select the directory you want to translate seleccione el directorio que desea traducir @@ -1317,8 +1346,8 @@ Traductor Ren'py - - + + Version Versión @@ -1419,15 +1448,20 @@ localizar el archivo de registro con el explorador - + set default language at startup establecer el idioma predeterminado al inicio - + format rpy files formatear archivos rpy + + + error repair + Reparación de errores + Auto open untranslated contents with brower @@ -1439,37 +1473,37 @@ Mostrar el archivo html exportado solo con el explorador - + extract translation extraer traducción - + runtime extraction Extracción en tiempo de ejecución - + add change langauge entrance Agregar entrada para cambiar idioma - + one key translate una clave traducir - + official extraction Extracción Oficial - + convert txt to html convertir texto a html - + pack game files empaquetar archivos del juego @@ -1484,7 +1518,7 @@ opciones avanzadas - + unpack game package desempaquetar el paquete del juego @@ -1497,7 +1531,7 @@ ingrese o elija o arrastre la fuente que admite el idioma después de la traducción. Ejemplo: DejaVuSans.ttf (fuente predeterminada de ren'py) - + replace font reemplazar fuente @@ -1579,37 +1613,37 @@ editor - + language idioma - + theme tema - + copyright derechos de autor - + proxy settings configuración de proxy - + engine settings configuración del motor - + custom engine motor personalizado - + edit from rpy editar desde rpy @@ -1768,12 +1802,22 @@ establecer el idioma predeterminado al inicio - + + Error Repair + Reparación de errores + + + + max repair count + recuento máximo de reparaciones + + + select the game file selecciona el archivo del juego - + One Key Translate Complete Traducción completa con una tecla diff --git a/src/ts/turkish.ts b/src/ts/turkish.ts index 9d3acb1..f34aecc 100644 --- a/src/ts/turkish.ts +++ b/src/ts/turkish.ts @@ -272,64 +272,64 @@ EditorDialog - + Path Path - + Units Birimler - - - + + + Translated Çevrilmiş - - - - - - + + + + + + Export to html file Bir HTML Dosyasına Aktar - - + + Import html and relative translated contents html ve göreceli çevrilmiş içerikleri içe aktar - - + + line çizgi - - + + refer bahset - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current Geçerli - + Remove Kaldır - + Import to files Dosyalara aktar - + Do you want to make advanced settings (the default setting is to import to all files in the directory) Gelişmiş ayarlar yapmak istiyor musunuz (varsayılan ayar dizindeki tüm dosyaları dışa aktarmaktır) - - - + + + Do you want to replace special symbols? Özel sembolleri değiştirmek istiyor musunuz? - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) Gelişmiş ayarlar yapmak istiyor musunuz (varsayılan ayar dizindeki tüm dosyaları dışa aktarmaktır) - + Case Sensitive Büyük Küçük Harfe Duyarlı - + Search refer column Yönlendirme sütununu ara - + Search Original column Orijinal sütunu ara - + Search Current column Geçerli sütunu ara - + Search Translated column Çevrilmiş sütunda ara - - + + Input Dialog Giriş Penceresi - + Please Input the line number you want to jump Lütfen gitmek istediğiniz satır numarasını girin - + Please Input the content you want to search Lütfen aramak istediğiniz içeriği girin - + Translate Translation Source to Translated Çeviri Kaynağını Çevrilmişe Çevir - + Copy Original to Current Orijinali Geçerli Olana Kopyala - + Copy Translated to Current Geçerliye Çevrilen Kopyala - + Rollback Current to First Load İlk yüklemeye geri al - + select the directory you want to edit düzenlemek istediğiniz dizini seçin - + select the file(s) you want to edit düzenlemek istediğiniz dosya(ları) seçin - - - - - - + + + + + + Export to xlsx file Xlsx dosyasına aktar @@ -682,6 +682,35 @@ Özel Bilgi İstemi Şablonu + + ErrorRepairDialog + + + is repairing... + onarılıyor... + + + + + repair errors + hataları onar + + + + Error Repair + Hata Onarımı + + + + file + dosya + + + + max repair count + maksimum onarım sayısı + + ExportSettingDialog @@ -891,7 +920,7 @@ - + select the file font which supports the translated language çevrilmiş dili destekleyen dosya yazı tipini seçin @@ -957,12 +986,12 @@ FormatDialog - + is formating... biçimleniyor... - + @@ -993,7 +1022,7 @@ GameUnpackerDialog - + select the game file you want to unpack açmak istediğiniz oyun dosyasını seçin @@ -1081,9 +1110,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files Html dosyası çevrilen dosyayla eşleşmiyor, lütfen dosyaları kontrol edin @@ -1206,57 +1235,57 @@ MainWindow - + is extracting... çıkartılıyor... - - + + is translating... Çevriliyor... - - + + Click to check for update Güncellemeyi kontrol etmek için tıklayın - + It's up to date now Artık güncel - + New version detected Yeni sürüm algılandı - + Would you like to open the website to get the latest verison? En son sürümü almak için web sitesini açmak ister misiniz? - + translate Çevir - + extract çıkar - + select the file(s) you want to translate çevirmek istediğiniz dosya(lar)ı seçin - + select the directory you want to translate çevirmek istediğiniz dizini seçin @@ -1266,8 +1295,8 @@ Ren'py Çevirici - - + + Version Sürüm @@ -1363,15 +1392,20 @@ explorer ile günlük dosyasını bulun - + set default language at startup başlangıçta varsayılan dili ayarla - + format rpy files rpy dosyalarını biçimlendir + + + error repair + Hata Onarımı + Auto open untranslated contents with brower @@ -1388,47 +1422,47 @@ gelişmiş ayarlar - + theme tema - + unpack game package oyun paketini aç - + extract translation çeviriyi çıkar - + runtime extraction çalışma zamanı çıkarma - + add change langauge entrance değişim dili girişi ekle - + one key translate bir anahtar çeviri - + official extraction resmi çıkarma - + convert txt to html txt'yi html'ye dönüştür - + pack game files oyun dosyalarını paketle @@ -1448,7 +1482,7 @@ ©2024 Son an,Tüm hakları saklıdır. - + replace font yazı tipini değiştir @@ -1473,32 +1507,32 @@ çeviri motoru - + language dil - + copyright telif hakkı - + proxy settings vekil sunucu ayarları - + engine settings motor ayarları - + custom engine özel motor - + edit from rpy rpy'dan düzenle @@ -1653,12 +1687,22 @@ başlangıçta varsayılan dili ayarla - + + Error Repair + Hata Onarımı + + + + max repair count + maksimum onarım sayısı + + + select the game file Dosyayı seçin - + One Key Translate Complete Tek Tuşla Çeviri Tamamlandı diff --git a/src/ts/urdu.ts b/src/ts/urdu.ts index 77f1800..2f2beb3 100644 --- a/src/ts/urdu.ts +++ b/src/ts/urdu.ts @@ -272,64 +272,64 @@ EditorDialog - + Path راستہ - + Units یونٹس - - - + + + Translated ترجمہ شدہ - - - - - - + + + + + + Export to html file html فائل میں ایکسپورٹ کریں۔ - - + + Import html and relative translated contents HTML اور متعلقہ ترجمہ شدہ مواد درآمد کریں۔ - - + + line لائن - - + + refer رجوع کریں - - - - + + + + Original @@ -337,122 +337,122 @@ - - - - + + + + Current کرنٹ - + Remove دور - + Import to files فائلوں میں درآمد کریں۔ - + Do you want to make advanced settings (the default setting is to import to all files in the directory) کیا آپ ایڈوانس سیٹنگز بنانا چاہتے ہیں (ڈیفالٹ سیٹنگ ڈائرکٹری میں موجود تمام فائلوں کو امپورٹ کرنا ہے) - - - + + + Do you want to replace special symbols? کیا آپ خصوصی علامتوں کو تبدیل کرنا چاہتے ہیں؟ - - + + Do you want to make advanced settings (the default setting is to export all files in the directory) کیا آپ ایڈوانس سیٹنگز بنانا چاہتے ہیں (ڈیفالٹ سیٹنگ ڈائرکٹری میں موجود تمام فائلوں کو ایکسپورٹ کرنا ہے) - + Case Sensitive حساس کیس - + Search refer column حوالہ کالم تلاش کریں۔ - + Search Original column اصل کالم تلاش کریں۔ - + Search Current column موجودہ کالم تلاش کریں۔ - + Search Translated column ترجمہ شدہ کالم تلاش کریں۔ - - + + Input Dialog ان پٹ ڈائیلاگ - + Please Input the line number you want to jump براہ کرم وہ لائن نمبر درج کریں جو آپ کودنا چاہتے ہیں۔ - + Please Input the content you want to search براہ کرم وہ مواد درج کریں جسے آپ تلاش کرنا چاہتے ہیں۔ - + Translate Translation Source to Translated ترجمہ ترجمہ ماخذ کو ترجمہ شدہ سے ترجمہ کریں۔ - + Copy Original to Current اصل کو موجودہ میں کاپی کریں۔ - + Copy Translated to Current موجودہ میں ترجمہ شدہ کاپی کریں۔ - + Rollback Current to First Load پہلے لوڈ پر کرنٹ کو رول بیک کریں۔ - + select the directory you want to edit وہ ڈائریکٹری منتخب کریں جس میں آپ ترمیم کرنا چاہتے ہیں۔ - + select the file(s) you want to edit وہ فائل منتخب کریں جس میں آپ ترمیم کرنا چاہتے ہیں۔ - - - - - - + + + + + + Export to xlsx file xlsx فائل میں برآمد کریں۔ @@ -682,6 +682,35 @@ کسٹم پرامپٹ ٹیمپلیٹ + + ErrorRepairDialog + + + is repairing... + مرمت کر رہا ہے... + + + + + repair errors + مرمت کی غلطیاں + + + + Error Repair + خرابی کی مرمت + + + + file + فائل + + + + max repair count + زیادہ سے زیادہ مرمت کی گنتی + + ExportSettingDialog @@ -914,7 +943,7 @@ - + select the file font which supports the translated language فائل کا فونٹ منتخب کریں جو ترجمہ شدہ زبان کو سپورٹ کرتا ہے۔ @@ -980,12 +1009,12 @@ FormatDialog - + is formating... فارمیٹنگ کر رہا ہے... - + @@ -1016,7 +1045,7 @@ GameUnpackerDialog - + select the game file you want to unpack وہ گیم فائل منتخب کریں جسے آپ پیک کھولنا چاہتے ہیں۔ @@ -1104,9 +1133,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files html فائل ترجمہ شدہ فائل سے مماثل نہیں ہے، براہ کرم ان پٹ فائلوں کو چیک کریں۔ @@ -1249,46 +1278,46 @@ MainWindow - + is extracting... نکال رہا ہے... - - + + is translating... ترجمہ... - - + + Click to check for update اپ ڈیٹ چیک کرنے کے لیے کلک کریں۔ - + It's up to date now یہ اب اپ ٹو ڈیٹ ہے۔ - + New version detected نئے ورژن کا پتہ چلا - + Would you like to open the website to get the latest verison? کیا آپ تازہ ترین ورژن حاصل کرنے کے لیے ویب سائٹ کھولنا چاہیں گے؟ - + translate ترجمہ - + extract نکالنا @@ -1302,12 +1331,12 @@ وہ ڈائریکٹری منتخب کریں جسے آپ نکالنا چاہتے ہیں۔ - + select the file(s) you want to translate وہ فائل (فائلیں) منتخب کریں جس کا آپ ترجمہ کرنا چاہتے ہیں۔ - + select the directory you want to translate وہ ڈائریکٹری منتخب کریں جس کا آپ ترجمہ کرنا چاہتے ہیں۔ @@ -1317,8 +1346,8 @@ Ren'py مترجم - - + + Version ورژن @@ -1409,15 +1438,20 @@ ایکسپلورر کے ساتھ لاگ فائل کا پتہ لگائیں۔ - + set default language at startup شروع میں پہلے سے طے شدہ زبان سیٹ کریں۔ - + format rpy files rpy فائلوں کو فارمیٹ کریں۔ + + + error repair + خرابی کی مرمت + Auto open untranslated contents with brower @@ -1434,47 +1468,47 @@ اعلی درجے کے اختیارات - + theme خیالیہ - + unpack game package گیم پیکج کھولیں۔ - + extract translation ترجمہ نکالیں۔ - + runtime extraction رن ٹائم نکالنا - + add change langauge entrance تبدیلی کی زبان کا داخلہ شامل کریں۔ - + one key translate ایک اہم ترجمہ - + official extraction سرکاری نکالنا - + convert txt to html txt کو html میں تبدیل کریں۔ - + pack game files گیم فائلوں کو پیک کریں۔ @@ -1502,7 +1536,7 @@ ترجمہ کے بعد زبان کو سپورٹ کرنے والا فونٹ داخل کریں یا منتخب کریں یا گھسیٹیں۔ مثال: DejaVuSans.ttf (ren'py کا ڈیفالٹ فونٹ) - + replace font فونٹ تبدیل کریں @@ -1584,32 +1618,32 @@ ایڈیٹر - + language زبان - + copyright کاپی رائٹ - + proxy settings پراکسی ترتیبات - + engine settings انجن کی ترتیبات - + custom engine اپنی مرضی کے انجن - + edit from rpy rpy سے ترمیم کریں۔ @@ -1764,12 +1798,22 @@ شروع میں پہلے سے طے شدہ زبان سیٹ کریں۔ - + + Error Repair + خرابی کی مرمت + + + + max repair count + زیادہ سے زیادہ مرمت کی گنتی + + + select the game file گیم فائل کو منتخب کریں۔ - + One Key Translate Complete ایک کلیدی ترجمہ مکمل diff --git a/src/ui.py b/src/ui.py index f152cae..2ccebae 100644 --- a/src/ui.py +++ b/src/ui.py @@ -161,6 +161,8 @@ def setupUi(self, MainWindow): self.actiondefault_language_at_startup.setObjectName(u"actiondefault_language_at_startup") self.actionformat_rpy_files = QAction(MainWindow) self.actionformat_rpy_files.setObjectName(u"actionformat_rpy_files") + self.actionerror_repair = QAction(MainWindow) + self.actionerror_repair.setObjectName(u"actionerror_repair") self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.gridLayout = QGridLayout(self.centralwidget) @@ -319,7 +321,7 @@ def setupUi(self, MainWindow): MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setObjectName(u"menubar") - self.menubar.setGeometry(QRect(0, 0, 1068, 21)) + self.menubar.setGeometry(QRect(0, 0, 1068, 22)) self.aboutMenu = QMenu(self.menubar) self.aboutMenu.setObjectName(u"aboutMenu") self.proxyMenu = QMenu(self.menubar) @@ -354,6 +356,7 @@ def setupUi(self, MainWindow): self.advancedMenu.addAction(self.actionadd_change_langauge_entrance) self.advancedMenu.addAction(self.actiondefault_language_at_startup) self.advancedMenu.addSeparator() + self.advancedMenu.addAction(self.actionerror_repair) self.advancedMenu.addAction(self.actionpack_game_files) self.advancedMenu.addAction(self.actionconvert_txt_to_html) self.advancedMenu.addAction(self.actionformat_rpy_files) @@ -416,6 +419,7 @@ def retranslateUi(self, MainWindow): self.actionpack_game_files.setText(QCoreApplication.translate("MainWindow", u"pack game files", None)) self.actiondefault_language_at_startup.setText(QCoreApplication.translate("MainWindow", u"set default language at startup", None)) self.actionformat_rpy_files.setText(QCoreApplication.translate("MainWindow", u"format rpy files", None)) + self.actionerror_repair.setText(QCoreApplication.translate("MainWindow", u"error repair", None)) self.translateBtn.setText(QCoreApplication.translate("MainWindow", u"translate", None)) self.selectFilesBtn.setText(QCoreApplication.translate("MainWindow", u"...", None)) self.label_2.setText(QCoreApplication.translate("MainWindow", u"directory", None)) diff --git a/src/ui.ui b/src/ui.ui index e38dffb..4db79f7 100644 --- a/src/ui.ui +++ b/src/ui.ui @@ -537,7 +537,7 @@ 0 0 1068 - 21 + 22 @@ -573,6 +573,7 @@ + @@ -882,6 +883,11 @@ format rpy files + + + error repair + +