Fix up lex files to show in generated app
This commit is contained in:
35
sm2gen.py
35
sm2gen.py
@@ -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
|
||||
|
Reference in New Issue
Block a user