Fix up lex files to show in generated app

This commit is contained in:
2024-06-20 17:29:00 +01:00
parent 2d310967e1
commit 07f7954a5a
32 changed files with 773 additions and 750 deletions

View File

@@ -248,8 +248,13 @@ def get_completion(prompt):
return content_message.strip()
def get_translation(message="Hello",language="french"):
prompt = f"Translate the following text from English to {language}: {message} :suitable for use in a Server manager application"
prompt = f"""Translate the following text in triple ~~~ so that it is suitable for a server management application menu
and only return the actual translation; translate it from from English to {language} ~~~{message}~~~"""
translated_message = get_completion(prompt)
# Look for over long messages
if len(message)/len(translated_message) < 0.2:
print(f"{message} translated to {translated_message}")
quit()
return translated_message
def convert_lex_to_dict(pairs_string):
@@ -530,14 +535,22 @@ if __name__ == "__main__":
for lang_item in lang_dict:
print(f"Translating from english lex file to {lang_item['language']}")
code = lang_item["code"]
translated_dict = []
for lex_item in eng_lex_dict:
translated_text = get_translation(lex_item["text"], lang_item["language"])
translated_dict.append({"id": lex_item["id"], "text": translated_text})
print(f"Writing out lex file for {lang_item['code']}")
translated_lex_file = f"Targets/{hl('PackageName').lower()}_{code}.lex"
with open(translated_lex_file, "w") as file:
for item in translated_dict:
file.write(f"'"+item['id']+"' => '"+item['text']+"'\n")
#print(f"{item['id']} => {item['text']}\n")
# Only do it if the lex file is missing
if not os.path.exists(translated_lex_file):
translated_dict = []
for lex_item in eng_lex_dict:
# Get it from ChatGPT
translated_text = get_translation(lex_item["text"], lang_item["language"])
translated_dict.append({"id": lex_item["id"], "text": translated_text})
print(f"Writing out lex file for {lang_item['code']}")
with open(translated_lex_file, "w") as file:
for item in translated_dict:
# escape any nasties
translated_text = item['text'].replace('\\', r'\\').replace('"', r'\"').replace("'", r"\'")
line = "'"+item['id']+"' => "+'"'+translated_text+'",\n'
file.write(line)
#print(f"{item['id']} => {item['text']}\n")
else:
print(f"Skipping the creation of {translated_lex_file} as it exists already")
quit() #end of the program