From 300ff044bfe8e17d90d0a70ff0ad00854d97f5c6 Mon Sep 17 00:00:00 2001 From: anonymousException Date: Sat, 6 Jul 2024 20:59:25 +0800 Subject: [PATCH] support set default language at startup --- .github/workflows/Nuitak-publish.yml | 1 + .github/workflows/Pyinstaller-publish.yml | 1 + src/default_langauge_template.txt | 2 + src/default_language.py | 64 +++++++ src/default_language.ui | 106 +++++++++++ src/default_language_form.py | 106 +++++++++++ src/main.py | 8 + src/one_key_translate.py | 9 +- src/one_key_translate.ui | 22 ++- src/one_key_translate_form.py | 25 +++ src/qm/arabic.qm | Bin 43740 -> 45187 bytes src/qm/bengali.qm | Bin 46919 -> 48376 bytes src/qm/chinese.qm | Bin 32592 -> 33637 bytes src/qm/french.qm | Bin 51639 -> 53312 bytes src/qm/german.qm | Bin 52229 -> 53868 bytes src/qm/greek.qm | Bin 50539 -> 52260 bytes src/qm/hindi.qm | Bin 47179 -> 48728 bytes src/qm/japanese.qm | Bin 36506 -> 37665 bytes src/qm/korean.qm | Bin 35690 -> 36819 bytes src/qm/portuguese.qm | Bin 48311 -> 49898 bytes src/qm/russian.qm | Bin 48886 -> 50467 bytes src/qm/spanish.qm | Bin 49101 -> 50714 bytes src/qm/turkish.qm | Bin 46768 -> 48251 bytes src/qm/urdu.qm | Bin 47085 -> 48624 bytes src/ts/arabic.ts | 209 +++++++++++++--------- src/ts/bengali.ts | 209 +++++++++++++--------- src/ts/chinese.ts | 209 +++++++++++++--------- src/ts/default.ts | 209 +++++++++++++--------- src/ts/french.ts | 209 +++++++++++++--------- src/ts/german.ts | 209 +++++++++++++--------- src/ts/greek.ts | 209 +++++++++++++--------- src/ts/hindi.ts | 209 +++++++++++++--------- src/ts/japanese.ts | 209 +++++++++++++--------- src/ts/korean.ts | 209 +++++++++++++--------- src/ts/portuguese.ts | 209 +++++++++++++--------- src/ts/russian.ts | 209 +++++++++++++--------- src/ts/spanish.ts | 209 +++++++++++++--------- src/ts/turkish.ts | 209 +++++++++++++--------- src/ts/urdu.ts | 209 +++++++++++++--------- src/ui.py | 10 +- src/ui.ui | 12 +- 41 files changed, 2275 insertions(+), 1226 deletions(-) create mode 100644 src/default_langauge_template.txt create mode 100644 src/default_language.py create mode 100644 src/default_language.ui create mode 100644 src/default_language_form.py diff --git a/.github/workflows/Nuitak-publish.yml b/.github/workflows/Nuitak-publish.yml index 8fe9372..b0d201d 100644 --- a/.github/workflows/Nuitak-publish.yml +++ b/.github/workflows/Nuitak-publish.yml @@ -45,6 +45,7 @@ jobs: - run: copy src\openai_model.txt dist\windows\openai_model.txt - run: copy src\hook_extract.rpy dist\windows\hook_extract.rpy - run: copy src\hook_add_change_language_entrance.rpy dist\windows\hook_add_change_language_entrance.rpy + - run: copy src\default_langauge_template.txt dist\windows\default_langauge_template.txt - run: copy src\rpatool dist\windows\rpatool - run: copy src\font_style_template.txt dist\windows\font_style_template.txt - run: copy src\cacert.pem dist\windows\cacert.pem diff --git a/.github/workflows/Pyinstaller-publish.yml b/.github/workflows/Pyinstaller-publish.yml index 55cac21..ef28ff5 100644 --- a/.github/workflows/Pyinstaller-publish.yml +++ b/.github/workflows/Pyinstaller-publish.yml @@ -31,6 +31,7 @@ jobs: - run: cp src/openai_model.txt src/dist/windows/main/openai_model.txt - run: cp src/hook_extract.rpy src/dist/windows/main/hook_extract.rpy - run: cp src/hook_add_change_language_entrance.rpy src/dist/windows/main/hook_add_change_language_entrance.rpy + - run: cp src/default_langauge_template.txt src/dist/windows/main/default_langauge_template.txt - run: cp src/rpatool src/dist/windows/main/rpatool - run: cp src/font_style_template.txt src/dist/windows/main/font_style_template.txt - run: cp -r src/custom_engine src/dist/windows/main diff --git a/src/default_langauge_template.txt b/src/default_langauge_template.txt new file mode 100644 index 0000000..a62b142 --- /dev/null +++ b/src/default_langauge_template.txt @@ -0,0 +1,2 @@ +init 1000 python: + renpy.game.preferences.language = "{tl_name}" \ No newline at end of file diff --git a/src/default_language.py b/src/default_language.py new file mode 100644 index 0000000..89d6b3d --- /dev/null +++ b/src/default_language.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'default_language.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, QCheckBox, QDialog, QLabel, + QPushButton, QSizePolicy, QTextEdit, QWidget) + +class Ui_DefaultLanguageDialog(object): + def setupUi(self, DefaultLanguageDialog): + if not DefaultLanguageDialog.objectName(): + DefaultLanguageDialog.setObjectName(u"DefaultLanguageDialog") + DefaultLanguageDialog.resize(869, 267) + self.selectFileText = QTextEdit(DefaultLanguageDialog) + self.selectFileText.setObjectName(u"selectFileText") + self.selectFileText.setGeometry(QRect(90, 20, 661, 91)) + self.label = QLabel(DefaultLanguageDialog) + self.label.setObjectName(u"label") + self.label.setGeometry(QRect(10, 35, 81, 61)) + self.label.setWordWrap(True) + self.selectFileBtn = QPushButton(DefaultLanguageDialog) + self.selectFileBtn.setObjectName(u"selectFileBtn") + self.selectFileBtn.setGeometry(QRect(750, 20, 81, 91)) + self.selectFileBtn.setText(u"...") + self.setDefaultLanguageCheckBox = QCheckBox(DefaultLanguageDialog) + self.setDefaultLanguageCheckBox.setObjectName(u"setDefaultLanguageCheckBox") + self.setDefaultLanguageCheckBox.setGeometry(QRect(10, 230, 821, 20)) + self.label_8 = QLabel(DefaultLanguageDialog) + self.label_8.setObjectName(u"label_8") + self.label_8.setGeometry(QRect(10, 150, 81, 51)) + self.label_8.setWordWrap(True) + self.tlNameText = QTextEdit(DefaultLanguageDialog) + self.tlNameText.setObjectName(u"tlNameText") + self.tlNameText.setGeometry(QRect(90, 140, 741, 81)) + + self.retranslateUi(DefaultLanguageDialog) + + QMetaObject.connectSlotsByName(DefaultLanguageDialog) + # setupUi + + def retranslateUi(self, DefaultLanguageDialog): + DefaultLanguageDialog.setWindowTitle(QCoreApplication.translate("DefaultLanguageDialog", u"set default langauge at startup", None)) +#if QT_CONFIG(tooltip) + self.selectFileText.setToolTip("") +#endif // QT_CONFIG(tooltip) + self.selectFileText.setPlaceholderText(QCoreApplication.translate("DefaultLanguageDialog", u"Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe", None)) + self.label.setText(QCoreApplication.translate("DefaultLanguageDialog", u"file", None)) + self.setDefaultLanguageCheckBox.setText(QCoreApplication.translate("DefaultLanguageDialog", u"set default language at startup", None)) + self.label_8.setText(QCoreApplication.translate("DefaultLanguageDialog", u"tl name", None)) + self.tlNameText.setPlaceholderText(QCoreApplication.translate("DefaultLanguageDialog", u"Input the directory name under game\\tl Example: 'japanese' or 'chinese'", None)) + # retranslateUi + diff --git a/src/default_language.ui b/src/default_language.ui new file mode 100644 index 0000000..a2fbec5 --- /dev/null +++ b/src/default_language.ui @@ -0,0 +1,106 @@ + + + DefaultLanguageDialog + + + + 0 + 0 + 869 + 267 + + + + set default langauge at startup + + + + + 90 + 20 + 661 + 91 + + + + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + + + + + + 10 + 35 + 81 + 61 + + + + file + + + true + + + + + + 750 + 20 + 81 + 91 + + + + ... + + + + + + 10 + 230 + 821 + 20 + + + + set default language at startup + + + + + + 10 + 150 + 81 + 51 + + + + tl name + + + true + + + + + + 90 + 140 + 741 + 81 + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + + + + + + diff --git a/src/default_language_form.py b/src/default_language_form.py new file mode 100644 index 0000000..49ad92a --- /dev/null +++ b/src/default_language_form.py @@ -0,0 +1,106 @@ +import io +import os.path +from PySide6.QtCore import QCoreApplication +from PySide6.QtWidgets import QDialog, QFileDialog + +from my_log import log_print +from default_language import Ui_DefaultLanguageDialog + +default_language_template_path = 'default_langauge_template.txt' +out_default_lanugage_script_name = 'set_default_language_at_startup.rpy' + + +def set_default_language_at_startup(tl_name, target): + f = io.open(default_language_template_path, 'r', encoding='utf-8') + _data = f.read() + f.close() + _data = _data.replace('{tl_name}', tl_name) + f = io.open(target, 'w', encoding='utf-8') + f.write(_data) + f.close() + log_print(f'set default langauge to {tl_name} success!') + + +class MyDefaultLanguageForm(QDialog, Ui_DefaultLanguageDialog): + def __init__(self, parent=None): + super(MyDefaultLanguageForm, self).__init__(parent) + self.setupUi(self) + self.setFixedHeight(self.height()) + self.setFixedWidth(self.width()) + self.selectFileBtn.clicked.connect(self.select_file) + self.selectFileText.textChanged.connect(self.on_text_changed) + self.tlNameText.textChanged.connect(self.on_tl_name_changed) + self.setDefaultLanguageCheckBox.clicked.connect(self.on_default_language_checkbox_clicked) + + def on_tl_name_changed(self): + target = self.get_target() + if target is not None and os.path.isfile(target): + f = io.open(target, 'r', encoding='utf-8') + _lines = f.readlines() + f.close() + tl_name = '' + for index, _line in enumerate(_lines): + if 'renpy.game.preferences.language' in _line: + idx = _line.rindex('=') + tl_name = _line[idx + 1:].strip().strip('"') + _lines[index] = _lines[index].replace(tl_name, self.tlNameText.toPlainText()) + break + f = io.open(target, 'w', encoding='utf-8') + f.writelines(_lines) + f.close() + self.setDefaultLanguageCheckBox.setChecked(True) + else: + self.setDefaultLanguageCheckBox.setChecked(False) + + def on_default_language_checkbox_clicked(self): + tl_name = self.tlNameText.toPlainText() + if self.setDefaultLanguageCheckBox.isChecked(): + target = self.get_target() + if target is not None: + set_default_language_at_startup(tl_name, target) + else: + target = self.get_target() + if target is not None: + if os.path.isfile(target): + os.remove(target) + if os.path.isfile(target + 'c'): + os.remove(target + 'c') + log_print('remove set default langauge success!') + + def get_target(self): + path = self.selectFileText.toPlainText() + path = path.replace('file:///', '') + if os.path.isfile(path): + if path.endswith('.exe'): + target = os.path.dirname(path) + target = target + '/game' + if os.path.isdir(target): + target = target + '/' + out_default_lanugage_script_name + return target + return None + + def on_text_changed(self): + target = self.get_target() + if target is not None and os.path.isfile(target): + f = io.open(target, 'r', encoding='utf-8') + _lines = f.readlines() + f.close() + tl_name = '' + for _line in _lines: + if 'renpy.game.preferences.language' in _line: + idx = _line.rindex('=') + tl_name = _line[idx + 1:].strip().strip('"') + break + self.setDefaultLanguageCheckBox.setChecked(True) + self.tlNameText.setText(tl_name) + else: + self.setDefaultLanguageCheckBox.setChecked(False) + + def select_file(self): + file, filetype = QFileDialog.getOpenFileName(self, + QCoreApplication.translate('DefaultLanguageDialog', + 'select the game file you want to set default language at startup', + None), + '', + "Game Files (*.exe)") + self.selectFileText.setText(file) diff --git a/src/main.py b/src/main.py index b628122..6d938b9 100644 --- a/src/main.py +++ b/src/main.py @@ -37,6 +37,7 @@ from extraction_form import MyExtractionForm from extract_runtime_form import MyExtractionRuntimeForm from add_change_language_entrance_form import MyAddChangeLanguageEntranceForm +from default_language_form import MyDefaultLanguageForm from one_key_translate_form import MyOneKeyTranslateForm from pack_game_form import MyPackGameForm from renpy_translate import translateThread, translate_threads, engineList, engineDic, language_header, \ @@ -166,6 +167,7 @@ def __init__(self, parent=None): self.myExtractionOfficialForm = None self.myHtmlConverterForm = None self.myPackGameForm = None + self.myDefaultLanuageForm = 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()) @@ -180,6 +182,7 @@ def __init__(self, parent=None): self.actionofficial_extraction.triggered.connect(lambda: self.show_extraction_official_form()) self.actionconvert_txt_to_html.triggered.connect(lambda: self.show_html_converter_form()) self.actionpack_game_files.triggered.connect(lambda: self.show_pack_game_files_form()) + self.actiondefault_language_at_startup.triggered.connect(lambda: self.show_default_langauge_form()) self.actionArabic.triggered.connect(lambda: self.to_language('arabic')) self.actionBengali.triggered.connect(lambda: self.to_language('bengali')) self.actionChinese.triggered.connect(lambda: self.to_language('chinese')) @@ -218,6 +221,11 @@ def __init__(self, parent=None): _thread.start_new_thread(self.update_log, ()) + def show_default_langauge_form(self): + if self.myDefaultLanuageForm is None: + self.myDefaultLanuageForm = MyDefaultLanguageForm(parent=self) + self.myDefaultLanuageForm.exec() + def on_combobox_changed(self): if os.path.isfile('engine.txt'): json_file = open('engine.txt', 'r',encoding='utf-8') diff --git a/src/one_key_translate.py b/src/one_key_translate.py index e5c7840..3da0177 100644 --- a/src/one_key_translate.py +++ b/src/one_key_translate.py @@ -91,7 +91,7 @@ def setupUi(self, OneKeyTranslateDialog): self.addEntranceCheckBox.setChecked(True) self.translateCheckBox = QCheckBox(OneKeyTranslateDialog) self.translateCheckBox.setObjectName(u"translateCheckBox") - self.translateCheckBox.setGeometry(QRect(620, 390, 411, 20)) + self.translateCheckBox.setGeometry(QRect(620, 450, 411, 20)) self.translateCheckBox.setChecked(True) self.filterCheckBox = QCheckBox(OneKeyTranslateDialog) self.filterCheckBox.setObjectName(u"filterCheckBox") @@ -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, 420, 401, 331)) + self.startButton.setGeometry(QRect(620, 500, 401, 251)) self.officialExtractionCheckBox = QCheckBox(OneKeyTranslateDialog) self.officialExtractionCheckBox.setObjectName(u"officialExtractionCheckBox") self.officialExtractionCheckBox.setGeometry(QRect(620, 150, 411, 20)) @@ -153,6 +153,10 @@ def setupUi(self, OneKeyTranslateDialog): self.label_3.setObjectName(u"label_3") self.label_3.setGeometry(QRect(30, 590, 591, 61)) self.label_3.setWordWrap(True) + self.setDefaultLanguageCheckBox = QCheckBox(OneKeyTranslateDialog) + self.setDefaultLanguageCheckBox.setObjectName(u"setDefaultLanguageCheckBox") + self.setDefaultLanguageCheckBox.setGeometry(QRect(620, 390, 821, 20)) + self.setDefaultLanguageCheckBox.setChecked(True) self.retranslateUi(OneKeyTranslateDialog) @@ -196,5 +200,6 @@ def retranslateUi(self, OneKeyTranslateDialog): #endif // QT_CONFIG(tooltip) 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)) # retranslateUi diff --git a/src/one_key_translate.ui b/src/one_key_translate.ui index 66dd72b..c18036a 100644 --- a/src/one_key_translate.ui +++ b/src/one_key_translate.ui @@ -285,7 +285,7 @@ 620 - 390 + 450 411 20 @@ -349,9 +349,9 @@ 620 - 420 + 500 401 - 331 + 251 @@ -528,6 +528,22 @@ true + + + + 620 + 390 + 821 + 20 + + + + set default language at startup + + + true + + diff --git a/src/one_key_translate_form.py b/src/one_key_translate_form.py index 61ab8cb..af3a49d 100644 --- a/src/one_key_translate_form.py +++ b/src/one_key_translate_form.py @@ -32,6 +32,7 @@ from font_util import get_default_font_path import my_log from font_replace_form import replaceFontThread +import default_language_form from translated_form import MyTranslatedForm @@ -121,6 +122,9 @@ def on_start_button_clicked(self): if self.addEntranceCheckBox.isChecked(): self.q.put(self.add_entrance) self.qDic[self.add_entrance] = (False, False) + if self.setDefaultLanguageCheckBox.isChecked(): + self.q.put(self.set_default_language) + self.qDic[self.set_default_language] = (False, False) if self.translateCheckBox.isChecked(): self.q.put(self.translate) self.qDic[self.translate] = (False, False) @@ -129,6 +133,27 @@ def on_start_button_clicked(self): self.parent.showNormal() self.parent.raise_() + def set_default_language(self): + tl_name = self.tlNameText.toPlainText() + target = self.get_set_default_language_target() + default_language_form.set_default_language_at_startup(tl_name, target) + is_finished, is_executed = self.qDic[self.set_default_language] + is_finished = True + self.qDic[self.set_default_language] = is_finished, is_executed + + def get_set_default_language_target(self): + path = self.selectFileText.toPlainText() + path = path.replace('file:///', '') + if os.path.isfile(path): + if path.endswith('.exe'): + target = os.path.dirname(path) + target = target + '/game' + if os.path.isdir(target): + target = target + '/' + default_language_form.out_default_lanugage_script_name + return target + return None + + def official_extract(self): select_file = self.selectFileText.toPlainText() if len(select_file) > 0: diff --git a/src/qm/arabic.qm b/src/qm/arabic.qm index 46b9e15ffbbabc204b7627ebac06bc75ed79bb00..a4941db48a2405cef394375d07fa2cf5f14288e9 100644 GIT binary patch delta 3222 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 delta 2529 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 delta 2525 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 DzE#-L delta 2542 zcmXYzeN;{P8pprq?6c3_=WTCMGexnIl&L{P-loFIFbI`v6(y<(L)}5hOIt$GdnaX5 ziAu@aC~uXbOLMWNdmC4V#e~6Nn8Cy{(d0h)&0n9h*4gLxd!Fy}{XYAgFX2vGIAy|_ zNZTvV3wO0R+Mf&G*YMLMKzAO%NWjMz@Q?ugG)4zcMt=)qxI5#QU5v4|j0po7x0Ns! z+X2DRz?P4IC1$`s64;mqIOxGkGhP9ScHoy(0>fTqr}tMv!=Y_;1|r%SSNbt-naOzY zDr5B*&|VLsBmEhx(jg4@13oiBm^uou{hPIYV7$5&@Umc_(`DeS1DsF21_Bb{K0X&% zGYB4e@j$On;5BkMzJgCA#<*+-#9Iidqz5X>uwZr#Fy<1%{-htSOh9zrMId87VsFL) zo5o>nUMG;>f^}#AMFsd`{WB_{pbHtga$rO|GOUAvtvSfd&Hxf}QGRC-up!*ipz5!j zY*D$+s{XWh52@o+DIyLgoTF7gSXPynvzcs+y<~K#-t1A$9|28dT?R z&^7MesvmR@f#nv})s~e&-=(UDIqfvT2342&KR|CQM!!(C!*oxQzlm}0Q}yRf5m4~y z@(&-d4(e1`1E+_oGdrk{)bZ+^_*x(>K)ox{pAMX;&O6df7aAFpCoz`9sPnUE=DH;H ziD^{Om=%m^zp5MGlaI1LRo^jDgVTf5FaO~Uw1ZHNgH9H#Ij9SX<5oB@Y2ke8GKL zodg_v%&k#20<*R-hG-eX7jcQ+W?;n%E(Y8 zd5ombuF)KJF9!^F7>_$??mrHok*w4_A3#>jx~1t*x~u4dRho_-`sDJOWpwa2_j$dU z3i4~@ZCi?+DWsf71z*;62&k>%%LjS_-h=sy z5yUZ`e4S<+aC9Vpaf${Ql+QOu?*abV%C`k^z;1z8UO0Bp1uj~?jb=5}Mr#!o1qMRGdZevcOBcsEXdAqL1ZIAwZ8%Pz0JI(3Nct&_f_hLKPaBt z3bLqk`+mZKOQeW>0HgP9#)3k|qeq0w^o#WUHbx(rv7m+V=o6vYv!}2Wp?$(QQu;8X zPmA!-dM<@l`B->-Iv3!2iDEu6%OLuH`Jb4 z19K9@gdWcFVJvwkZoYDo(vc-@ElVOr+{98#GN9=#9{)Io)={f?TFIbT?-T2O`i4gH zmQh(EvkzIN;=f&*X&bhQEnE%JBL46?3>dqHF+gCPYD}xc7CU zLb463)WNhN(+ykg)&f>RjF}OJU5*=oRh@=n|1x?LtTx=wi~=SNF?23?03`ivcvnFi z&{=EfDknu#<{Nos-T#1fM~qfqHv`d!j8nWwLXX?V#Stco&j4e_S8ZgI zW7dSNJ1kST;=vcd&=Wb@X=KJx+n3^S3R@RnvgB>mTNBh;xKKG*6 F{{aIu_-+6I diff --git a/src/qm/german.qm b/src/qm/german.qm index 9b96a9f8f56a789053ffb0d43b7a84e060eff985..e9e4a4166716bb0752c7d6e1c6eed7959a549b4c 100644 GIT binary patch delta 3442 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 O%m=D%>vNh)hWsDCZwHeA diff --git a/src/qm/hindi.qm b/src/qm/hindi.qm index bb762cc7983add8a56daf63fdd5d8573cb737370..ea42427aef8d78e215f7a8c53e321f842ba8790e 100644 GIT binary patch delta 3266 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 A3;+NC diff --git a/src/qm/japanese.qm b/src/qm/japanese.qm index c0aa73cd5723838d4e22179572da6452a7dfa70d..32b46be63e6f0ec1510c6cccf07d800189a3f2bf 100644 GIT binary patch delta 3224 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 W^U(dir?#$ew2XG>Tc=xFsQxF@mch6H delta 2525 zcmXAqdst2R8ppqTt-bbI`?fYyW<*MnYsRhQl2T_!)FhPDq*QwgHFZdLtRk95id5#f z4Nr0%W5~5cs7HAwW01?4L8CFoxZfUwj?SCkA3dM_v@XB*{l4GtySDG-Hg4e*&*PTv z7oKh|Yj(0fJ!gCEEnh%e2Vf*Hs1X=01DZXIwhoN$EsVbQj1w<22F5bZe8w2*$@tYe zAUvM_9s%>rfcp+$Ng-hK3W6N?iZ19O%-aq0E?u|AL7CtS%_SGWT+bM^i7~>CG4&E- z_Ht;hg#eRoGp0pD9OefMoCeX~9q8i2sJw^aavtE44d*^hK<*p39DNOp-UHWhrNFdd z7+#(U=&r$IkKJgWqq^L@2s_Wp6{t@H(vw{evCt>alHcEfKfbS(y!d4GjUMhaQx#B zOkc#UhApt{FjxGN`j|70E6F?o#7JD3C5ZZH=F0as0KKXiXImJPJ-H2Qok_1Y?(k$P zsGkjEOd5BpgM4IJ!`(4bgChgE=QF*?12Xsgl>|h5!M$r3qX2#NJXX_-1Dbf-!4H4| zL-x6HaY{EJ^c-Jmx=GfU%9lrzlnH0~S|d#; zu!L{%z5s|pjDt7u*RvM@%hUNkx0eAk&Z~#l-yq}Gsx3{KWHC2&QB4mT~6qX(BJjh-soJh(!Z4q{~?*noc36;)n6kS=^HG=5U zDpadi0vWYJ{X{j;y+de--voT|qtFtgb_HXrWm-`e?dFSpg3%W6Bjx z_de7~{1r`AIvpIGs;Tw54!9lA)E*>HQ0XsMlJvupM6PctuqacM&YT3|tfIN0fJXa3 z^xOB2X5UM+ezyl0ds?aad4=3 z&o-3Is2mXgI#vp(9!b&$V%$L~=*QP|VTu$n!-c$Hks?xvi*uzfM~6`7ucak1Pe`FB z(y~sDie^myPRhA(gyLu`>LZD3<4>>RbPzl%z2# zlPcH`OHb*1{|4HIN2F%HikL0^@;Zuc{EcyRD5Eu+F-;@2Oe6Q_T$BEILvam!FTHqp zm1627{V#JqFl&|cK}9RNcMM~=591u2*4$_Vd|s%H{5zHMFIH%+9zRpAXKE9VEdy-* zwfPn8w4Vg+(QR3D%XxQ=Sif5zF`qL{i;aT0XPiRDTFBp@0>-N7n1tbRO4vh)}qKb7*g|?KI*^INt>hAmd z0pm9_`m{3o-6tw^Ayd&kTU|kmBUJan)R_y(I^{(pk!R34c1}ky0C%1WpRdy9wedDPlnhyBgJHop(vq+OnJvpwAvZSZZoX) zd_uXsZfM#j(`w#tX#ScGzpiG3(kMYDC4Dlxi&b)=UZ?H*S6xN8kPsQN9*o3V~Ds+n=&zf8T7>?jStGp5>@1}>#hM7ElydY_=Q*qfGWj!>ub zOiL%U028tq&FzfoS4{`IxRU~SXgXm}H+oHF^!=GJ`MT+pT{kl24O4SF#b!#3spA0^ p=o3%Q$*Ze!);Zg*PYmf^mF{#~TlK@>%Yjv`8AIi&to&X2{{v(P-e>>- diff --git a/src/qm/korean.qm b/src/qm/korean.qm index 8872a823e7a6fca7594886d008eb2805c286f391..5c193c99f82eb169a34e18a91f03b8c7c9d29976 100644 GIT binary patch delta 3158 zcmb`JdsvP67RSH)-TU3|yYEq%lBm>_OQVp;C25x$$*qe*Y_*GIquMCdt_cki+R0$t zhDOXdN6IC)kC7;>KJMWRW86K1X>wM6^T*-%Yo7DhXFub6%$SDSFhl1BeJO|>3gP&Fjbd|4K-q~Uw0r`&}K+t2x z(5Z~0rHm6o80Y3O=2##<9|eTZXPl>j;1dG$m;oWo571RH7T7?2b|K)o18!X#fX`as zvF`;CupB)HmH}fo!?!#O7AQ;M-^T~=R-(UWKETHzzLH)r+hF48YQQTG2`}k~qkAKz z`~;8~jaiq>Kx{tdmA?X}Kf?UO$4NjbvLBFuv>_-_Q~>S|QDPSdOx%YRt4e_JB`90F z8?etq+0NO-n{BiJGs@V5tdpp??heHC!@lWsfbKF{6Wypm4iZTW1+Y0Pv5%)r^R7s| zVh;kJ6iS8#k+ATuB_#zL0gv61_3_a_a;{`&7k|KwmsA^j0|SdBHDW7}e_C?vA_;V9 zm7G!B0V0AVXB#c)K)d0RJEhm?fEkh&{l5TJGo$YS&Ur*%>fkHJSykNdxZ@9}kvd867+_NNU&P9?*T1 zwBO>Xl*mHt+2zfZ-2kCMXd7{%(>B@ojbf8LFrn^L@ikFs8rc$PzkRH)c z>mp^+bAdD`f)}IrUg?DeG%tlF>D?`>foLb0?}>|KeQ#M(Ll&7c#v&^@)RB7GB-{4= zcEHXgtNc5)z*sN)wr2$$RL8iWM%MiESU~M2d(?&8Z1j{pYu!o1TFdAiz{^r8z>HqJ zQcuEs=kxZ@Gl7KzdFSFr>VPqdM^CqNG6TNBm>gXO!VJIe(5?=UOjs zmtdqyK4Q#VC3omb2~AreubxK&#@vw~8FB&WS0_JGMIIsl%bzWxUi6LLZL0`XwN~9A)zIjbv@Dz-jb^wD4g^bDrP+!w_)#H8h76b+-^iKb(_fm%3#-IGvZm7(KPI+HI?*Dzz!*P|(O{?0pRxsf@)Q&AQ)L9R z!s!14&}D-nZGRrnVXLBOYYVwORV|tZx zoR^kLU9L>}v5{QOG4@-^I6juKa3}Fs8rw#t@t@D>4(O+}b()}jOVe}ZuHTLV zGlP|T`o#j1wz7!#%_{~Z=W8R{7W;~9fX8HX=n%q~?vUbdC?N`kW0V-KL2 zpc1Y%0H1!#I4@9TyOUc&Ii; zZlg=)n5ub&5$NTudNuJjT`pr)zi+1v=~Sg^sh|>1_EYooe*&Un)$Qig17UB}q5f1! zcfERQqK2mCjJjmTIWp-Xb;&X}x|l5&)hh=*q&Z%sZrDsEoN84!eog^Uq&^!MLgsT; zzdYp*WGd9Z7g4JQe8m`afHAZOqj9~uC61>SywPx$0c6f=i~&63*qMyU62_dJ8s3lY z9;J4%#zE88g3i`SVrNU(T21!(9l)&Nn$j=yK=w(^m#-6PYGO3sou^KyHfk>QeMLH^ zGvI-%Ghq5c`?QG!j@hJr-By4ID`V95e~KBwO$7V7NUrZdn<*KtW44bL#f$-gkB+v=Q6j47d+zLzrXpvxV44jAUa7+TIaKVMg6<3}C3uB+`t?*;zBsGq|)yFz!=(Vo0_Q`guM z35>X>dvlKj20M~J7FAVWR+wy^=N`Xuaur;TUxCZtd=9^aOZ|cRn%W$=)VZIsx4Mq( zWxX}g&Z<$la7p1-gRhg-C%j#k3}dECk}=s}PRn#jGni7$h7_ZVA=4!z(~zENo^6e{ zI6LXt_Yr@7t)Fg4o0TGwlH4?Fwtk4!Ys4pS|8PQ1kHV~*M}*l5^vV9+-&uV=>uP!L zneo5Q>i8k~OnlqF*|&%Pk6eTK9l0L}`%Z|MzY^oUl6)YBwQg}o>x~e#?!EM^L!;cQ zr#PQdSjQVftY+`_)n1;rKh^)GOy5&sbxpUg)}&w7{C`esx4^}!=;N>_KUMV~L@28D delta 2529 zcmXArdst2R8ppqTt-bbI`#vg1H9{9t5syn3B}r4cWU5K&v`Z>&qD~|wmnZVm^6`WR<^ z&KTRuxU`NjFA=J{(LksbV|E0@F(H7P0CAcZU_8ONx*fV(8vvJ&;pE&1tZBjU)2{&^ zS9na^2}Jl|Y}pDxvjaZk#~>ZQ2`!U`GN{aTZRERo&`oaD1xTY?Lz|3XPBRqyO)-!IgT*ei_23WO++uBKe%xU3vtf&DJi@9B?;nYVxS9Yuc7~I7e{}E$GB)5B; z6Y15+eLtNFa%o{qe8pXOM?Oman`_lmgJavcj@bc#Ifd)!l7N32x!wj}nJT@Gpze4mVaMVZ>T0&sq*EIDUS zqs&xRA1CQk<|@DOsG{@rjLS=vkAIH>bWY0lp=8D6dS$2l_9#WHM%md<_d9}e5#4w} zqo4_Zn#FG}Ekx%vB9Y zG?R3Nj7x5-Y@MkSv%AW&oE{u5t7-%8(Rzqi)t(?vQ0bioB>m_%k#orb78i(8{dpj% zMGS5zBt?#hAz$~>?CV8y`4Pa^LCmiHfxdSXm(^24A0C&*9CICY;3F3Ir}l#)arYa6 zI_?(tZKKYuvc<2ik|I`LGP;joOdHLZs}`%bT&CZf7~NwS(_$HOCy5Q7{e}67kNo|p z+*gbv^x{*S7*asiioc)P2`HXR(r#k1s}%m-YwEaCGR+!JDXx}G*~F{@DSkpUbzUy5 zPHqFdGo&^B^!$S{M=1k@Uw znKiVRcd9oX>LYh|s83g{qzhBk=i2Fp(j;}g-D7&tRK~@v>icGreonIb=Z+V2-2u&q z+d10%ZW`BpRaAJl#wS<+{6=Xa_mKkT8=9zn;Xr`InAxeBIj{q!pKbJ9B&NSLT;EViMvR56-* zHNQ;@0VZ}a26`|CI}>I4Ava6&vgi=7e3ItvaC%GW69!H`pzw6`RJGbXdE~aTV~%MeV`xN{XRL`*^FF_Q4fxPr?)0crUbX z4$}s-{ZiXkMT*AX&brEA(u55Okft;r!|HV0kzRTp4MnC{Ic8jZI@^9)4QB8LS#(Y&zM)J7rf}@V%Vs+)%Qzp)F)a~8r1IklrVC= z`d|7C19hlAreAsY2sJXEF}+Z~V^1(C{FVMd?>tJ+OZ~;WG#c$e{R7V)Dv+1ihdfvP z|4Pa2b8HP>)5&B>nTBZ7K$_t=L#&DlOqC2f`a2I=#ki!%a5iZ@0C`=W`h{-jy^IsVA zRi~)ae;D%vo5}ST89yGwxa^Yg#0OsVHw3N5n!$9T|8B-9TE>juj2G+%k}2zqO??!b zY3q&eo>765E##ba+bm9+OzYB_DYlj~!>+0=cSk&#QF_|j&N4FhlHL-zVZHYM;=I|b diff --git a/src/qm/portuguese.qm b/src/qm/portuguese.qm index 9046d604abfc2be3989c8a9f716af35ed75a2569..130300b3d5d723305fef128cb39dc1e917ed92e9 100644 GIT binary patch delta 3296 zcmcJRdsL0-9>>4?^6vfayC_5{sljoJ3egc(nJi8uw?b^SOG=?O3T<~$QoUVNrVB;H zp*E3wMu#k!aS6?G84P1)++`@?{PLVX&N0q9>#VcRKl`)a_kG^y`F(%C@9%luLrvme z*GfztheJA^f3`KVuB*+-Sw+WhjRcfD02jbBALy?I6a|cSV;FsxG6pSU49R7Tc*z*= zz_@Y%>APiXkJ21x!@bv|jB?FzFg42#|q>CnSb4qD&McSq=Cfj_-zIOtqw_(&j zWQ^{^n9z%{*nx4+XvnTj1PslL#kU}L_6GjE7jhprpnV_4iaAhUUIPrygG0Ak;Ghqj zDqjN=dZG8w3}E4Y^v{Ze3EGPoFPh)WR6#(yzz)~8pO^oT|&4BxP1ihsfqeBsv zbq3fFgXjh$5H}c$vzmbPnOJh{GzD-I@sBBh%nL|SlmM;?NU;n6R`kH;v=ksd9T_?M z0oxytv3owyC8m`oAmbjpQL0DD9Y}e`04jLVsT&kv z-*ci%iU&Y=x#)78X(7_B0DWdKuDZsU=PJ%lC1HGn_<(6N zMdWT2A82J_7x9UYWW{86@f{5*91|#hF?kq}dPDr8k!+e^5I5Jj0|VnENTP`&I!i2j z{Q`KnO9rl+4OqKNh76;U1m`nmH%L6b;iyy>BqQ!zB@1Rrd@}rjScPQb`kugFtt6(< ziq*hwE6E}g`Fq@S#;MO4gUTf8lUBsab0oJsUac zTv{Mw1gG?(z`TFwtQup1$}600aux6=a8o99qf&gwxOxUQM^P$W{JG+m zGBU|~uEfC=7*@>f96)p*%pH-g1$I8+&Ww@*Uj=eCVR^v3(_H;T3AsO;d*1aGE#xcX z>Zx@7uFEWf43x=tj749|I(8#LscACvVhUivA=&X^*MYxummM!BkC6Xmuhvp6Mm5UC zjz*v$Le5to12$I4y=pc9gHFo5%bLjxPI5!RE@0vdc}(eH^1yw0Y&9wC6(~0vP5}c1 zd2(z2cZiW^zvF;IKg)AdDFdBE@*U?WGo1!9dJbdEod1a?ls3ytH=UsYVT_*9jF|B9a zU)~{#_JgPVAyWz|=lCPHa)2RVG*mGrRq zS`=fxS?S+HOKs?^4Eeqe82*rP>?6i_f5ytT#3$5_7D~f~MmhufDoqJ(saD;ODnBu2 zhjQ69P&Z9dr$p3~NoT54k{p0NrX%W9kEehzR9#z0DNJ0Tu1ll^a94fV z)0@oKQ~mawBT%?h{cb&#YJ4-}w2O@T62@df-4ei232HQAlRK5ngV8UBabYy$CTqq$ z2^!9g&K{*@sHUT)wFE)J48Dsgq*fDuZ5NQ+O_RRG3)oer+1eaTUGq|N@)}j5jjN`? zwTa>=XWS#!+!M&;YYVk*qsdzvowXAKt*Bxe?GzcsvAMlAy;YyS4`bma?U7ll$wKcL zE3&mmnmkGOcJ1AplW022!(o-i9KbWovg%ou})xA%ITdEXFk_8NWHJvyHL_qBzEFZ*)DEQ^Hr- z>&AIj>8VTR>z2z7k_Cvv>*>R29OG<9#vPTq@-}XOXtA!!hQ%;cmjISf!9$#@pE= zobHCxvw6_N9`k9OfkqqXoe&s=YF}HSW?TCX_H-Rh&-L_tA^k>S0nKF)?nYP(@68V4 zkkLZd1HJ8H46*hhhETmRGS)s)9~EZQhZ*ekvGy^s`h~H^`GTL?rni+B8!+}C&%MI+ zkM9BrZU)W%^z8~64e}8#&h%*~r+=T#BslNy)8n&yhJTuUe5)da zlG-SQ3wFv5g2TY}k^e?n>!q*j=fXcFA|wl&AQtP0h9F%QH4*N_B#mZiBR=SAE9*Zf5VcIGF0&g=dT=?BgD delta 2533 zcmXAqc~}%z7R66@b#+x&Z!S0jZV`15M1zJ!fw&Dgpu{nPVPKGef(YUkY*`daf(QyU z$kGa^ND#y=sO=Il8cpDf_=!7iiMYiX%?L)3FD?wu#rM~*>Z_{v-aYr+Q@>|%$KNPr zpYNh=&p+Q*+A@6b50O=;?oJ0ZX8?Qxc-;ZU8|c20agZ%zz;VXV?-;+l!5BM^(GBwM6DqXQJC!mOzQK5l^7CKOl`je^Z)z;qEc_eKI={aAcT zF;w1@p%@*~0Qg){OrJ)}N5w1589M;i>xzo7dB8@6V(&0dV9aubHHIXdeO7Tq>;d)< zQJlF&+c>KfS2T}-=yt``mahO?lj3nv8-2e-(d~N?=(CS;>NVw%S#Bi%W5&`r<=@XP zgbe3|4;NUzRhbJLVDGoef=;R<a#xoSYfc`!SY2RBkDB zAiZuYj|9+x+zv5jhAB_KCm&^-l=t*h;0%lM#TS!-JR9YUS0eeLO8K^Fl1wH!$|08) zUKGOFjCl%pnmCUQ3jn)GoY!O$HsTIrQ8wqZohJcBZrZ);WFQOYUlIf?_v3=Ioq#%L zZqeaPV3#wuT3!px+{zg2!Wi1lWlSam#+=~tmr-L!#&Lz-@&F+57p}y38~8SpvwTTX zZnou4>8V4p5nSt(^MK^f=v~jKGQav9=R?Plb)hYMvr4egZb@tNRl~={n!Ubu( zU)?t% z2AJi^Ska}n9YK}kwy3R1v~fbG`qbo`fd4}EsYB!mK;4-|(oc64lp{?*xt$=M{T|5b z5`3FB0u$Z|e*4~1@1um6%00lGu|i@U<;H|z!m6`WkfWn4m}1V5gqMW8-l-j!C~SGh z1BbeW@B)SGpqT#lwt&?Tk73jFmdE^>cFnfg|E?f6}-v zHi|F*d!6FON&H_*9FUYO_9zBZsvc!bUe1_NuJJwBADGgh3IE+h^Dmv$#CTo;Mw>MW z$J2p9(>2-E-Q@1wnqxatfvM9qC!f=T+H0D#c8_SIm5k+Onp-g>ea5Gn`!Al+d+E}k z%}UC4i{w~d19*& zWHc2p9&{wO)7br0in;KL5<6Z>??){fk;7OLEFJjsG>z?D>99u#AXiGwc{VgH6^v;Q zrT_T*0YNVrLsv6Klo4fmP@N(Dky}l{VU>DD9R~VUX@$0CU_l#WpfrXRV9< z2+D~TZK5)il5v=JyHF4X~tLyJPk)8pA;CqkAGcRc+Q&#BAxeh?> zC0(IU2VhRpHSaV4nFn+&IkW*D=&nxjBeOZ_UY{EYR5*_U+P zp*$&;sF#)UBr;jD{sRN+8JF&3%$dhnTde2Z>E~jzNN=m}m41vqqCZW8UeGU?MXuKe z=@Sf8p?*$Kir_!^l{VQc6&oP(=M}%+JX9q z#pL#NzZ%>F$YfawhTyOPl+kw#A!<6{rn!cq-pa${7%OB$Lu4i;*d)gN`wb0mrjR1{ z3=e*tM+!YOv~My2#SMm+*XiI1Rfe~{%EZJnnq3SZ6xc4i8s6XkiF$j%DC|^GW!*+& z4t==(uFf=s7J4KT5#9(?c_!?taF{7o*c-n3NP_xe1(oJI%y~g?iQ;6cTv`k<0U&|? A9smFU diff --git a/src/qm/russian.qm b/src/qm/russian.qm index 0f9237c3f68f2c84095c02462528f25258f051f7..b544dd243f17db4b4eeff1b0549cfaa83b61f690 100644 GIT binary patch delta 3235 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 delta 2529 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 delta 2537 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

TGV(KJ|>7?#Zqg z^<;f=4_V7=va(Bt?8cM(^gxij>jojcHrC1=3rZ=1xpG%62TVzm`xcNB8GYqb3VZx4NQZz~tD-58~DNwAmi3c<_jH#)L+#bt- zsQ!u~pAve>6f177*VDYXr+5|g6R@;K@n#oI$lePTZ%fJIq$f&l$sd6QvC0k$>*?Ll zRXN6$oE*4a85XXhZn9El&TFP3ov+MH?+NTQj!|a0J*2^*Q8pBlg(>;U#?`a|PAi){ zy{W3JlrPWp0t(`lZ_+4LlSVQ6|G*fW%$OFdd>g=#a}!iT<8Ug@GmMie80R-KrafWY z$*VXQdiTgXwW_RD<`k$+!F+e)%+0E$m%ajWTvXW`wKSO{Ra;(%(^rJA>i8wfgoQ-a zGUOG_mp6>1IjSE`ROBm;s9nZUZKV!X`vqFjq&}|pmynJ%x7FF^_<}n#7Bs7CW~NXH zeb2b3tGecuC&hhQ{g*#aqj8iOrGBv10GKAKpI#(^Q4Q+XW&`xM7}p(DzYlcFO!d1P zCn<$zG}2-*>2J|!R?~AUzt>oryVGx%rpuZD8iowh?ZD@e5XWUY&aY`h^ z69;I%@T}HRmso2OC0|nsOw=TfYNijPsf@ud8H?9y4qCVX0tZdCE!{V*mT|^3#yn1Q z%*F~R6=)jY`jBvu=G{FK7*I&{aVVhT2U%7Zn``ibP7sPH=n#!a!9d(W939)6ZuINi zAp&#g${g6!nFRVRGFgOvYEp&xncnRESQs(Rw9vn+$#Y=`yI6gkeT06N&JY!6AEk?q zH0UDr_PRLx*f`yyIKu){$UfWdR$6w$#J^qF&e281L<&SyW6Pm6J^s>Wo(}V&M-VB9 zdcS8B;z&`nSq~yf$0GVg)A1!bil#f~VFdki#9X>#0b=M}I2}3Cxy5wVtk`_@&ikjr z>5QZK6BiQtjWrDj8rw-qM<2*C*@im}`QV)XAEas#_OA^y{>m`3v47w6S2pPk|76o| z$oY@9rf4ZQh=u81KlSAQQo{$S`V9@Htr5-^A6ilo+Uu&ybUtO7seXiIg~y=EFq?mC njmQ5c%hY47WyQ0cZXN%>yNuduXZpmehpDotYsI8p;hJ9n3W?t8 delta 2537 zcmXAqdt6QV8pfZ!)?Rz9eb-b}Zl~gtW-{bfVQPlmZQP>LDe6#d_rnQAR7;Xj?MgS~ zl2PRLaoLCnp${3&;K*>sWyWO&<1)mkG&*m7e|=Z&^}D>!`#kUZ(83*j!O0_!$2(kp zwYj*_xyPAl+iUNR0@P;#3Z0nx)5HymhA*O{E&RB+-B^Q7du2^t85%|wQ zEGcOP)*QvsQ|IUcZCLi4E|8rBi@Fl%-v*0aB#?9mc?A|AVIeB-_W|ao6xJ$w$vc)S z`bE?L!!s45zM<`-lN6Tpt-zOUin6G1U{!a;p59)-=iL-m^B`bMu;PgH5!l&XarPD+ z)9;+(n))#?twV9WaUsy{yyEftd$fLwqTTcZ&?TDD*PZJ*W(dh&%$Rqc3#^NS4EJ82 z9xykA%Z43LagfVvraDsnxb?{=fV6M9;`s5j;b^X8e?8##fH8R~V}1}KB<}TOUm)vi?)6&T4}4q2#<|809Q@NZt}dEpir*Q$(fNG6L-Ra#CuQ7hY(RR>7= zi~-7h9+kBI55{d1lnoNq5i7wpZBdkP|@4d3+Em+V_$t+Js7%A%NF$Vb>ty zpctV>nF(zES-23O1e`sE`k7@w{2iewj3>*!7UVyjo9TcFDxryb<=&vOi7}IOzcZEu zsvKOYlGV*B>k>M6)?QVu?@xfgT2*_9JOQYhGf8^Cc#-Rq2oxoYQr#&aeTrzRUkeOu z75(?NQSV2K=54!yu?NIORmbW7p5o#qdyAOL&+5;x^j z<&MeX&P$|-;~qxuv5eVW8Mh1;t8y>U?{^u!Wyb74#w`oP`XQYca}w{398O93+B4=iN-HiOr8ve&t12?6b=RaFg;@X}D;?@Kp9(Wc)v|@m9xc_}-ADuWAB=Le zf<3JCkuJK`)0i|%jl7lUE?s*ULoent2Fr{Y)r=cGq^61F{#~1;NAD@Faeqs1{~s?AeK>J}AO+e>$ z+V)CPbXlrSkeB`!nA@SVNvH>=?$QN#k%axf)Wyc>DJI)>mbp!2%2u5v+XW~;ugf3# z5?EWNYbZAWva7Cf4IO}sy6b-aWa4UF%cVX*ak}n97PThm3S;OD#z;Nm$_`z7q(F*= z>t#;%pGUzg)1VA zcAYs58EkY~8%dwvSjOd37}x)3>^a{NFn4Dxy=Zh#rB*CGWt`x5g3{t(OjR8vZ;Umj ze%(Z_zt0%Cim|N7c&N)z@`%FKc%lcrI5C)U@~?~qM&oHmdth6dv9XXk;IF^I>Ch&VI?+FZXxLTb}ZNp7%a^CVu`# zY;-*y()0YYZ3WGJt-oBfyY9{;Kp_Aa0gPV-IBEd7ma+F_MlU(zyxWZWlZ;EAGOliC zOrW`)^Yixs{-HqJ5nzc9n05nLp9xrr!D+l+0#vmo;v37Drd?q3hprDR~#Fxd5L0uFg$ zK<^kksm9J>f z97=-QWYMIFWLWTUQC89p%3+$QBw#l1nMhRC#|0Q_5>*?V0H0q)HNrb!zk}$j8)V=| z!$sfATY$v}MVFe5ly!@(qL#e7w7?M2TixG)59ExK`-p9(IRjoUjD-utpVSA_0)>n# zeZ?6t1NN1Ovs=l)jppLK*b_jqAT9{;rU*2N3->nyLryRna~KQni;Hr|F=2|h#yEv6 za?y%wI+>g-KGQ)`Oe+`PQORfoM%XoK?^UjkeCg5 z1dKT=8I=+Q^jshrJAqQN=oX{tti*LYN2#ikOuTmmusk5~%%25Bc1V0v2LqKY664|{ z8-a3j$!gs>sguRs{XPh|@6EDfv-UJS=mJ}|eQ0DED z)Tt?TVZ9|+-Of`D)i6$&D7n6FDT%K^@~_$@u2Xbj`{Z#n5w z+8}2cr_hmMlOs6um(jrCzjHR3CxAiG+?<*H0EZEbi2|2UOZ!eR-r_PnD3p$&T-jTy z+yip1+|C(r4d*JHh@&oXC#9Q!&)c{L4=FI9C)XHS0xYfNuKG$y{nxqYeOqZGAD+8P zsT=CTcMCKCpC&PGE9HCkBZo5I@YQR`fQbEk-GuAF)H=TIFlmJJ&$n)(T<9WY;{Gu} z@lP_L{xpy}M5b#@rx1n8-1oJU7S_oOJNE)Jm&>9mkCO%t%cASav%%lWVhmpa!w?QA6w^_CAvJC=+kbL2OS z1`7R#Z28T03Z>O(`TZARk-LlVAf@YPccPe^HIgjVsBvX zImTi)#jHUZ3U#<5% z1Lz#=)}fT$Z304S8Fy)w-BZZ1wdajW2djS6NX{#x#QxMm7buf0*8ti8#*`LiLEm-2 z@~z4p-eq*i99KTbHUJ-wRJP6kfezNW$~P6%AqONW-hBpvfrLBVROCJR;8va2N0W>r>(9Z+FRQ02Hjr6Vd#)wGL3nB1glPNNNQPj$)7 zoy6B&^~<^bK*?*>n^a1bcO;{~9b@2i#)~&FKAram75w^c9R1 z9%^nRojr=~=hQvbohgu-76`qK`bX-xYkPr$>*~BMI-smVy{$c%swPhT2HHvLho>lh^5AU_9ftX_}LZHd598 z#{GLWC)?b}@7J1t+@4MCD7#kkBp#qaiKTk?gQGxAB+S<2JH!J8t2!_IDao=QK|Nf zr8%%?injT!Hy!gcv>lJgz<@`jkLt74x8$x?qNk?ZkY3|P@Ugr-@5sl(mY6`-1m2OZ zY5WC#BE8XdebLdA2Y-*tDJ{|TSfAMS7Yd#pJxx9f zJiE*2?!7stq5JFu-g{^GuXVh5XY$39vTn<}lZ_|4{HZ4|E_GSmd3EW!cjkxj_4MS# z48t-bbI`?B`ZsfHStDLO(Na;cOWP9Z}sMN_Jw+GEg|387L;N}}3b zR0xd@or=LBw{mSpb7W5ARxZyoBM#2N37L41M(54`+wiH+uw0d zpL43u$=E)Zp6@Jfa_W0-LHU{ACIR~M07e6zH-J%Q`mQiKdNNM=nlbcK#>oDRv2z%g zM=>TYXUy9Gge?MAeFS{v4@~g^*5&|?90c?9mq5a32wznJ!$uV3_E$rGg6@h75T3-i zD28!WAY-W=V|fI0H$s4@XvWeSh$91laVH>79ShiRVyvu(=~@PbvIWiq8-aZVa5?@8 znD!8E-bKKYE{rNk1kBUmF?uAH!m|^egVzCKBf_ibfo&rYF{=h}uS3)uTDYi$J{N#A z4}5bw0fXNs>W+T>|{(%B`fTT7GAm;(B`U+t9Em-ZsfHkqmE3g8~n^Dm^2>9lg zEoU_S)xFy_uAz0n_)5*BiL`xGk;a-<28?La>L$$M|tJS@CJ>+>{S{=Wdd^o+jgT))r8ko-Fs3p}_f z^)XQ4+WFxEaVNQK*Z~!Hxx5a_BQ=pLOsoaeIIcK0h&CL~l^kdQ1|MWhddXN&$8F7b z2BbjlXdngTzJgJG#GUOXA7$vdR+$p?@5Q~C=L=-*<6gX!$PX!8XM>jt{N)&rY}z;` znYSDE7#KT@AD0;o^oiuh`;xE`zKqs#-e;FU0-E`Wt<8YLL4ImcFc25Rhin`I>>0{` zc_bb9E}UPbt_7xsFwQ>97@EMR`H}&noA}&iRM>$EpYN^O1K-}`io(ufkBIf&^ZHvKtP@(ORzr5^Y@#eA z-9yH$DY`xbDU+-(bTzB#;3YP?Grl*0$xga6hshIwu44m9@7FAHgA#z^22rX%4Xn=- z{Tns`BYzeH_ICn*Z51uwRRc4wiYuy4((m@-%6dx3<&-KWSk6-hwqj0C*M3wXZha>J z2Ry~ne9GKmfcW=|q=>^TM$a{jIhz^F{KTr<3v@q?(X*N{r0=Q;L+DcsiS_=BdE6VtZ6dvqCUa*tGR}i?Yo>7%D*chT7+9Gkz1Q>whITV1EMiQZuJ^xa3rxt=M?6WO{x>Lki^pZ^Ym+|i zL@LeYX#K`LUF7cl`s2Hk=)pGqspqtz(WtL?xK9VAFqVwc-?EVODINN|FWShgu7-~b zI3TgqFu1gW0zYl=@E3rY9)?+^q`)Qz!<^C}AjFNa*ufC&YNr0rootA`(nM|sW5BPB z%kvob2NR#tCwCn}M%Cu9C3!-3al0jrJS$hc5?xuh8ybL^;Fycm;y zGW>UH05Cg~F%*pRyNN2@C_7|m&)!3Wqsj2zSQfOG+OV(jex8Nq!FJ=@hzG#x)5dp| zGy$Df8M`V-(d2g~L0xkl_&U;L6W;(tUN%kkAPL>xn4)83YLjG>b!iI?icuzOwlh%v zqbc9#8TDrYL6}?19}@rKyYBX5lfV o`!NMLZw5K%psB{$;Nw`c*tK1*c``0Kw&uo;V>UIP9K53ZAFp2R5&!@I diff --git a/src/ts/arabic.ts b/src/ts/arabic.ts index ba5f705..3c5f2c9 100644 --- a/src/ts/arabic.ts +++ b/src/ts/arabic.ts @@ -235,6 +235,39 @@ امتحان + + DefaultLanguageDialog + + + set default langauge at startup + ضبط اللغة الافتراضية عند بدء التشغيل + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + أدخل أو اختر أو اسحب اللعبة التي تريد تعيين اللغة الافتراضية عند بدء التشغيل. مثال:F:/DemoGame.exe + + + + file + ملف + + + + set default language at startup + ضبط اللغة الافتراضية عند بدء التشغيل + + + + tl name + اسم ليرة تركية + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + أدخل اسم الدليل ضمن اللعبة\tl مثال: 'ياباني' أو 'صيني' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated مترجم @@ -296,9 +329,9 @@ - - - + + + Original إبداعي @@ -307,9 +340,9 @@ - - - + + + Current حاضِر @@ -332,7 +365,6 @@ - Do you want to replace special symbols? هل تريد استبدال الرموز الخاصة؟ @@ -404,12 +436,12 @@ التراجع الحالي إلى التحميل الأول - + select the directory you want to edit حدد الدليل الذي تريد تحريره - + select the file(s) you want to edit حدد الملف (الملفات) الذي تريد تحريره @@ -491,55 +523,60 @@ المسرد المحلي (استبدال كلمات معينة بمحتوى محدد مسبقًا) - + Translation Source مصدر الترجمة - + Save to file احفظ الملف - + Show Untranslated Only عرض غير المترجم فقط - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>التحديد المتعدد مدعوم (اضغط باستمرار على مفتاح "Ctrl" للتنشيط) </p><p>إلى جانب ذلك، يمكنك استخدام "Shift" لتحديد خط مستمر</p ><p>حدد الخط (الخطوط) الذي تريد تشغيله، انقر بزر الماوس الأيمن لإظهار القائمة</p><p>'Ctrl + A' لتحديد جميع الخطوط<br/>'Ctrl + F' للبحث في المحتوى <br/>'Ctrl + G' للانتقال إلى السطر</p><p>أما بالنسبة للحفظ، فسيتم استبدال محتويات العمود "الحالي" فقط بالملف</p><p>أخيرًا، يمكنك ذلك قم بتعديل العمود "الحالي" و"المترجم" من خلال النقر المزدوج</p></body></html> - + Show Searched Only عرض البحث فقط - + Show Log After Search إظهار السجل بعد البحث - + Copy selected to clipboard Copy Source النسخ المحدد إلى الحافظة نسخ المصدر - + Auto copy to Current after translation نسخ تلقائي إلى الحالي بعد الترجمة - + filter length less than طول الفلتر أقل من - + Enable filter for translate تمكين عامل التصفية للترجمة + + + Enable replace special symbols + تمكين استبدال الرموز الخاصة + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language حدد خط الملف الذي يدعم اللغة المترجمة @@ -1026,9 +1063,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files ملف html لا يتطابق مع الملف المترجم، يرجى التحقق من ملفات الإدخال @@ -1171,46 +1208,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 يستخرج @@ -1224,12 +1261,12 @@ حدد الدليل الذي تريد استخراجه - + select the file(s) you want to translate حدد الملف (الملفات) التي تريد ترجمتها - + select the directory you want to translate حدد الدليل الذي تريد ترجمته @@ -1239,143 +1276,148 @@ مترجم رينبي - - + + ... ... - + directory الدليل - + file(s) الملف (الملفات) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy أدخل أو اختر أو اسحب الملف (الملفات) الذي تريد ترجمته هنا. على سبيل المثال: F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language أدخل أو اختر أو اسحب الدليل الذي تريد ترجمته هنا. مثال:F:\GameName\game\tl\language - + translation ترجمة - + target هدف - + source مصدر - + Generate Backup Files (xxx.rpy.bak) إنشاء ملفات النسخ الاحتياطي (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) المسرد المحلي (استبدال كلمات معينة بمحتوى محدد مسبقًا) - + Translation Source مصدر الترجمة - + Original إبداعي - + Current حاضِر - + Skip Translated (Original != Current) تخطي الترجمة (الأصل! = الحالي) - + Enable filter for translate تمكين عامل التصفية للترجمة - + Enable replace special symbols تمكين استبدال الرموز الخاصة - + + set default language at startup + ضبط اللغة الافتراضية عند بدء التشغيل + + + Auto open untranslated contents with brower فتح المحتويات غير المترجمة تلقائيًا باستخدام المتصفح - + Show exported html file with explorer only إظهار ملف html المُصدَّر باستخدام المستكشف فقط - + extract translation اِستِخلاص - + runtime extraction استخراج وقت التشغيل - + add change langauge entrance إضافة تغيير مدخل اللغة - + one key translate ترجمة مفتاح واحد - + official extraction الاستخراج الرسمي - + convert txt to html تحويل النص إلى HTML - + pack game files حزمة ملفات اللعبة - + Multi-threaded translation ترجمة متعددة الخيوط - + (If disable, translation will continue after the previous file has been translated) (في حالة التعطيل، ستستمر الترجمة بعد ترجمة الملف السابق) - + ©2024 Last moment,All rights reserved. ©2024 اللحظة الأخيرة، جميع الحقوق محفوظة. @@ -1388,7 +1430,7 @@ أدخل أو اختر أو اسحب الخط الذي يدعم اللغة بعد الترجمة. مثال: DejaVuSans.ttf (الخط الافتراضي لـren'py) - + replace font استبدال الخط @@ -1437,7 +1479,7 @@ تمكين عامل التصفية للاستخراج - + filter length less than طول الفلتر أقل من @@ -1446,13 +1488,13 @@ إنشاء سلاسل فارغة بدلاً من الأصلية - + clear log سجل نظيف - - + + Version إصدار @@ -1477,12 +1519,12 @@ خيارات متقدمة - + theme سمة - + unpack game package فك حزمة اللعبة @@ -1491,32 +1533,32 @@ محرر - + language لغة - + copyright حقوق النشر - + proxy settings إعدادات الوكيل - + engine settings إعدادات المحرك - + custom engine محرك مخصص - + edit from rpy تحرير من rpy @@ -1666,12 +1708,17 @@ (إصلاح مشكلة الخط المعكوس لبعض اللغات مثل العربية والأردية) - + + set default language at startup + ضبط اللغة الافتراضية عند بدء التشغيل + + + select the game file حدد ملف اللعبة - + One Key Translate Complete اكتملت ترجمة مفتاح واحد diff --git a/src/ts/bengali.ts b/src/ts/bengali.ts index f07d7d1..34cba9b 100644 --- a/src/ts/bengali.ts +++ b/src/ts/bengali.ts @@ -235,6 +235,39 @@ পরীক্ষা + + DefaultLanguageDialog + + + set default langauge at startup + স্টার্টআপে ডিফল্ট ভাষা সেট করুন + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + স্টার্টআপে আপনি যে গেমটি ডিফল্ট ভাষা সেট করতে চান সেটি ইনপুট বা বেছে নিন বা টেনে আনুন। উদাহরণ:F:/DemoGame.exe + + + + file + ফাইল + + + + set default language at startup + স্টার্টআপে ডিফল্ট ভাষা সেট করুন + + + + tl name + tl নাম + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + গেমের অধীনে ডিরেক্টরির নাম ইনপুট করুন\tl উদাহরণ: 'জাপানি' বা 'চীনা' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated অনূদিত @@ -296,9 +329,9 @@ - - - + + + Original আসল @@ -307,9 +340,9 @@ - - - + + + Current কারেন্ট @@ -332,7 +365,6 @@ - Do you want to replace special symbols? আপনি কি বিশেষ চিহ্ন প্রতিস্থাপন করতে চান? @@ -404,12 +436,12 @@ রোলব্যাক বর্তমান প্রথম লোড - + select the directory you want to edit আপনি যে ডিরেক্টরিটি সম্পাদনা করতে চান তা নির্বাচন করুন - + select the file(s) you want to edit আপনি সম্পাদনা করতে চান ফাইল(গুলি) নির্বাচন করুন @@ -491,55 +523,60 @@ স্থানীয় শব্দকোষ (প্রিসেট কন্টেন্ট দিয়ে কিছু শব্দ প্রতিস্থাপন করুন) - + Translation Source অনুবাদ সূত্র - + Save to file ফাইলে সংরক্ষণ করুন - + Show Untranslated Only শুধুমাত্র অঅনুবাদিত দেখান - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>মাল্টি-সিলেক্ট সমর্থনযোগ্য ('Ctrl'কে সক্রিয় করে ধরে রাখুন) </p><p>এছাড়া আপনি একটি ক্রমাগত লাইন নির্বাচন করতে 'Shift' ব্যবহার করতে পারেন</p <p>আপনি যে লাইনটি পরিচালনা করতে চান সেটি নির্বাচন করুন, মেনু দেখাতে ডান ক্লিক করুন</p><p>'Ctrl + A' সমস্ত লাইন নির্বাচন করতে<br/>'Ctrl + F' বিষয়বস্তু অনুসন্ধান করুন <br/>'Ctrl + G' লাইনে যেতে</p><p>সংরক্ষণের জন্য, শুধুমাত্র 'বর্তমান' কলামের বিষয়বস্তু ফাইলে প্রতিস্থাপিত হবে</p><p>অবশেষে, আপনি করতে পারেন ডাবল-ক্লিকের মাধ্যমে 'বর্তমান' এবং 'অনুবাদিত' কলাম পরিবর্তন করুন</p></body></html> - + Show Searched Only শুধুমাত্র অনুসন্ধান করা দেখান - + Show Log After Search অনুসন্ধানের পরে লগ দেখান - + Copy selected to clipboard Copy Source ক্লিপবোর্ডে নির্বাচিত অনুলিপি কপি উত্স - + Auto copy to Current after translation অনুবাদের পরে কারেন্টে স্বয়ংক্রিয় অনুলিপি - + filter length less than ফিল্টারের দৈর্ঘ্য কম - + Enable filter for translate অনুবাদের জন্য ফিল্টার সক্ষম করুন + + + Enable replace special symbols + বিশেষ প্রতীক প্রতিস্থাপন সক্ষম করুন + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language ফাইল ফন্ট নির্বাচন করুন যা অনুবাদিত ভাষা সমর্থন করে @@ -1026,9 +1063,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files html ফাইলটি অনূদিত ফাইলের সাথে মেলে না, অনুগ্রহ করে ইনপুট ফাইলগুলি পরীক্ষা করুন৷ @@ -1171,46 +1208,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 নির্যাস @@ -1224,12 +1261,12 @@ আপনি নিষ্কাশন করতে চান ডিরেক্টরি নির্বাচন করুন - + select the file(s) you want to translate আপনি যে ফাইলটি অনুবাদ করতে চান সেটি নির্বাচন করুন - + select the directory you want to translate আপনি যে ডিরেক্টরিটি অনুবাদ করতে চান তা নির্বাচন করুন @@ -1239,99 +1276,104 @@ Ren'py অনুবাদক - - + + Version সংস্করণ - - + + ... ... - + directory ডিরেক্টরি - + file(s) নথি পত্র) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy আপনি যে ফাইলটি এখানে অনুবাদ করতে চান সেটি ইনপুট করুন বা বেছে নিন বা টেনে আনুন। উদাহরণ: F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language আপনি যে ডিরেক্টরিটি এখানে অনুবাদ করতে চান সেটি ইনপুট বা চয়ন বা টেনে আনুন। উদাহরণ:F:\GameName\game\tl\language - + translation অনুবাদ - + target লক্ষ্য - + source উৎস - + Generate Backup Files (xxx.rpy.bak) ব্যাকআপ ফাইল তৈরি করুন (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) স্থানীয় শব্দকোষ (প্রিসেট কন্টেন্ট দিয়ে কিছু শব্দ প্রতিস্থাপন করুন) - + Translation Source অনুবাদ সূত্র - + Original আসল - + Current কারেন্ট - + Skip Translated (Original != Current) অনুবাদ করা এড়িয়ে যান (মূল!= বর্তমান) - + Enable filter for translate অনুবাদের জন্য ফিল্টার সক্ষম করুন - + Enable replace special symbols বিশেষ প্রতীক প্রতিস্থাপন সক্ষম করুন - + + set default language at startup + স্টার্টআপে ডিফল্ট ভাষা সেট করুন + + + Auto open untranslated contents with brower ব্রাউয়ার দিয়ে অনূদিত বিষয়বস্তু স্বয়ংক্রিয়ভাবে খুলুন - + Show exported html file with explorer only শুধুমাত্র এক্সপ্লোরারের সাথে এক্সপোর্ট করা এইচটিএমএল ফাইল দেখান @@ -1341,62 +1383,62 @@ উন্নত বিকল্প - + 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 - + Multi-threaded translation মাল্টি-থ্রেডেড অনুবাদ - + (If disable, translation will continue after the previous file has been translated) (অক্ষম করা হলে, পূর্ববর্তী ফাইলটি অনুবাদ করার পরে অনুবাদ চলতে থাকবে) - + ©2024 Last moment,All rights reserved. ©2024 শেষ মুহূর্ত, সর্বস্বত্ব সংরক্ষিত। @@ -1409,7 +1451,7 @@ ইনপুট বা চয়ন করুন বা ফন্ট যা অনুবাদের পরে ভাষা সমর্থন করে টেনে আনুন। উদাহরণ: DejaVuSans.ttf (ren'py এর ডিফল্ট ফন্ট) - + replace font ফন্ট প্রতিস্থাপন @@ -1458,7 +1500,7 @@ নিষ্কাশনের জন্য ফিল্টার সক্ষম করুন - + filter length less than ফিল্টারের দৈর্ঘ্য কম @@ -1467,7 +1509,7 @@ মূলের পরিবর্তে খালি স্ট্রিং তৈরি করুন - + clear log স্পষ্ট লগ @@ -1491,32 +1533,32 @@ সম্পাদক - + language ভাষা - + copyright কপিরাইট - + proxy settings প্রক্সি সেটিংস - + engine settings ইঞ্জিন সেটিংস - + custom engine কাস্টম ইঞ্জিন - + edit from rpy rpy থেকে সম্পাদনা করুন @@ -1666,12 +1708,17 @@ (আরবি, উর্দু মত কিছু ভাষার জন্য বিপরীত ফন্ট সমস্যা সমাধান করুন) - + + set default language at startup + স্টার্টআপে ডিফল্ট ভাষা সেট করুন + + + select the game file গেম ফাইল নির্বাচন করুন - + One Key Translate Complete এক কী অনুবাদ সম্পূর্ণ diff --git a/src/ts/chinese.ts b/src/ts/chinese.ts index a7eabac..d7ea2a7 100644 --- a/src/ts/chinese.ts +++ b/src/ts/chinese.ts @@ -235,6 +235,39 @@ 添加新的自定义引擎 + + DefaultLanguageDialog + + + set default langauge at startup + 设置启动时的默认语言 + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + 输入或者选择或者拖动你想设置启动默认语言的游戏。例如:F:/DemoGame.exe + + + + file + 文件 + + + + set default language at startup + 设置启动时的默认语言 + + + + tl name + tl 名称 + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + 输入 game\tl 下的目录名 例如:'japanese' 或 'chinese' + + EditorDialog @@ -304,43 +337,48 @@ 本地词汇表(用预设内容替换某些单词) - + Auto copy to Current after translation 翻译后自动复制到当前 - + filter length less than 过滤器长度小于 - + Enable filter for translate 启用翻译过滤器 + + + Enable replace special symbols + 启用替换特殊符号 + - - - + + + Current 当前的 - + Translation Source 翻译来源 - + Save to file 保存到文件 - + Show Untranslated Only 仅显示未翻译的内容 @@ -349,24 +387,24 @@ - - - + + + Original 原来的 - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>支持多选(按住“Ctrl”激活)</p><p>此外,您可以使用“Shift”选择连续行</p ><p>选中要操作的行,右键显示菜单</p><p>‘Ctrl + A’全选行<br/>‘Ctrl + F’搜索内容<br/>'Ctrl + G'跳转到行</p><p>保存时,只会将'当前'列的内容替换到文件中</p><p>最后,您可以通过双击修改“当前”和“已翻译”列</p></body></html> - + Show Searched Only 仅显示搜索到的内容 - + Show Log After Search 搜索后显示日志 @@ -376,12 +414,12 @@ - + Translated 已翻译 - + Copy selected to clipboard Copy Source 将所选内容复制到剪贴板 复制源 @@ -448,7 +486,6 @@ - Do you want to replace special symbols? 您想替换特殊符号吗? @@ -520,12 +557,12 @@ 将 当前 回滚到刚加载时 - + select the directory you want to edit 选择要编辑的目录 - + select the file(s) you want to edit 选择您要编辑的文件 @@ -929,7 +966,7 @@ - + select the file font which supports the translated language 选择支持翻译语言的文件字体 @@ -1030,9 +1067,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files html文件与翻译的文件不匹配,请检查输入文件 @@ -1180,41 +1217,41 @@ 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 翻译 @@ -1227,148 +1264,153 @@ 选择你要解压的目录 - + select the file(s) you want to translate 选择您要翻译的文件 - + select the directory you want to translate 选择要翻译的目录 - - + + ... ... - + directory 目录 - + file(s) 文件 - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy 在此处输入或选择或拖动您要翻译的文件。示例:F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language 在此处输入或选择或拖动要翻译的目录。示例:F:\GameName\game\tl\language - + translation 翻译 - + target 目标 - + source - + Multi-threaded translation 多线程翻译 - + Generate Backup Files (xxx.rpy.bak) 生成备份文件(xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) 本地词汇表(用预设内容替换某些单词) - + Translation Source 翻译来源 - + Original 原来的 - + Current 当前的 - + Skip Translated (Original != Current) 跳过翻译(原始!=当前) - + Enable filter for translate 启用翻译过滤器 - + Enable replace special symbols 启用替换特殊符号 - + + set default language at startup + 设置启动时的默认语言 + + + Auto open untranslated contents with brower 使用浏览器自动打开未翻译的内容 - + Show exported html file with explorer only 仅使用资源管理器显示导出的 html 文件 - + extract translation 提取翻译 - + runtime extraction 运行时提取 - + add change langauge entrance 添加更改语言入口 - + one key translate 一键翻译 - + official extraction 官方提取 - + convert txt to html 将 txt 转换为 html - + pack game files 打包游戏文件 - + ©2024 Last moment,All rights reserved. ©2024 Last moment,All rights reserved. @@ -1378,7 +1420,7 @@ 高级选项 - + unpack game package 解压游戏包 @@ -1395,7 +1437,7 @@ 输入或选择或拖动支持翻译后语言的字体。示例:DejaVuSans.ttf(ren'py 的默认字体) - + replace font 替换字体 @@ -1424,13 +1466,13 @@ 在此处输入或选择或拖动要翻译的目录。示例:F:\GameName\game\tl\language - + extract 抽取 - + (If disable, translation will continue after the previous file has been translated) (如果禁用,翻译将在前一个文件翻译完成后继续) @@ -1455,7 +1497,7 @@ 启用提取过滤器 - + filter length less than 过滤器长度小于 @@ -1464,13 +1506,13 @@ 生成空字符串而不是原始字符串 - + clear log 清空日志 - - + + Version 版本 @@ -1494,37 +1536,37 @@ 编辑器 - + language 语言 - + theme 主题 - + copyright 版权 - + proxy settings 代理设置 - + engine settings 引擎设置 - + custom engine 自定义引擎 - + edit from rpy 从 rpy 编辑 @@ -1674,12 +1716,17 @@ (修复阿拉伯语、乌尔都语等某些语言的字体反转问题) - + + set default language at startup + 设置启动时的默认语言 + + + select the game file 选择游戏文件 - + One Key Translate Complete 一键翻译完成 diff --git a/src/ts/default.ts b/src/ts/default.ts index 43771f5..60186e9 100644 --- a/src/ts/default.ts +++ b/src/ts/default.ts @@ -235,6 +235,39 @@ + + DefaultLanguageDialog + + + set default langauge at startup + + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + + + + + file + + + + + set default language at startup + + + + + tl name + + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + + + EditorDialog @@ -255,7 +288,7 @@ - + Translated @@ -296,9 +329,9 @@ - - - + + + Original @@ -307,9 +340,9 @@ - - - + + + Current @@ -332,7 +365,6 @@ - Do you want to replace special symbols? @@ -404,12 +436,12 @@ - + select the directory you want to edit - + select the file(s) you want to edit @@ -491,55 +523,60 @@ - + Translation Source - + Save to file - + Show Untranslated Only - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> - + Show Searched Only - + Show Log After Search - + Copy selected to clipboard Copy Source - + Auto copy to Current after translation - + filter length less than - + Enable filter for translate + + + Enable replace special symbols + + EngineDialog @@ -849,7 +886,7 @@ - + select the file font which supports the translated language @@ -991,9 +1028,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files @@ -1116,57 +1153,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 @@ -1176,104 +1213,109 @@ - - + + Version - - + + ... - + directory - + file(s) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language - + translation - + target - + source - + Generate Backup Files (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) - + Translation Source - + Original - + Current - + Skip Translated (Original != Current) - + filter length less than - + Enable filter for translate - + Enable replace special symbols - + + set default language at startup + + + + Auto open untranslated contents with brower - + Show exported html file with explorer only @@ -1283,72 +1325,72 @@ - + theme - + unpack game package - + extract translation - + runtime extraction - + add change langauge entrance - + one key translate - + official extraction - + convert txt to html - + pack game files - + Multi-threaded translation - + (If disable, translation will continue after the previous file has been translated) - + ©2024 Last moment,All rights reserved. - + replace font - + clear log @@ -1368,32 +1410,32 @@ - + language - + copyright - + proxy settings - + engine settings - + custom engine - + edit from rpy @@ -1543,12 +1585,17 @@ - + + set default language at startup + + + + select the game file - + One Key Translate Complete diff --git a/src/ts/french.ts b/src/ts/french.ts index 94842e6..75955e8 100644 --- a/src/ts/french.ts +++ b/src/ts/french.ts @@ -235,6 +235,39 @@ Test + + DefaultLanguageDialog + + + set default langauge at startup + définir la langue par défaut au démarrage + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + Saisissez ou choisissez ou faites glisser le jeu dans lequel vous souhaitez définir la langue par défaut au démarrage. Exemple : F:/DemoGame.exe + + + + file + déposer + + + + set default language at startup + définir la langue par défaut au démarrage + + + + tl name + nom de téléphone + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + Saisissez le nom du répertoire sous game\tl Exemple : "japonais" ou "chinois" + + EditorDialog @@ -255,7 +288,7 @@ - + Translated Traduit @@ -296,9 +329,9 @@ - - - + + + Original Original @@ -307,9 +340,9 @@ - - - + + + Current Actuel @@ -332,7 +365,6 @@ - Do you want to replace special symbols? Voulez-vous remplacer des symboles spéciaux ? @@ -404,12 +436,12 @@ 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 @@ -491,55 +523,60 @@ Glossaire local (remplacer certains mots par un contenu prédéfini) - + Translation Source Source de traduction - + Save to file Enregistrer dans un fichier - + Show Untranslated Only Afficher uniquement les textes non traduits - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>La sélection multiple est prise en charge (maintenez la touche « Ctrl » enfoncée pour activer) </p><p>De plus, vous pouvez utiliser « Shift » pour sélectionner une ligne continue</p ><p>Sélectionnez la ou les lignes que vous souhaitez utiliser, faites un clic droit pour afficher le menu</p><p>'Ctrl + A' pour sélectionner toutes les lignes<br/>'Ctrl + F' pour rechercher le contenu <br/>'Ctrl + G' pour passer à la ligne</p><p>Comme pour la sauvegarde, seul le contenu de la colonne 'Actuel' sera remplacé dans le fichier</p><p>Enfin, vous pouvez modifiez les colonnes 'Actuel' et 'Traduit' par double-clic</p></body></html> - + Show Searched Only Afficher uniquement les recherches - + Show Log After Search Afficher le journal après la recherche - + Copy selected to clipboard Copy Source Copier la sélection dans le presse-papiers Copier la source - + Auto copy to Current after translation Copie automatique vers Actuel après la traduction - + filter length less than longueur du filtre inférieure à - + Enable filter for translate Activer le filtre pour la traduction + + + Enable replace special symbols + Activer le remplacement des symboles spéciaux + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language sélectionnez la police du fichier qui prend en charge la langue traduite @@ -1026,9 +1063,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 @@ -1171,46 +1208,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 @@ -1224,12 +1261,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 @@ -1239,93 +1276,98 @@ Traducteur Ren'py - - + + ... ... - + directory annuaire - + file(s) des dossiers) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy saisissez ou choisissez ou faites glisser le(s) fichier(s) que vous souhaitez traduire ici. Exemple : F:\GameName\game\tl\langue\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language saisissez ou choisissez ou faites glisser le répertoire que vous souhaitez traduire ici. Exemple : F:\GameName\game\tl\langue - + translation traduction - + target cible - + source source - + Generate Backup Files (xxx.rpy.bak) Générer des fichiers de sauvegarde (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) Glossaire local (remplacer certains mots par un contenu prédéfini) - + Translation Source Source de traduction - + Original Original - + Current Actuel - + Skip Translated (Original != Current) Sauter la traduction (Original ! = Actuel) - + Enable filter for translate Activer le filtre pour la traduction - + Enable replace special symbols Activer le remplacement des symboles spéciaux - + + set default language at startup + définir la langue par défaut au démarrage + + + Auto open untranslated contents with brower Ouverture automatique du contenu non traduit avec le navigateur - + Show exported html file with explorer only Afficher le fichier HTML exporté avec l'explorateur uniquement @@ -1335,62 +1377,62 @@ 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 - + Multi-threaded translation Traduction multithread - + (If disable, translation will continue after the previous file has been translated) (Si désactivé, la traduction continuera une fois le fichier précédent traduit) - + ©2024 Last moment,All rights reserved. ©2024 Dernier moment,Tous droits réservés. @@ -1403,7 +1445,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 @@ -1452,7 +1494,7 @@ Activer le filtre pour l'extrait - + filter length less than longueur du filtre inférieure à @@ -1461,13 +1503,13 @@ Générer des chaînes vides au lieu de l'original - + clear log effacer le journal - - + + Version Version @@ -1491,32 +1533,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 @@ -1666,12 +1708,17 @@ (Correction d'un problème de police inversée pour certaines langues comme l'arabe, l'ourdou) - + + set default language at startup + définir la langue par défaut au démarrage + + + 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 08b20d5..98c2b31 100644 --- a/src/ts/german.ts +++ b/src/ts/german.ts @@ -235,6 +235,39 @@ Prüfen + + DefaultLanguageDialog + + + set default langauge at startup + Standardsprache beim Start festlegen + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + Geben Sie das Spiel ein, wählen Sie es aus oder ziehen Sie es per Drag & Drop, um die Standardsprache für den Start festzulegen. Beispiel: F:/DemoGame.exe + + + + file + Datei + + + + set default language at startup + Standardsprache beim Start festlegen + + + + tl name + tl Name + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + Geben Sie den Verzeichnisnamen unter game\tl ein. Beispiel: „japanisch“ oder „chinesisch“ + + EditorDialog @@ -255,7 +288,7 @@ - + Translated Übersetzt @@ -296,9 +329,9 @@ - - - + + + Original Original @@ -307,9 +340,9 @@ - - - + + + Current Aktuell @@ -332,7 +365,6 @@ - Do you want to replace special symbols? Möchten Sie Sonderzeichen ersetzen? @@ -404,12 +436,12 @@ 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 @@ -491,55 +523,60 @@ Lokales Glossar (bestimmte Wörter durch voreingestellte Inhalte ersetzen) - + Translation Source Übersetzungsquelle - + Save to file Speichern unter - + Show Untranslated Only Nur unübersetzt anzeigen - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>Mehrfachauswahl ist unterstützbar (Halten Sie die „Strg“-Taste gedrückt, um sie zu aktivieren) </p><p>Außerdem können Sie mit der „Umschalttaste“ eine durchgehende Linie auswählen</p ><p>Wählen Sie die Zeile(n) aus, die Sie bedienen möchten, klicken Sie mit der rechten Maustaste, um das Menü anzuzeigen</p><p>'Strg + A', um alle Zeilen auszuwählen<br/>'Strg + F', um den Inhalt zu durchsuchen <br/>'Strg + G', um zur Zeile zu springen</p><p>Beim Speichern wird nur der Inhalt in der Spalte „Aktuell“ in der Datei ersetzt</p><p>Endlich können Sie Ändern Sie die Spalten „Aktuell“ und „Übersetzt“ durch Doppelklick</p></body></html> - + Show Searched Only Nur gesucht anzeigen - + Show Log After Search Protokoll nach der Suche anzeigen - + Copy selected to clipboard Copy Source Ausgewählte Quelle in die Zwischenablage kopieren - + Auto copy to Current after translation Nach der Übersetzung automatisch auf „Aktuell“ kopieren - + filter length less than Filterlänge kleiner als - + Enable filter for translate Filter zum Übersetzen aktivieren + + + Enable replace special symbols + Ersetzen von Sonderzeichen aktivieren + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language Wählen Sie die Dateischriftart aus, die die übersetzte Sprache unterstützt @@ -1026,9 +1063,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 @@ -1151,57 +1188,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 @@ -1211,104 +1248,109 @@ Ren'py-Übersetzer - - + + Version Ausführung - - + + ... ... - + directory Verzeichnis - + file(s) Datei(en) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy Geben Sie hier die Datei(en) ein, die Sie übersetzen möchten, oder wählen Sie sie aus oder ziehen Sie sie per Drag & Drop. Beispiel: F:\GameName\game\tl\sprache\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language Geben Sie hier das Verzeichnis ein, das Sie übersetzen möchten, oder wählen Sie es aus oder ziehen Sie es per Drag & Drop. Beispiel:F:\GameName\game\tl\sprache - + translation Übersetzung - + target Ziel - + source Quelle - + Generate Backup Files (xxx.rpy.bak) Sicherungsdateien generieren (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) Lokales Glossar (bestimmte Wörter durch voreingestellte Inhalte ersetzen) - + Translation Source Übersetzungsquelle - + Original Original - + Current Aktuell - + Skip Translated (Original != Current) Übersetzt überspringen (Original != Aktuell) - + filter length less than Filterlänge kleiner als - + Enable filter for translate Filter zum Übersetzen aktivieren - + Enable replace special symbols Ersetzen von Sonderzeichen aktivieren - + + set default language at startup + Standardsprache beim Start festlegen + + + Auto open untranslated contents with brower Nicht übersetzte Inhalte automatisch mit dem Browser öffnen - + Show exported html file with explorer only Exportierte HTML-Datei nur mit Explorer anzeigen @@ -1318,72 +1360,72 @@ 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 - + Multi-threaded translation Multithread-Übersetzung - + (If disable, translation will continue after the previous file has been translated) (Wenn deaktiviert, wird die Übersetzung fortgesetzt, nachdem die vorherige Datei übersetzt wurde) - + ©2024 Last moment,All rights reserved. ©2024 Last Moment, Alle Rechte vorbehalten. - + replace font Schriftart ersetzen - + clear log Protokoll löschen @@ -1403,32 +1445,32 @@ Übersetzungsmaschine - + language Sprache - + copyright Urheberrechte © - + proxy settings Proxy-Einstellungen - + engine settings Motoreinstellungen - + custom engine benutzerdefinierte Engine - + edit from rpy Bearbeiten von rpy @@ -1578,12 +1620,17 @@ (Problem mit umgekehrter Schriftart für einige Sprachen wie Arabisch und Urdu behoben) - + + set default language at startup + Standardsprache beim Start festlegen + + + 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 c698497..c31d60d 100644 --- a/src/ts/greek.ts +++ b/src/ts/greek.ts @@ -235,6 +235,39 @@ Δοκιμή + + DefaultLanguageDialog + + + set default langauge at startup + ορίστε την προεπιλεγμένη γλώσσα κατά την εκκίνηση + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + Εισαγάγετε ή επιλέξτε ή σύρετε το παιχνίδι που θέλετε να ορίσετε την προεπιλεγμένη γλώσσα κατά την εκκίνηση. Παράδειγμα:F:/DemoGame.exe + + + + file + αρχείο + + + + set default language at startup + ορίστε την προεπιλεγμένη γλώσσα κατά την εκκίνηση + + + + tl name + όνομα tl + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + Εισαγάγετε το όνομα του καταλόγου κάτω από το game\tl Παράδειγμα: 'japanese' ή 'chinese' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated Μεταφρασμένο @@ -296,9 +329,9 @@ - - - + + + Original Πρωτότυπο @@ -307,9 +340,9 @@ - - - + + + Current Ρεύμα @@ -332,7 +365,6 @@ - Do you want to replace special symbols? Θέλετε να αντικαταστήσετε ειδικά σύμβολα; @@ -404,12 +436,12 @@ Ρεύμα επαναφοράς στο πρώτο φορτίο - + select the directory you want to edit επιλέξτε τον κατάλογο που θέλετε να επεξεργαστείτε - + select the file(s) you want to edit επιλέξτε τα αρχεία που θέλετε να επεξεργαστείτε @@ -491,55 +523,60 @@ Τοπικό Γλωσσάρι (αντικαταστήστε ορισμένες λέξεις με προκαθορισμένο περιεχόμενο) - + Translation Source Πηγή μετάφρασης - + Save to file Αποθήκευση στο αρχείο - + Show Untranslated Only Εμφάνιση μόνο αμετάφρατων - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>Μπορείτε να υποστηρίξετε το Multi-Select (Κρατήστε πατημένο το 'Ctrl' για ενεργό) </p><p>Επιπλέον, μπορείτε να χρησιμοποιήσετε το 'Shift' για να επιλέξετε μια συνεχή γραμμή</p ><p>Επιλέξτε τις γραμμές που θέλετε να λειτουργήσετε, κάντε δεξί κλικ για να εμφανιστεί το μενού</p><p>'Ctrl + A' για να επιλέξετε όλες τις γραμμές<br/>'Ctrl + F' για αναζήτηση στο περιεχόμενο <br/>'Ctrl + G' για μετάβαση στη γραμμή</p><p>Όσον αφορά την αποθήκευση , μόνο τα περιεχόμενα στη στήλη "Τρέχον" θα αντικατασταθούν στο αρχείο</p><p>Επιτέλους, μπορείτε τροποποιήστε τη στήλη "Τρέχουσα" και "Μεταφρασμένη" κάνοντας διπλό κλικ</p></body></html> - + Show Searched Only Εμφάνιση μόνο αναζήτησης - + Show Log After Search Εμφάνιση αρχείου καταγραφής μετά την αναζήτηση - + Copy selected to clipboard Copy Source Επιλέχθηκε η αντιγραφή στο πρόχειρο Αντιγραφή πηγής - + Auto copy to Current after translation Αυτόματη αντιγραφή στο Τρέχον μετά τη μετάφραση - + filter length less than μήκος φίλτρου μικρότερο από - + Enable filter for translate Ενεργοποίηση φίλτρου για μετάφραση + + + Enable replace special symbols + Ενεργοποίηση αντικατάστασης ειδικών συμβόλων + EngineDialog @@ -849,7 +886,7 @@ - + select the file font which supports the translated language επιλέξτε τη γραμματοσειρά του αρχείου που υποστηρίζει τη μεταφρασμένη γλώσσα @@ -991,9 +1028,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files Το αρχείο html δεν ταιριάζει με το μεταφρασμένο αρχείο, ελέγξτε τα αρχεία εισόδου @@ -1116,57 +1153,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 επιλέξτε τον κατάλογο που θέλετε να μεταφράσετε @@ -1176,104 +1213,109 @@ Μεταφραστής Ren'py - - + + Version Εκδοχή - - + + ... ... - + directory Ευρετήριο - + file(s) αρχείο(α) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy εισάγετε ή επιλέξτε ή σύρετε τα αρχεία που θέλετε να μεταφράσετε εδώ. Παράδειγμα : F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language εισάγετε ή επιλέξτε ή σύρετε τον κατάλογο που θέλετε να μεταφράσετε εδώ. Παράδειγμα:F:\GameName\game\tl\language - + translation μετάφραση - + target στόχος - + source πηγή - + Generate Backup Files (xxx.rpy.bak) Δημιουργία αντιγράφων ασφαλείας (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) Τοπικό Γλωσσάρι (αντικαταστήστε ορισμένες λέξεις με προκαθορισμένο περιεχόμενο) - + Translation Source Πηγή μετάφρασης - + Original Πρωτότυπο - + Current Ρεύμα - + Skip Translated (Original != Current) Παράλειψη μεταφρασμένου (Πρωτότυπο != Τρέχον) - + filter length less than μήκος φίλτρου μικρότερο από - + Enable filter for translate Ενεργοποίηση φίλτρου για μετάφραση - + Enable replace special symbols Ενεργοποίηση αντικατάστασης ειδικών συμβόλων - + + set default language at startup + ορίστε την προεπιλεγμένη γλώσσα κατά την εκκίνηση + + + Auto open untranslated contents with brower Αυτόματο άνοιγμα μη μεταφρασμένου περιεχομένου με πρόγραμμα περιήγησης - + Show exported html file with explorer only Εμφάνιση εξαγόμενου αρχείου html μόνο με τον εξερευνητή @@ -1283,72 +1325,72 @@ προχωρημένες επιλογές - + 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 συσκευάστε αρχεία παιχνιδιών - + Multi-threaded translation Μετάφραση πολλαπλών νημάτων - + (If disable, translation will continue after the previous file has been translated) (Εάν απενεργοποιηθεί, η μετάφραση θα συνεχιστεί μετά τη μετάφραση του προηγούμενου αρχείου) - + ©2024 Last moment,All rights reserved. ©2024 Τελευταία στιγμή, Με την επιφύλαξη παντός δικαιώματος. - + replace font αντικαταστήστε τη γραμματοσειρά - + clear log καθαρό ημερολόγιο @@ -1368,32 +1410,32 @@ μηχανή μετάφρασης - + language Γλώσσα - + copyright πνευματική ιδιοκτησία - + proxy settings ρυθμίσεις διακομιστή μεσολάβησης - + engine settings ρυθμίσεις κινητήρα - + custom engine προσαρμοσμένη μηχανή - + edit from rpy επεξεργασία από rpy @@ -1543,12 +1585,17 @@ (Διόρθωση προβλήματος αντίστροφης γραμματοσειράς για ορισμένες γλώσσες όπως τα αραβικά, τα ουρντού) - + + set default language at startup + ορίστε την προεπιλεγμένη γλώσσα κατά την εκκίνηση + + + select the game file επιλέξτε το αρχείο του παιχνιδιού - + One Key Translate Complete Ολοκληρώθηκε η μετάφραση ενός κλειδιού diff --git a/src/ts/hindi.ts b/src/ts/hindi.ts index 7375595..f6e0391 100644 --- a/src/ts/hindi.ts +++ b/src/ts/hindi.ts @@ -235,6 +235,39 @@ परीक्षा + + DefaultLanguageDialog + + + set default langauge at startup + स्टार्टअप पर डिफ़ॉल्ट भाषा सेट करें + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + उस गेम को इनपुट करें या चुनें या खींचें जिसे आप स्टार्टअप पर डिफ़ॉल्ट भाषा सेट करना चाहते हैं। उदाहरण: F: /DemoGame.exe + + + + file + फ़ाइल + + + + set default language at startup + स्टार्टअप पर डिफ़ॉल्ट भाषा सेट करें + + + + tl name + टीएल नाम + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + game\tl के अंतर्गत निर्देशिका का नाम दर्ज करें उदाहरण: 'जापानी' या 'चीनी' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated अनुवाद @@ -296,9 +329,9 @@ - - - + + + Original मूल @@ -307,9 +340,9 @@ - - - + + + Current मौजूदा @@ -332,7 +365,6 @@ - Do you want to replace special symbols? क्या आप विशेष प्रतीकों को बदलना चाहते हैं? @@ -404,12 +436,12 @@ रोलबैक करंट को पहले लोड पर - + select the directory you want to edit वह निर्देशिका चुनें जिसे आप संपादित करना चाहते हैं - + select the file(s) you want to edit वह फ़ाइल चुनें जिसे आप संपादित करना चाहते हैं @@ -491,55 +523,60 @@ स्थानीय शब्दावली (कुछ शब्दों को पूर्व निर्धारित सामग्री से बदलें) - + Translation Source अनुवाद स्रोत - + Save to file फाइल को बचाएं - + Show Untranslated Only केवल अअनुवादित दिखाएं - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>मल्टी-सिलेक्ट समर्थित है (सक्रिय करने के लिए 'Ctrl' को दबाए रखें) </p><p>इसके अलावा आप एक सतत लाइन का चयन करने के लिए 'Shift' का उपयोग कर सकते हैं</p <p>वह लाइन चुनें जिसे आप संचालित करना चाहते हैं, मेनू दिखाने के लिए राइट क्लिक करें</p><p>सभी लाइनों का चयन करने के लिए 'Ctrl + A'<br/>सामग्री खोजने के लिए 'Ctrl + F' <br/>'Ctrl + G' लाइन पर जाने के लिए</p><p>जहां तक ​​सेव की बात है, केवल कॉलम 'करंट' की सामग्री को फ़ाइल में बदला जाएगा</p><p>अंत में, आप ऐसा कर सकते हैं डबल-क्लिक के माध्यम से 'वर्तमान' और 'अनुवादित' कॉलम को संशोधित करें</p></body></html> - + Show Searched Only केवल खोजा गया दिखाएँ - + Show Log After Search खोज के बाद लॉग दिखाएँ - + Copy selected to clipboard Copy Source क्लिपबोर्ड पर चयनित कॉपी स्रोत कॉपी करें - + Auto copy to Current after translation अनुवाद के बाद करंट में स्वतः प्रतिलिपि - + filter length less than फ़िल्टर की लंबाई से कम - + Enable filter for translate अनुवाद के लिए फ़िल्टर सक्षम करें + + + Enable replace special symbols + विशेष प्रतीकों को प्रतिस्थापित करना सक्षम करें + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language उस फ़ाइल फ़ॉन्ट का चयन करें जो अनुवादित भाषा का समर्थन करता है @@ -1026,9 +1063,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML फ़ाइल अनुवादित फ़ाइल से मेल नहीं खाती, कृपया इनपुट फ़ाइलों की जाँच करें @@ -1171,46 +1208,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 निकालना @@ -1224,12 +1261,12 @@ वह निर्देशिका चुनें जिसे आप निकालना चाहते हैं - + select the file(s) you want to translate वह फ़ाइल चुनें जिसका आप अनुवाद करना चाहते हैं - + select the directory you want to translate वह निर्देशिका चुनें जिसका आप अनुवाद करना चाहते हैं @@ -1239,99 +1276,104 @@ रेन्पी अनुवादक - - + + Version संस्करण - - + + ... ... - + directory निर्देशिका - + file(s) फ़ाइल - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy जिस फ़ाइल(फ़ाइलों) का आप यहां अनुवाद करना चाहते हैं उन्हें इनपुट करें या चुनें या खींचें। उदाहरण: F:\GameName\game\tl\भाषा\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language जिस निर्देशिका का आप यहां अनुवाद करना चाहते हैं उसे इनपुट करें या चुनें या खींचें। उदाहरण:F:\GameName\game\tl\भाषा - + translation अनुवाद - + target लक्ष्य - + source स्रोत - + Generate Backup Files (xxx.rpy.bak) बैकअप फ़ाइलें जनरेट करें (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) स्थानीय शब्दावली (कुछ शब्दों को पूर्व निर्धारित सामग्री से बदलें) - + Translation Source अनुवाद स्रोत - + Original मूल - + Current मौजूदा - + Skip Translated (Original != Current) अनूदित छोड़ें (मूल !=वर्तमान) - + Enable filter for translate अनुवाद के लिए फ़िल्टर सक्षम करें - + Enable replace special symbols विशेष प्रतीकों को प्रतिस्थापित करना सक्षम करें - + + set default language at startup + स्टार्टअप पर डिफ़ॉल्ट भाषा सेट करें + + + Auto open untranslated contents with brower ब्राउज़र के साथ अनूदित सामग्री को स्वचालित रूप से खोलें - + Show exported html file with explorer only निर्यातित HTML फ़ाइल को केवल एक्सप्लोरर के साथ दिखाएं @@ -1341,62 +1383,62 @@ उन्नत विकल्प - + 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 गेम फ़ाइलें पैक करें - + Multi-threaded translation बहु-थ्रेडेड अनुवाद - + (If disable, translation will continue after the previous file has been translated) (यदि अक्षम है, तो पिछली फ़ाइल के अनुवाद के बाद भी अनुवाद जारी रहेगा) - + ©2024 Last moment,All rights reserved. ©2024 अंतिम क्षण, सर्वाधिकार सुरक्षित। @@ -1409,7 +1451,7 @@ अनुवाद के बाद भाषा का समर्थन करने वाले फ़ॉन्ट को इनपुट करें या चुनें या खींचें। उदाहरण: DejaVuSans.ttf (ren'py का डिफ़ॉल्ट फ़ॉन्ट) - + replace font फ़ॉन्ट बदलें @@ -1458,7 +1500,7 @@ निकालने के लिए फ़िल्टर सक्षम करें - + filter length less than फ़िल्टर की लंबाई से कम @@ -1467,7 +1509,7 @@ मूल के बजाय खाली स्ट्रिंग उत्पन्न करें - + clear log लॉग साफ करें @@ -1491,32 +1533,32 @@ संपादक - + language भाषा - + copyright कॉपीराइट - + proxy settings प्रॉक्सी सेटिंग - + engine settings इंजन सेटिंग्स - + custom engine कस्टम इंजन - + edit from rpy rpy से संपादित करें @@ -1666,12 +1708,17 @@ (अरबी, उर्दू जैसी कुछ भाषाओं के लिए उलटे फ़ॉन्ट की समस्या को ठीक किया गया) - + + set default language at startup + स्टार्टअप पर डिफ़ॉल्ट भाषा सेट करें + + + select the game file गेम फ़ाइल का चयन करें - + One Key Translate Complete एक कुंजी अनुवाद पूर्ण diff --git a/src/ts/japanese.ts b/src/ts/japanese.ts index 8a5becc..22d4025 100644 --- a/src/ts/japanese.ts +++ b/src/ts/japanese.ts @@ -235,6 +235,39 @@ テスト + + DefaultLanguageDialog + + + set default langauge at startup + 起動時にデフォルトの言語を設定する + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + 起動時にデフォルトの言語を設定するゲームを入力、選択、またはドラッグします。例:F:/DemoGame.exe + + + + file + ファイル + + + + set default language at startup + 起動時にデフォルトの言語を設定する + + + + tl name + tl 名 + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + game\tl の下のディレクトリ名を入力します。例: 'japanese' または 'chinese' + + EditorDialog @@ -304,43 +337,48 @@ ローカル用語集 (特定の単語を事前設定されたコンテンツに置き換えます) - + Auto copy to Current after translation 翻訳後に現在に自動コピー - + filter length less than フィルタの長さは以下です - + Enable filter for translate 翻訳用のフィルターを有効にする + + + Enable replace special symbols + 特殊記号の置換を有効にする + - - - + + + Current 現在 - + Translation Source 翻訳元 - + Save to file ファイルに保存 - + Show Untranslated Only 未翻訳のみを表示 @@ -349,24 +387,24 @@ - - - + + + Original オリジナル - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>複数選択がサポートされています (「Ctrl」を押したままアクティブにします) </p><p>さらに、「Shift」を使用して連続線を選択することもできます。</p ><p>操作したい行を選択し、右クリックしてメニューを表示します。</p><p>「Ctrl + A」ですべての行を選択します<br/>「Ctrl + F」でコンテンツを検索します<br/>「Ctrl + G」で行にジャンプします</p><p>保存に関しては、「現在」列の内容のみがファイルに置き換えられます。</p><p>最後に、次のことができます。ダブルクリックして「現在」列と「翻訳済み」列を変更します</p></body></html> - + Show Searched Only 検索されたもののみを表示 - + Show Log After Search 検索後にログを表示 @@ -376,12 +414,12 @@ - + Translated 翻訳済み - + Copy selected to clipboard Copy Source 選択したものをクリップボードにコピー ソースをコピー @@ -448,7 +486,6 @@ - Do you want to replace special symbols? 特殊な記号を置き換えますか? @@ -520,12 +557,12 @@ 現在 をロードしたばかりの状態にロールバックします - + select the directory you want to edit 編集したいディレクトリを選択します - + select the file(s) you want to edit 編集したいファイルを選択します @@ -872,7 +909,7 @@ - + select the file font which supports the translated language 翻訳された言語をサポートするファイルフォントを選択します @@ -1026,9 +1063,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML ファイルが翻訳されたファイルと一致しません。入力ファイルを確認してください @@ -1176,41 +1213,41 @@ レンピー翻訳者 - + 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 翻訳する @@ -1223,148 +1260,153 @@ 抽出したいディレクトリを選択します - + select the file(s) you want to translate 翻訳したいファイルを選択します - + select the directory you want to translate 翻訳したいディレクトリを選択します - - + + ... ... - + directory ディレクトリ - + file(s) ファイル - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy ここに翻訳したいファイルを入力または選択またはドラッグします。例 : F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language ここに翻訳したいディレクトリを入力または選択またはドラッグします。例:F:\GameName\game\tl\language - + translation 翻訳 - + target 目標 - + source ソース - + Multi-threaded translation マルチスレッド翻訳 - + Generate Backup Files (xxx.rpy.bak) バックアップ ファイル (xxx.rpy.bak) の生成 - + Local Glossary (replace certain words with preset content) ローカル用語集 (特定の単語を事前設定されたコンテンツに置き換えます) - + Translation Source 翻訳元 - + Original オリジナル - + Current 現在 - + Skip Translated (Original != Current) 翻訳をスキップ (オリジナル != 現在) - + Enable filter for translate 翻訳用のフィルターを有効にする - + Enable replace special symbols 特殊記号の置換を有効にする - + + set default language at startup + 起動時にデフォルトの言語を設定する + + + Auto open untranslated contents with brower 翻訳されていないコンテンツをブラウザで自動的に開く - + Show exported html file with explorer only エクスポートされた HTML ファイルをエクスプローラーのみで表示する - + extract translation 翻訳を抜粋 - + runtime extraction ランタイム抽出 - + add change langauge entrance 言語変更の入り口を追加 - + one key translate ワンキー翻訳 - + official extraction 公式抽出 - + convert txt to html txtをhtmlに変換する - + pack game files ゲームファイルをパックする - + ©2024 Last moment,All rights reserved. ©2024 Last moment,All rights reserved. @@ -1374,7 +1416,7 @@ 高度なオプション - + unpack game package ゲームパッケージを解凍する @@ -1387,7 +1429,7 @@ 翻訳後の言語をサポートするフォントを入力または選択またはドラッグします。例: DejaVuSans.ttf (ren'py のデフォルトのフォント) - + replace font フォントを置き換える @@ -1416,13 +1458,13 @@ ここに翻訳したいディレクトリを入力または選択またはドラッグします。例:F:\GameName\game\tl\language - + extract 抽出する - + (If disable, translation will continue after the previous file has been translated) (無効にすると、前のファイルが翻訳された後に翻訳が続行されます) @@ -1447,7 +1489,7 @@ 抽出用のフィルターを有効にする - + filter length less than フィルタの長さは以下です @@ -1456,13 +1498,13 @@ 元の文字列の代わりに空の文字列を生成する - + clear log ログをクリアする - - + + Version バージョン @@ -1486,37 +1528,37 @@ 編集者 - + language 言語 - + theme テーマ - + copyright 著作権 - + proxy settings プロキシ設定 - + engine settings エンジン設定 - + custom engine カスタムエンジン - + edit from rpy rpyから編集する @@ -1666,12 +1708,17 @@ (アラビア語、ウルドゥー語などの一部の言語でフォントが反転する問題を修正) - + + set default language at startup + 起動時にデフォルトの言語を設定する + + + select the game file ゲームファイルを選択します - + One Key Translate Complete ワンキー翻訳完了 diff --git a/src/ts/korean.ts b/src/ts/korean.ts index ce7215b..cef502a 100644 --- a/src/ts/korean.ts +++ b/src/ts/korean.ts @@ -235,6 +235,39 @@ 시험 + + DefaultLanguageDialog + + + set default langauge at startup + 시작 시 기본 언어 설정 + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + 시작 시 기본 언어를 설정하려는 게임을 입력하거나 선택하거나 드래그합니다. 예:F:/DemoGame.exe + + + + file + 파일 + + + + set default language at startup + 시작 시 기본 언어 설정 + + + + tl name + 이름 + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + game\tl 아래에 디렉터리 이름을 입력하세요. 예: 'japanese' 또는 'chinese' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated 번역됨 @@ -296,9 +329,9 @@ - - - + + + Original 원래의 @@ -307,9 +340,9 @@ - - - + + + Current 현재의 @@ -332,7 +365,6 @@ - Do you want to replace special symbols? 특수 기호를 바꾸시겠습니까? @@ -404,12 +436,12 @@ 전류를 첫 번째 부하로 롤백 - + select the directory you want to edit 편집하려는 디렉토리를 선택하십시오 - + select the file(s) you want to edit 편집하고 싶은 파일을 선택하세요 @@ -491,55 +523,60 @@ 로컬 용어집(특정 단어를 미리 설정된 내용으로 대체) - + Translation Source 번역 소스 - + Save to file 파일에 저장 - + Show Untranslated Only 번역되지 않은 항목만 표시 - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>다중 선택이 지원됩니다(활성화하려면 'Ctrl'을 누르고 계세요) </p><p>또한 'Shift'를 사용하여 연속된 선을 선택할 수 있습니다</p ><p>조작하려는 라인을 선택하고 마우스 오른쪽 버튼을 클릭하면 메뉴가 표시됩니다.</p><p>모든 라인을 선택하려면 'Ctrl + A'<br/>내용 검색은 'Ctrl + F' <br/>줄로 이동하려면 'Ctrl + G'</p><p>저장의 경우 '현재' 열의 내용만 파일로 대체됩니다.</p><p>마지막으로 다음을 수행할 수 있습니다. 더블클릭을 통해 '현재' 및 '번역됨' 열 수정</p></body></html> - + Show Searched Only 검색된 항목만 표시 - + Show Log After Search 검색 후 로그 표시 - + Copy selected to clipboard Copy Source 선택 항목을 클립보드에 복사 소스 복사 - + Auto copy to Current after translation 번역 후 Current로 자동 복사 - + filter length less than 필터 길이가 다음보다 작음 - + Enable filter for translate 번역을 위한 필터 활성화 + + + Enable replace special symbols + 특수 기호 교체 활성화 + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language 번역된 언어를 지원하는 파일 글꼴을 선택하세요 @@ -1026,9 +1063,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML 파일이 번역된 파일과 일치하지 않습니다. 입력 파일을 확인하세요 @@ -1151,57 +1188,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 번역하려는 디렉토리를 선택하십시오 @@ -1211,104 +1248,109 @@ 렌피 번역기 - - + + Version 버전 - - + + ... ... - + directory 예배 규칙서 - + file(s) 파일 - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy 여기에 번역하고 싶은 파일을 입력하거나 선택하거나 드래그하세요. 예: F:\GameName\game\tl\언어\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language 여기에 번역하려는 디렉토리를 입력하거나 선택하거나 드래그하세요. 예:F:\게임 이름\게임\tl\언어 - + translation 번역 - + target 표적 - + source 원천 - + Generate Backup Files (xxx.rpy.bak) 백업 파일 생성(xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) 로컬 용어집(특정 단어를 미리 설정된 내용으로 대체) - + Translation Source 번역 소스 - + Original 원래의 - + Current 현재의 - + Skip Translated (Original != Current) 번역 건너뛰기(원본 != 현재) - + filter length less than 필터 길이가 다음보다 작음 - + Enable filter for translate 번역을 위한 필터 활성화 - + Enable replace special symbols 특수 기호 교체 활성화 - + + set default language at startup + 시작 시 기본 언어 설정 + + + Auto open untranslated contents with brower 번역되지 않은 내용을 브라우저로 자동 열기 - + Show exported html file with explorer only 내보낸 HTML 파일을 탐색기에서만 표시 @@ -1318,72 +1360,72 @@ 고급 옵션 - + 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 게임 파일 압축 - + Multi-threaded translation 멀티스레드 번역 - + (If disable, translation will continue after the previous file has been translated) (비활성화하면 이전 파일이 번역된 후 번역이 계속됩니다) - + ©2024 Last moment,All rights reserved. ©2024 마지막 순간, 모든 권리 보유. - + replace font 글꼴 교체 - + clear log 로그 지우기 @@ -1403,32 +1445,32 @@ 번역 엔진 - + language 언어 - + copyright 저작권 - + proxy settings 프록시 설정 - + engine settings 엔진 설정 - + custom engine 커스텀 엔진 - + edit from rpy rpy에서 편집 @@ -1578,12 +1620,17 @@ (아랍어, 우르두어와 같은 일부 언어의 글꼴 반전 문제 수정) - + + set default language at startup + 시작 시 기본 언어 설정 + + + select the game file 게임 파일을 선택하세요 - + One Key Translate Complete 하나의 키 번역 완료 diff --git a/src/ts/portuguese.ts b/src/ts/portuguese.ts index 18883ed..f1118d4 100644 --- a/src/ts/portuguese.ts +++ b/src/ts/portuguese.ts @@ -235,6 +235,39 @@ Teste + + DefaultLanguageDialog + + + set default langauge at startup + definir o idioma predefinido no arranque + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + Introduza ou escolha ou arraste o jogo cujo idioma pretende definir como predefinido no arranque. Exemplo:F:/DemoGame.exe + + + + file + arquivo + + + + set default language at startup + definir o idioma predefinido no arranque + + + + tl name + nome tl + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + Introduza o nome do directório em game\tl Exemplo: 'japanese' ou 'chinese' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated Traduzido @@ -296,9 +329,9 @@ - - - + + + Original Original @@ -307,9 +340,9 @@ - - - + + + Current Atual @@ -332,7 +365,6 @@ - Do you want to replace special symbols? Você deseja substituir símbolos especiais? @@ -404,12 +436,12 @@ 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 @@ -491,55 +523,60 @@ Glossário local (substitua certas palavras por conteúdo predefinido) - + Translation Source Fonte de tradução - + Save to file Salvar em arquivo - + Show Untranslated Only Mostrar apenas os não traduzidos - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>A seleção múltipla é compatível (mantenha pressionada a tecla 'Ctrl' para ativar) </p><p>Além disso, você pode usar 'Shift' para selecionar uma linha contínua</p ><p>Selecione a(s) linha(s) que deseja operar, clique com o botão direito para mostrar o menu</p><p>'Ctrl + A' para selecionar todas as linhas<br/>'Ctrl + F' para pesquisar o conteúdo <br/>'Ctrl + G' para pular para a linha</p><p>Quanto ao salvar, apenas o conteúdo da coluna 'Atual' será substituído no arquivo</p><p>Por fim, você pode modifique as colunas 'Atual' e 'Traduzido' através do Double-Click</p></body></html> - + Show Searched Only Mostrar apenas pesquisado - + Show Log After Search Mostrar registro após pesquisa - + Copy selected to clipboard Copy Source Copiar selecionado para a área de transferência Copiar fonte - + Auto copy to Current after translation Cópia automática para Atual após tradução - + filter length less than comprimento do filtro menor que - + Enable filter for translate Ativar filtro para tradução + + + Enable replace special symbols + Ativar substituição de símbolos especiais + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language selecione a fonte do arquivo que suporta o idioma traduzido @@ -1026,9 +1063,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 @@ -1171,46 +1208,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 @@ -1224,12 +1261,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 @@ -1239,149 +1276,154 @@ Tradutor Ren'py - - + + Version Versão - - + + ... ... - + directory diretório - + file(s) arquivos) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy insira ou escolha ou arraste o(s) arquivo(s) que deseja traduzir aqui. Exemplo: F:\GameName\game\tl\idioma\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language insira ou escolha ou arraste o diretório que deseja traduzir aqui. Exemplo:F:\NomeDoJogo\jogo\tl\idioma - + translation tradução - + target alvo - + source fonte - + Multi-threaded translation Tradução multithread - + Generate Backup Files (xxx.rpy.bak) Gerar arquivos de backup (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) Glossário local (substitua certas palavras por conteúdo predefinido) - + Translation Source Fonte de tradução - + Original Original - + Current Atual - + Skip Translated (Original != Current) Pular traduzido (Original! = Atual) - + (If disable, translation will continue after the previous file has been translated) (Se desabilitado, a tradução continuará após a tradução do arquivo anterior) - + Enable filter for translate Ativar filtro para tradução - + Enable replace special symbols Ativar substituição de símbolos especiais - + + set default language at startup + definir o idioma predefinido no arranque + + + Auto open untranslated contents with brower Abrir automaticamente conteúdos não traduzidos com o navegador - + Show exported html file with explorer only 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 - + ©2024 Last moment,All rights reserved. ©2024 Último momento,Todos os direitos reservados. @@ -1391,7 +1433,7 @@ opções avançadas - + unpack game package descompacte o pacote do jogo @@ -1404,7 +1446,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 @@ -1453,7 +1495,7 @@ Ativar filtro para extração - + filter length less than comprimento do filtro menor que @@ -1462,7 +1504,7 @@ Gere strings vazias em vez das originais - + clear log Log clara @@ -1486,37 +1528,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 @@ -1666,12 +1708,17 @@ (Corrigir problema de fonte invertida para alguns idiomas como árabe, urdu) - + + set default language at startup + definir o idioma predefinido no arranque + + + 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 97995dc..79dde29 100644 --- a/src/ts/russian.ts +++ b/src/ts/russian.ts @@ -235,6 +235,39 @@ Тест + + DefaultLanguageDialog + + + set default langauge at startup + установить язык по умолчанию при запуске + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + Введите или выберите или перетащите игру, для которой вы хотите установить язык по умолчанию при запуске. Пример: F:/DemoGame.exe + + + + file + файл + + + + set default language at startup + установить язык по умолчанию при запуске + + + + tl name + имя + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + Введите имя каталога в разделе game\tl. Пример: «японский» или «китайский». + + EditorDialog @@ -255,7 +288,7 @@ - + Translated Переведено @@ -296,9 +329,9 @@ - - - + + + Original Оригинал @@ -307,9 +340,9 @@ - - - + + + Current Текущий @@ -332,7 +365,6 @@ - Do you want to replace special symbols? Хотите заменить специальные символы? @@ -404,12 +436,12 @@ Ток отката до первой нагрузки - + select the directory you want to edit выберите каталог, который вы хотите редактировать - + select the file(s) you want to edit выберите файл(ы), которые вы хотите отредактировать @@ -491,55 +523,60 @@ Локальный глоссарий (замените определенные слова заранее заданным содержимым) - + Translation Source Источник перевода - + Save to file Сохранить в файл - + Show Untranslated Only Показать только непереведенные - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>Поддерживается множественный выбор (удерживайте нажатой клавишу «Ctrl», чтобы активировать) </p><p>Кроме того, вы можете использовать клавишу «Shift» для выбора непрерывной линии</p ><p>Выберите строку(и), с которой хотите работать, щелкните правой кнопкой мыши, чтобы открыть меню.</p><p>'Ctrl + A', чтобы выбрать все строки<br/>'Ctrl + F', чтобы выполнить поиск по содержимому. <br/>'Ctrl + G' для перехода к строке</p><p>Что касается сохранения, в файл будет заменено только содержимое столбца «Текущий».</p><p>Наконец, вы можете измените столбцы «Текущий» и «Переведено» двойным щелчком мыши</p></body></html> - + Show Searched Only Показать только поиск - + Show Log After Search Показать журнал после поиска - + Copy selected to clipboard Copy Source Копировать выбранное в буфер обмена Копировать источник - + Auto copy to Current after translation Автоматическое копирование в Текущий после перевода - + filter length less than длина фильтра меньше - + Enable filter for translate Включить фильтр для перевода + + + Enable replace special symbols + Включить замену специальных символов + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language выберите шрифт файла, который поддерживает переведенный язык @@ -1026,9 +1063,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files HTML-файл не соответствует переведенному файлу, проверьте входные файлы @@ -1171,46 +1208,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 извлекать @@ -1224,12 +1261,12 @@ выберите каталог, который вы хотите извлечь - + select the file(s) you want to translate выберите файл(ы), которые вы хотите перевести - + select the directory you want to translate выберите каталог, который вы хотите перевести @@ -1239,99 +1276,104 @@ Ренпи Переводчик - - + + Version Версия - - + + ... ... - + directory каталог - + file(s) файл(ы) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy введите или выберите или перетащите сюда файлы, которые вы хотите перевести. Пример: F:\GameName\game\tl\language\script.rpy. - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language введите или выберите или перетащите сюда каталог, который вы хотите перевести. Пример: F:\GameName\game\tl\language. - + translation перевод - + target цель - + source источник - + Generate Backup Files (xxx.rpy.bak) Создать файлы резервных копий (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) Локальный глоссарий (замените определенные слова заранее заданным содержимым) - + Translation Source Источник перевода - + Original Оригинал - + Current Текущий - + Skip Translated (Original != Current) Пропустить перевод (Исходный != Текущий) - + Enable filter for translate Включить фильтр для перевода - + Enable replace special symbols Включить замену специальных символов - + + set default language at startup + установить язык по умолчанию при запуске + + + Auto open untranslated contents with brower Автоматически открывать непереведенное содержимое с помощью браузера - + Show exported html file with explorer only Показать экспортированный HTML-файл только с помощью проводника @@ -1341,62 +1383,62 @@ Расширенные опции - + 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 упаковать файлы игры - + Multi-threaded translation Многопоточный перевод - + (If disable, translation will continue after the previous file has been translated) (Если отключить, перевод продолжится после перевода предыдущего файла) - + ©2024 Last moment,All rights reserved. ©2024 Последний момент,Все права защищены. @@ -1409,7 +1451,7 @@ введите или выберите или перетащите шрифт, который поддерживает язык после перевода. Пример: DejaVuSans.ttf (шрифт ren'py по умолчанию) - + replace font заменить шрифт @@ -1458,7 +1500,7 @@ Включить фильтр для извлечения - + filter length less than длина фильтра меньше @@ -1467,7 +1509,7 @@ Генерировать пустые строки вместо оригинальных - + clear log Очистить журнал @@ -1491,32 +1533,32 @@ редактор - + language язык - + copyright Авторские права - + proxy settings настройки прокси - + engine settings настройки двигателя - + custom engine специальный движок - + edit from rpy редактировать из rpy @@ -1666,12 +1708,17 @@ (Исправлена ​​проблема с перевернутым шрифтом для некоторых языков, таких как арабский, урду) - + + set default language at startup + установить язык по умолчанию при запуске + + + select the game file выберите файл игры - + One Key Translate Complete One Key Translate завершен diff --git a/src/ts/spanish.ts b/src/ts/spanish.ts index 93cffe6..3137c3e 100644 --- a/src/ts/spanish.ts +++ b/src/ts/spanish.ts @@ -235,6 +235,39 @@ Prueba + + DefaultLanguageDialog + + + set default langauge at startup + establecer el idioma predeterminado al inicio + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + Ingrese, elija o arrastre el juego cuyo idioma predeterminado desea configurar al inicio. Ejemplo: F:/DemoGame.exe + + + + file + archivo + + + + set default language at startup + establecer el idioma predeterminado al inicio + + + + tl name + ese nombre + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + Ingrese el nombre del directorio en game\tl Ejemplo: 'japonés' o 'chino' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated Traducido @@ -296,9 +329,9 @@ - - - + + + Original Original @@ -307,9 +340,9 @@ - - - + + + Current Actual @@ -332,7 +365,6 @@ - Do you want to replace special symbols? ¿Quieres reemplazar símbolos especiales? @@ -404,12 +436,12 @@ 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 @@ -491,55 +523,60 @@ Glosario local (reemplace ciertas palabras con contenido preestablecido) - + Translation Source Fuente de traducción - + Save to file Guardar en archivo - + Show Untranslated Only Mostrar solo sin traducir - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>La selección múltiple es compatible (mantenga presionada la tecla 'Ctrl' para activar) </p><p>Además, puede usar 'Shift' para seleccionar una línea continua</p ><p>Seleccione la(s) línea(s) que desea operar, haga clic derecho para mostrar el menú</p><p>'Ctrl + A' para seleccionar todas las líneas<br/>'Ctrl + F' para buscar el contenido <br/>'Ctrl + G' para saltar a la línea</p><p>En cuanto a guardar, solo el contenido de la columna 'Actual' se reemplazará en el archivo</p><p>Por fin, puede modifique las columnas 'Actual' y 'Traducida' mediante doble clic</p></body></html> - + Show Searched Only Mostrar sólo buscado - + Show Log After Search Mostrar registro después de la búsqueda - + Copy selected to clipboard Copy Source Copiar seleccionado al portapapeles Copiar origen - + Auto copy to Current after translation Copia automática a Actual después de la traducción - + filter length less than longitud del filtro inferior a - + Enable filter for translate Habilitar filtro para traducir + + + Enable replace special symbols + Habilitar reemplazar símbolos especiales + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language seleccione la fuente del archivo que admita el idioma traducido @@ -1026,9 +1063,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 @@ -1171,46 +1208,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 @@ -1224,12 +1261,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 @@ -1239,149 +1276,154 @@ Traductor Ren'py - - + + Version Versión - - + + ... ... - + directory directorio - + file(s) archivo(s) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy ingrese o elija o arrastre los archivos que desea traducir aquí. Ejemplo: F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language ingrese o elija o arrastre el directorio que desea traducir aquí. Ejemplo:F:\GameName\game\tl\idioma - + translation traducción - + target objetivo - + source fuente - + Multi-threaded translation Traducción multiproceso - + Generate Backup Files (xxx.rpy.bak) Generar archivos de respaldo (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) Glosario local (reemplace ciertas palabras con contenido preestablecido) - + Translation Source Fuente de traducción - + Original Original - + Current Actual - + Skip Translated (Original != Current) Saltar Traducido (Original! = Actual) - + (If disable, translation will continue after the previous file has been translated) (Si está deshabilitado, la traducción continuará después de que se haya traducido el archivo anterior) - + Enable filter for translate Habilitar filtro para traducir - + Enable replace special symbols Habilitar reemplazar símbolos especiales - + + set default language at startup + establecer el idioma predeterminado al inicio + + + Auto open untranslated contents with brower Abrir automáticamente contenidos no traducidos con el navegador - + Show exported html file with explorer only 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 - + ©2024 Last moment,All rights reserved. ©2024 Último momento,Todos los derechos reservados. @@ -1391,7 +1433,7 @@ opciones avanzadas - + unpack game package desempaquetar el paquete del juego @@ -1404,7 +1446,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 @@ -1453,7 +1495,7 @@ Habilitar filtro para extracto - + filter length less than longitud del filtro inferior a @@ -1462,7 +1504,7 @@ Generar cadenas vacías en lugar de originales - + clear log borrar registro @@ -1486,37 +1528,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 @@ -1670,12 +1712,17 @@ (Se soluciona el problema de fuente invertida para algunos idiomas como árabe y urdu) - + + set default language at startup + establecer el idioma predeterminado al inicio + + + 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 b37f7aa..b9a6c9a 100644 --- a/src/ts/turkish.ts +++ b/src/ts/turkish.ts @@ -235,6 +235,39 @@ Test + + DefaultLanguageDialog + + + set default langauge at startup + başlangıçta varsayılan dili ayarla + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + Başlangıçta varsayılan dili ayarlamak istediğiniz oyunu girin veya seçin veya sürükleyin. Örnek:F:/DemoGame.exe + + + + file + dosya + + + + set default language at startup + başlangıçta varsayılan dili ayarla + + + + tl name + tl ad + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + Dizin adını game\tl altına girin Örnek: 'japonca' veya 'çince' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated Çevrilmiş @@ -296,9 +329,9 @@ - - - + + + Original Orijinal @@ -307,9 +340,9 @@ - - - + + + Current Geçerli @@ -332,7 +365,6 @@ - Do you want to replace special symbols? Özel sembolleri değiştirmek istiyor musunuz? @@ -404,12 +436,12 @@ İ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 @@ -491,55 +523,60 @@ Yerel Sözlük (belirli kelimeleri önceden ayarlanmış içerikle değiştirin) - + Translation Source Çeviri Kaynağı - + Save to file Dosyaya kaydet - + Show Untranslated Only Yalnızca Çevrilmemişleri Göster - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>Çoklu Seçim destekli (Etkinleştirmek için 'Ctrl' tuşunu basılı tutun) </p><p>Ayrıca devam eden çizgi seçmek için 'Shift'i kullanabilirsiniz</p><p>Değiştirmek istediğiniz satır(lar)ı seçin, menüyü göstermek için sağ tıklayın</p><p>'Ctrl + A' tüm satırları seçmek için<br/>'Ctrl + F' içeriği aramak için<br/>'Ctrl + G' satırına atlamak için</p><p>Kaydetme için, yalnızca 'Geçerli' sütunundaki içerik dosyaya değiştirilecektir</p><p>En azından, 'Geçerli' ve 'Çevrilmiş' sütununu Çift Tıklama ile değiştirebilirsiniz</p></body></html> - + Show Searched Only Sadece Arananları Göster - + Show Log After Search Aramadan Sonra Günlüğü Göster - + Copy selected to clipboard Copy Source Seçilenleri panoya kopyala Kaynağı Kopyala - + Auto copy to Current after translation Çeviriden sonra Geçerli'ye otomatik kopyala - + filter length less than filtre uzunluğu daha az - + Enable filter for translate Çeviri için filtreyi etkinleştir + + + Enable replace special symbols + Özel simgeleri değiştirmeyi etkinleştir + EngineDialog @@ -849,7 +886,7 @@ - + select the file font which supports the translated language çevrilmiş dili destekleyen dosya yazı tipini seçin @@ -1003,9 +1040,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 @@ -1128,57 +1165,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 @@ -1188,104 +1225,109 @@ Ren'py Çevirici - - + + Version Sürüm - - + + ... ... - + directory dizin - + file(s) dosya(lar) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy düzenlemek istediğiniz dosyaları buraya girin veya seçin veya sürükleyin. Örnek: F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language düzenlemek istediğiniz dizini buraya girin veya seçin veya sürükleyin. Örnek: F:\GameName\game\tl\language - + translation çeviri - + target hedef - + source kaynak - + Generate Backup Files (xxx.rpy.bak) Yedekleme Dosyaları Oluştur (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) Yerel Sözlük (belirli kelimeleri önceden ayarlanmış içerikle değiştirin) - + Translation Source Çeviri Kaynağı - + Original Orijinal - + Current Şimdiki - + Skip Translated (Original != Current) Çevrileni Atla (Orijinal != Şimdiki) - + filter length less than filtre uzunluğu daha az - + Enable filter for translate Çeviri için filtreyi etkinleştir - + Enable replace special symbols Özel simgeleri değiştirmeyi etkinleştir - + + set default language at startup + başlangıçta varsayılan dili ayarla + + + Auto open untranslated contents with brower Çevrilmemiş içerikleri tarayıcıyla otomatik aç - + Show exported html file with explorer only Dışa aktarılan html dosyasını yalnızca Explorer ile göster @@ -1295,72 +1337,72 @@ 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 - + Multi-threaded translation Çok iş parçacıklı çeviri - + (If disable, translation will continue after the previous file has been translated) (Devre dışı bırakılırsa, önceki dosya çevrildikten sonra çeviri devam edecektir) - + ©2024 Last moment,All rights reserved. ©2024 Son an,Tüm hakları saklıdır. - + replace font yazı tipini değiştir - + clear log Kayıtları temizle @@ -1380,32 +1422,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 @@ -1555,12 +1597,17 @@ (Arapça, Urduca gibi bazı dillerde ters yazı tipi sorununu düzeltin) - + + set default language at startup + başlangıçta varsayılan dili ayarla + + + 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 8510f9b..b86cb46 100644 --- a/src/ts/urdu.ts +++ b/src/ts/urdu.ts @@ -235,6 +235,39 @@ پرکھ + + DefaultLanguageDialog + + + set default langauge at startup + شروع میں پہلے سے طے شدہ زبان سیٹ کریں۔ + + + + Input or choose or drag the game you want to set default language at startup.Example:F:/DemoGame.exe + جس گیم کو آپ سٹارٹ اپ پر ڈیفالٹ لینگوئج سیٹ کرنا چاہتے ہیں اسے داخل کریں یا منتخب کریں یا گھسیٹیں۔ مثال:F:/DemoGame.exe + + + + file + فائل + + + + set default language at startup + شروع میں پہلے سے طے شدہ زبان سیٹ کریں۔ + + + + tl name + tl نام + + + + Input the directory name under game\tl Example: 'japanese' or 'chinese' + گیم کے تحت ڈائرکٹری کا نام داخل کریں\tl مثال: 'جاپانی' یا 'چینی' + + EditorDialog @@ -255,7 +288,7 @@ - + Translated ترجمہ شدہ @@ -296,9 +329,9 @@ - - - + + + Original اصل @@ -307,9 +340,9 @@ - - - + + + Current کرنٹ @@ -332,7 +365,6 @@ - Do you want to replace special symbols? کیا آپ خصوصی علامتوں کو تبدیل کرنا چاہتے ہیں؟ @@ -404,12 +436,12 @@ پہلے لوڈ پر کرنٹ کو رول بیک کریں۔ - + select the directory you want to edit وہ ڈائریکٹری منتخب کریں جس میں آپ ترمیم کرنا چاہتے ہیں۔ - + select the file(s) you want to edit وہ فائل منتخب کریں جس میں آپ ترمیم کرنا چاہتے ہیں۔ @@ -491,55 +523,60 @@ مقامی لغت (بعض الفاظ کو پیش سیٹ مواد سے تبدیل کریں) - + Translation Source ترجمہ ماخذ - + Save to file فائل میں محفوظ کریں۔ - + Show Untranslated Only صرف غیر ترجمہ شدہ دکھائیں۔ - + <html><head/><body><p>Multi-Select is supportable (Hold down the 'Ctrl' to Active) </p><p>Besides you can use 'Shift' to select a continuous line</p><p>Select the line(s) you want to operate , right click to show menu</p><p>'Ctrl + A' to select all the lines<br/>'Ctrl + F' to search the content<br/>'Ctrl + G' to jump to line</p><p>As for save , only the contents in column 'Current' will be replaced to the file</p><p>At last , you can modify the 'Current' and 'Translated' column through Double-Click</p></body></html> <html><head/><body><p>ملٹی سلیکٹ قابل تعاون ہے ('Ctrl' کو ایکٹو کرنے کے لیے دبائے رکھیں) </p><p>اس کے علاوہ آپ مسلسل لائن کو منتخب کرنے کے لیے 'Shift' استعمال کر سکتے ہیں</p ><p>آپ جس لائن کو چلانا چاہتے ہیں اسے منتخب کریں، مینو دکھانے کے لیے دائیں کلک کریں</p><p>'Ctrl + A' تمام لائنوں کو منتخب کرنے کے لیے<br/>'Ctrl + F' مواد تلاش کرنے کے لیے <br/>'Ctrl + G' لائن پر جانے کے لیے</p><p>محفوظ کرنے کے لیے، صرف کالم 'کرنٹ' میں موجود مواد کو فائل میں تبدیل کیا جائے گا</p><p>آخر میں، آپ کر سکتے ہیں ڈبل کلک کے ذریعے 'موجودہ' اور 'ترجمہ شدہ' کالم میں ترمیم کریں</p></body></html> - + Show Searched Only صرف تلاش شدہ دکھائیں۔ - + Show Log After Search تلاش کے بعد لاگ دکھائیں۔ - + Copy selected to clipboard Copy Source منتخب کردہ کو کلپ بورڈ میں کاپی کریں سورس کاپی کریں۔ - + Auto copy to Current after translation ترجمہ کے بعد کرنٹ میں آٹو کاپی - + filter length less than سے کم فلٹر کی لمبائی - + Enable filter for translate ترجمہ کے لیے فلٹر کو فعال کریں۔ + + + Enable replace special symbols + خصوصی علامتوں کو تبدیل کرنے کو فعال کریں۔ + EngineDialog @@ -872,7 +909,7 @@ - + select the file font which supports the translated language فائل کا فونٹ منتخب کریں جو ترجمہ شدہ زبان کو سپورٹ کرتا ہے۔ @@ -1026,9 +1063,9 @@ ImportHtmlDialog - - - + + + The html file does not match the translated file , please check the input files html فائل ترجمہ شدہ فائل سے مماثل نہیں ہے، براہ کرم ان پٹ فائلوں کو چیک کریں۔ @@ -1171,46 +1208,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 نکالنا @@ -1224,12 +1261,12 @@ وہ ڈائریکٹری منتخب کریں جسے آپ نکالنا چاہتے ہیں۔ - + select the file(s) you want to translate وہ فائل (فائلیں) منتخب کریں جس کا آپ ترجمہ کرنا چاہتے ہیں۔ - + select the directory you want to translate وہ ڈائریکٹری منتخب کریں جس کا آپ ترجمہ کرنا چاہتے ہیں۔ @@ -1239,99 +1276,104 @@ Ren'py مترجم - - + + Version ورژن - - + + ... ... - + directory ڈائریکٹری - + file(s) فائلوں) - + input or choose or drag the file(s) you want to translate here. Examaple : F:\GameName\game\tl\language\script.rpy جس فائل کا آپ یہاں ترجمہ کرنا چاہتے ہیں اسے داخل کریں یا منتخب کریں یا گھسیٹیں۔ مثال: F:\GameName\game\tl\language\script.rpy - + input or choose or drag the directory you want translate here. Example:F:\GameName\game\tl\language داخل کریں یا اس ڈائریکٹری کو منتخب کریں یا گھسیٹیں جسے آپ یہاں ترجمہ کرنا چاہتے ہیں۔ مثال:F:\GameName\game\tl\language - + translation ترجمہ - + target ہدف - + source ذریعہ - + Generate Backup Files (xxx.rpy.bak) بیک اپ فائلیں بنائیں (xxx.rpy.bak) - + Local Glossary (replace certain words with preset content) مقامی لغت (بعض الفاظ کو پیش سیٹ مواد سے تبدیل کریں) - + Translation Source ترجمہ ماخذ - + Original اصل - + Current کرنٹ - + Skip Translated (Original != Current) ترجمہ چھوڑیں (اصل! = موجودہ) - + Enable filter for translate ترجمہ کے لیے فلٹر کو فعال کریں۔ - + Enable replace special symbols خصوصی علامتوں کو تبدیل کرنے کو فعال کریں۔ - + + set default language at startup + شروع میں پہلے سے طے شدہ زبان سیٹ کریں۔ + + + Auto open untranslated contents with brower براؤزر کے ساتھ غیر ترجمہ شدہ مواد کو خود بخود کھولیں۔ - + Show exported html file with explorer only ایکسپلورر کے ساتھ ایکسپورٹ شدہ HTML فائل دکھائیں۔ @@ -1341,62 +1383,62 @@ اعلی درجے کے اختیارات - + 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 گیم فائلوں کو پیک کریں۔ - + Multi-threaded translation ملٹی تھریڈڈ ترجمہ - + (If disable, translation will continue after the previous file has been translated) (غیر فعال ہونے کی صورت میں، پچھلی فائل کا ترجمہ کرنے کے بعد ترجمہ جاری رہے گا) - + ©2024 Last moment,All rights reserved. ©2024 آخری لمحہ، جملہ حقوق محفوظ ہیں۔ @@ -1409,7 +1451,7 @@ ترجمہ کے بعد زبان کو سپورٹ کرنے والا فونٹ داخل کریں یا منتخب کریں یا گھسیٹیں۔ مثال: DejaVuSans.ttf (ren'py کا ڈیفالٹ فونٹ) - + replace font فونٹ تبدیل کریں @@ -1458,7 +1500,7 @@ نکالنے کے لیے فلٹر کو فعال کریں۔ - + filter length less than سے کم فلٹر کی لمبائی @@ -1467,7 +1509,7 @@ اصلی کے بجائے خالی ڈور تیار کریں۔ - + clear log فہرست صاف کر دو @@ -1491,32 +1533,32 @@ ایڈیٹر - + language زبان - + copyright کاپی رائٹ - + proxy settings پراکسی ترتیبات - + engine settings انجن کی ترتیبات - + custom engine اپنی مرضی کے انجن - + edit from rpy rpy سے ترمیم کریں۔ @@ -1666,12 +1708,17 @@ (کچھ زبانوں جیسے عربی، اردو کے لیے الٹ فونٹ کا مسئلہ حل کریں) - + + set default language at startup + شروع میں پہلے سے طے شدہ زبان سیٹ کریں۔ + + + select the game file گیم فائل کو منتخب کریں۔ - + One Key Translate Complete ایک کلیدی ترجمہ مکمل diff --git a/src/ui.py b/src/ui.py index 144c2f7..21442d1 100644 --- a/src/ui.py +++ b/src/ui.py @@ -157,6 +157,8 @@ def setupUi(self, MainWindow): self.actionGreek = QAction(MainWindow) self.actionGreek.setObjectName(u"actionGreek") self.actionGreek.setText(u"Greek") + self.actiondefault_language_at_startup = QAction(MainWindow) + self.actiondefault_language_at_startup.setObjectName(u"actiondefault_language_at_startup") self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.gridLayout = QGridLayout(self.centralwidget) @@ -333,14 +335,15 @@ def setupUi(self, MainWindow): self.translationEngineMenu.addAction(self.engineSettings) self.translationEngineMenu.addAction(self.customEngineSettings) self.advancedMenu.addAction(self.actionedit) + self.advancedMenu.addAction(self.actionone_key_translate) + self.advancedMenu.addAction(self.actionunpack_game) self.advancedMenu.addAction(self.actionruntime_extraction) self.advancedMenu.addAction(self.actionofficial_extraction) self.advancedMenu.addAction(self.actionextract_translation) - self.advancedMenu.addAction(self.actionadd_change_langauge_entrance) self.advancedMenu.addAction(self.actionreplace_font) - self.advancedMenu.addAction(self.actionunpack_game) + self.advancedMenu.addAction(self.actionadd_change_langauge_entrance) + self.advancedMenu.addAction(self.actiondefault_language_at_startup) self.advancedMenu.addSeparator() - self.advancedMenu.addAction(self.actionone_key_translate) self.advancedMenu.addAction(self.actionpack_game_files) self.advancedMenu.addAction(self.actionconvert_txt_to_html) self.menulanguage.addAction(self.actionArabic) @@ -400,6 +403,7 @@ def retranslateUi(self, MainWindow): self.actionofficial_extraction.setText(QCoreApplication.translate("MainWindow", u"official extraction", None)) self.actionconvert_txt_to_html.setText(QCoreApplication.translate("MainWindow", u"convert txt to html", None)) 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.copyrightLabel.setText(QCoreApplication.translate("MainWindow", u"\u00a92024 Last moment,All rights reserved.", None)) self.clearLogBtn.setText(QCoreApplication.translate("MainWindow", u"clear log", None)) self.translateBtn.setText(QCoreApplication.translate("MainWindow", u"translate", None)) diff --git a/src/ui.ui b/src/ui.ui index 99f997f..aec9bd4 100644 --- a/src/ui.ui +++ b/src/ui.ui @@ -545,14 +545,15 @@ advanced options + + - - + + - @@ -851,6 +852,11 @@ Greek + + + set default language at startup + +