Add support for external translation tools (#968)

* Make some minor translation fixes
* Remove crowdin file and add import function for crowdin zip file
* Rename fallback project lang file to en_GB
* Update all i18n files from crowdin exports
* Fix tests
* Update docs
This commit is contained in:
Veronica Berglyd Olsen
2022-01-18 19:17:20 +01:00
committed by GitHub
parent 537bf921d2
commit 25038e6cbb
29 changed files with 23239 additions and 23300 deletions
+105
View File
@@ -0,0 +1,105 @@
{
"Synopsis": "Synopsis",
"Comment": "Comment",
"Notes": "Notes",
"0": "Zero",
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"10": "Ten",
"11": "Eleven",
"12": "Twelve",
"13": "Thirteen",
"14": "Fourteen",
"15": "Fifteen",
"16": "Sixteen",
"17": "Seventeen",
"18": "Eighteen",
"19": "Nineteen",
"20": "Twenty",
"21": "Twenty-One",
"22": "Twenty-Two",
"23": "Twenty-Three",
"24": "Twenty-Four",
"25": "Twenty-Five",
"26": "Twenty-Six",
"27": "Twenty-Seven",
"28": "Twenty-Eight",
"29": "Twenty-Nine",
"30": "Thirty",
"31": "Thirty-One",
"32": "Thirty-Two",
"33": "Thirty-Three",
"34": "Thirty-Four",
"35": "Thirty-Five",
"36": "Thirty-Six",
"37": "Thirty-Seven",
"38": "Thirty-Eight",
"39": "Thirty-Nine",
"40": "Forty",
"41": "Forty-One",
"42": "Forty-Two",
"43": "Forty-Three",
"44": "Forty-Four",
"45": "Forty-Five",
"46": "Forty-Six",
"47": "Forty-Seven",
"48": "Forty-Eight",
"49": "Forty-Nine",
"50": "Fifty",
"51": "Fifty-One",
"52": "Fifty-Two",
"53": "Fifty-Three",
"54": "Fifty-Four",
"55": "Fifty-Five",
"56": "Fifty-Six",
"57": "Fifty-Seven",
"58": "Fifty-Eight",
"59": "Fifty-Nine",
"60": "Sixty",
"61": "Sixty-One",
"62": "Sixty-Two",
"63": "Sixty-Three",
"64": "Sixty-Four",
"65": "Sixty-Five",
"66": "Sixty-Six",
"67": "Sixty-Seven",
"68": "Sixty-Eight",
"69": "Sixty-Nine",
"70": "Seventy",
"71": "Seventy-One",
"72": "Seventy-Two",
"73": "Seventy-Three",
"74": "Seventy-Four",
"75": "Seventy-Five",
"76": "Seventy-Six",
"77": "Seventy-Seven",
"78": "Seventy-Eight",
"79": "Seventy-Nine",
"80": "Eighty",
"81": "Eighty-One",
"82": "Eighty-Two",
"83": "Eighty-Three",
"84": "Eighty-Four",
"85": "Eighty-Five",
"86": "Eighty-Six",
"87": "Eighty-Seven",
"88": "Eighty-Eight",
"89": "Eighty-Nine",
"90": "Ninety",
"91": "Ninety-One",
"92": "Ninety-Two",
"93": "Ninety-Three",
"94": "Ninety-Four",
"95": "Ninety-Five",
"96": "Ninety-Six",
"97": "Ninety-Seven",
"98": "Ninety-Eight",
"99": "Ninety-Nine"
}
+1 -1
View File
@@ -32,7 +32,7 @@
"27": "二十七",
"28": "二十八",
"29": "二十九",
"30": "三十",
"30": "三十",
"31": "三十一",
"32": "三十二",
"33": "三十三",
+2 -2
View File
@@ -396,7 +396,7 @@ class Config:
elif lngSet == self.LANG_PROJ:
fPre = "project_"
fExt = ".json"
langList = {"en": "English"}
langList = {"en_GB": QLocale("en_GB").nativeLanguageName().title()}
else:
return []
@@ -407,7 +407,7 @@ class Config:
continue
qmLang = qmFile[len(fPre):-len(fExt)]
qmName = QLocale(qmLang).nativeLanguageName().title()
if qmLang and qmName and qmLang != "en":
if qmLang and qmName and qmLang != "en_GB":
langList[qmLang] = qmName
return sorted(langList.items(), key=lambda x: x[0])
+5 -11
View File
@@ -1242,20 +1242,14 @@ class NWProject():
self.langData = {}
return False
lngShort = self.projLang.split("_")[0]
loadFile = os.path.join(self.mainConf.nwLangPath, "project_en.json")
chkFile1 = os.path.join(self.mainConf.nwLangPath, "project_%s.json" % self.projLang)
chkFile2 = os.path.join(self.mainConf.nwLangPath, "project_%s.json" % lngShort)
if os.path.isfile(chkFile1):
loadFile = chkFile1
elif os.path.isfile(chkFile2):
loadFile = chkFile2
langFile = os.path.join(self.mainConf.nwLangPath, "project_%s.json" % self.projLang)
if not os.path.isfile(langFile):
langFile = os.path.join(self.mainConf.nwLangPath, "project_en_GB.json")
try:
with open(loadFile, mode="r", encoding="utf-8") as inFile:
with open(langFile, mode="r", encoding="utf-8") as inFile:
self.langData = json.load(inFile)
logger.debug("Loaded project language file: %s", os.path.basename(loadFile))
logger.debug("Loaded project language file: %s", os.path.basename(langFile))
except Exception:
logger.error("Failed to project language file")
+1 -1
View File
@@ -479,7 +479,7 @@ class GuiDocEditor(QTextEdit):
self.tr("File Changed on Disk"),
self.tr(
"This document has been changed outside of novelWriter "
"while it was open. Overvrite the file on disk?"
"while it was open. Overwrite the file on disk?"
)
)
if msgYes:
+1 -1
View File
@@ -1351,7 +1351,7 @@ class GuiBuildNovelDocView(QTextBrowser):
else:
strBuildTime = self.tr("Unknown")
self.theTitle.setText(self.tr("<b>Build Time:</b> {0}").format(strBuildTime))
self.theTitle.setText("%s %s" % (self.tr("Build Time:"), strBuildTime))
return