summaryrefslogtreecommitdiff
path: root/scripts/code_tools/modified_strings.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/code_tools/modified_strings.py')
-rw-r--r--scripts/code_tools/modified_strings.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/scripts/code_tools/modified_strings.py b/scripts/code_tools/modified_strings.py
index e7a9d239dc..c777fc8c0d 100644
--- a/scripts/code_tools/modified_strings.py
+++ b/scripts/code_tools/modified_strings.py
@@ -49,7 +49,7 @@ into google sheets.
If the --rev revision already contains a translation for the text, it
will be included in the spreadsheet for reference.
-
+
Normally you would want --rev_base to be the last revision to have
translations added, and --rev to be the tip of the current
project. You can find the last commit with translation work using "git log --grep INTL- | head"
@@ -162,6 +162,8 @@ def make_translation_table(mod_tree, base_tree, lang, args):
filename = mod_blob.path
if mod_blob.type == "tree": # directory, skip
continue
+ if args.files and os.path.basename(filename) not in args.files:
+ continue # process only the specified files
if args.verbose:
print(filename)
@@ -240,7 +242,7 @@ def find_deletions(mod_tree, base_tree, lang, args, f):
mod_filename = transl_filename.replace("/xui/{}/".format(lang), "/xui/{}/".format(args.base_lang))
#print("checking",transl_filename,"against",mod_filename)
try:
- mod_blob = mod_tree[mod_filename]
+ mod_blob = mod_tree[mod_filename]
except:
print(" delete file", transl_filename, file=f)
continue
@@ -255,7 +257,7 @@ def find_deletions(mod_tree, base_tree, lang, args, f):
if not elt_key in mod_dict:
if lines == 0:
print(" in file", transl_filename, file=f)
- lines += 1
+ lines += 1
print(" delete element", elt_key, file=f)
else:
transl_elt = transl_dict[elt_key]
@@ -264,14 +266,14 @@ def find_deletions(mod_tree, base_tree, lang, args, f):
if not a in mod_elt.attrib:
if lines == 0:
print(" in file", transl_filename, file=f)
- lines += 1
+ lines += 1
print(" delete attribute", a, "from", elt_key, file=f)
if transl_elt.text and (not mod_elt.text):
if lines == 0:
print(" in file", transl_filename, file=f)
- lines += 1
+ lines += 1
print(" delete text from", elt_key, file=f)
-
+
def save_translation_file(per_lang_data, aux_data, outfile):
langs = sorted(per_lang_data.keys())
@@ -308,12 +310,12 @@ def save_translation_file(per_lang_data, aux_data, outfile):
# Reference info, not for translation
for aux, data in list(aux_data.items()):
- df = pd.DataFrame(data, columns = ["Key", "Value"])
+ df = pd.DataFrame(data, columns = ["Key", "Value"])
df.to_excel(writer, index=False, sheet_name=aux)
worksheet = writer.sheets[aux]
worksheet.set_column('A:A', 50, bold_wrap_format)
worksheet.set_column('B:B', 80, wrap_format)
-
+
print("Writing", outfile)
writer.save()
@@ -325,9 +327,11 @@ if __name__ == "__main__":
parser.add_argument("--deleted", action="store_true", default = False, help="show all translated entities which don't exist in english")
parser.add_argument("--skip_spreadsheet", action="store_true", default = False, help="skip creating the translation spreadsheet")
parser.add_argument("--rev", help="revision with modified strings, default HEAD", default="HEAD")
- parser.add_argument("--rev_base", help="previous revision to compare against, default master", default="master")
+ parser.add_argument("--rev_base", help="previous revision to compare against, default main", default="main")
parser.add_argument("--base_lang", help="base language, default en (normally leave unchanged - other values are only useful for testing)", default="en")
parser.add_argument("--lang", help="target languages, or 'all_valid' or 'supported'; default is 'supported'", nargs="+", default = ["supported"])
+ parser.add_argument("--files", help='list of files to process', metavar='F', type=str, nargs='*')
+ parser.add_argument("--outfile", help='name of the output file', type=str, nargs='?', default="SL_Translations.xlsx")
args = parser.parse_args()
cwd = os.getcwd()
@@ -370,7 +374,7 @@ if __name__ == "__main__":
print("Target language(s) are", ",".join(sorted(langs)))
sys.stdout.flush()
- outfile = "SL_Translations.xlsx"
+ outfile = args.outfile
try:
f = open(outfile,"a+")
f.close()