Add script to automatically merge translation wk files

This commit is contained in:
kaetemi 2014-02-08 17:36:17 +01:00
parent b7fe5153d3
commit 4a71690859
2 changed files with 113 additions and 1 deletions

View file

@ -14,4 +14,13 @@ Now run the make diff tool again, this will create the diff between the translat
Translate the diff files and remove the NOT TRANSLATED tag. Translate the diff files and remove the NOT TRANSLATED tag.
Run the merge diff tool to merge the translations in. Run the merge diff tool to merge the translations in.
----
Or the easy way:
Run make_merge_wk.py to merge in changes from work/wk to translation/wk automatically.
Run make_merge_all.py afterwards to make diffs and merge in any translated diffs automatically.

View file

@ -0,0 +1,103 @@
#!/usr/bin/python
#
# \author Jan Boon (Kaetemi)
#
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
# Copyright (C) 2014 by authors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import time, sys, os, shutil, subprocess, distutils.dir_util
sys.path.append("../configuration")
from scripts import *
from buildsite import *
from tools import *
os.chdir(TranslationDirectory)
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
printLog(log, "")
printLog(log, "-------")
printLog(log, "--- Make and merge work")
printLog(log, "-------")
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
printLog(log, "")
TranslationTools = findTool(log, ToolDirectories, TranslationToolsTool, ToolSuffix)
printLog(log, ">>> Override languages.txt <<<")
if not os.path.isfile("make_merge_wk_languages.txt"):
shutil.move("languages.txt", "make_merge_wk_languages.txt")
languagesTxt = open("languages.txt", "w")
languagesTxt.write("wk\n")
languagesTxt.close()
printLog(log, ">>> Merge diff <<<") # This is necessary, because when we crop lines, we should only do this from untranslated files
try:
subprocess.call([ TranslationTools, "merge_phrase_diff" ])
subprocess.call([ TranslationTools, "merge_clause_diff" ])
subprocess.call([ TranslationTools, "merge_words_diff" ])
subprocess.call([ TranslationTools, "merge_string_diff" ])
subprocess.call([ TranslationTools, "merge_worksheet_diff", "bot_names.txt" ])
except Exception, e:
printLog(log, "<" + processName + "> " + str(e))
printLog(log, "")
printLog(log, ">>> Make diff <<<")
try:
subprocess.call([ TranslationTools, "make_phrase_diff" ])
subprocess.call([ TranslationTools, "make_clause_diff" ])
subprocess.call([ TranslationTools, "make_words_diff" ])
subprocess.call([ TranslationTools, "make_string_diff" ])
subprocess.call([ TranslationTools, "make_worksheet_diff", "bot_names.txt" ])
except Exception, e:
printLog(log, "<" + processName + "> " + str(e))
printLog(log, ">>> Mark diffs as translated <<<")
diffFiles = os.listdir("diff")
for diffFile in diffFiles:
if "_wk_diff_" in diffFile:
printLog(log, "DIFF " + "diff/" + diffFile)
subprocess.call([ TranslationTools, "crop_lines", "diff/" + diffFile, "3" ])
printLog(log, ">>> Merge diff <<<")
try:
subprocess.call([ TranslationTools, "merge_phrase_diff" ])
subprocess.call([ TranslationTools, "merge_clause_diff" ])
subprocess.call([ TranslationTools, "merge_words_diff" ])
subprocess.call([ TranslationTools, "merge_string_diff" ])
subprocess.call([ TranslationTools, "merge_worksheet_diff", "bot_names.txt" ])
except Exception, e:
printLog(log, "<" + processName + "> " + str(e))
printLog(log, "")
printLog(log, ">>> Restore languages.txt <<<")
os.remove("languages.txt")
shutil.move("make_merge_wk_languages.txt", "languages.txt")
log.close()
if os.path.isfile("make_merge_wk.log"):
os.remove("make_merge_wk.log")
shutil.copy("log.log", "make_merge_wk_" + time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + ".log")
shutil.move("log.log", "make_merge_wk.log")
raw_input("PRESS ANY KEY TO EXIT")