From cdc104b7e9fcb978956b06dea539f8c4ad3c2cdd Mon Sep 17 00:00:00 2001 From: totoro Date: Mon, 13 Mar 2023 15:01:20 +0100 Subject: [PATCH] [+] add many function to be able to translate with different dictionary of the application. For example countries dictionary is not a part of an application because it can be use in many applications. --- web_controllers/language/language_management.anubis | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 5 deletions(-) diff --git a/web_controllers/language/language_management.anubis b/web_controllers/language/language_management.anubis index 3dfea1c..6f8a2f1 100644 --- a/web_controllers/language/language_management.anubis +++ b/web_controllers/language/language_management.anubis @@ -28,7 +28,7 @@ public define (String symbolic_name) -> String if l3_load_base(dictionary_collection_name) is { failure then - logger(logError, "Can't load translation dictionnary for '"+dictionary_collection_name+"'"); + logger(logError, "Can't load translation dictionary for '"+dictionary_collection_name+"'"); (String symbolic_name) |-> "<" + symbolic_name + ">", success(L3 local) then @@ -41,6 +41,29 @@ public define (String symbolic_name) -> String (String symbolic_name) |-> l3_get_text(l3_object, symbolic_name) } . + +public define (String symbolic_name) -> String + make_translate_function_for_lang + ( + WEB_Session _session, + String lang, + (LogLevel, String) -> One logger + ) = + with app_dictionary = get_String(_session.fields, "AWS_CURRENT_DICTIONARY", ""), + make_translate_function(app_dictionary, lang, logger) +. + +public define (String symbolic_name) -> String + make_translate_function_for_lang + ( + WEB_Session _session, + String lang + ) = + with app_dictionary = get_String(_session.fields, "AWS_CURRENT_DICTIONARY", ""), + make_translate_function(app_dictionary, lang, (LogLevel level, String txt) |-> println(txt)) +. + + public define (String symbolic_name) -> String make_translate_function ( @@ -48,9 +71,9 @@ public define (String symbolic_name) -> String (LogLevel, String) -> One logger ) = with lang = _session.language, - app_dictionnary = get_String(_session.fields, "AWS_CURRENT_DICTIONARY", ""), - - make_translate_function(app_dictionnary, lang, logger) + app_dictionary = get_String(_session.fields, "AWS_CURRENT_DICTIONARY", ""), + + make_translate_function(app_dictionary, lang, logger) . public define (String symbolic_name) -> String @@ -62,7 +85,18 @@ public define (String symbolic_name) -> String . public define (String symbolic_name) -> String - make_translate_function + make_translate_function_for_dictionary + ( + WEB_Session _session, + String dictionary_collection_name, + (LogLevel, String) -> One logger + ) = + with lang = _session.language, + make_translate_function(dictionary_collection_name, lang, logger) +. + +public define (String symbolic_name) -> String + make_translate_function_for_dictionary ( WEB_Session _session, String dictionary_collection_name, @@ -81,6 +115,27 @@ public define (String symbolic_name, List((String, String)) list_key_value) -> S find_and_replace_dict(translated_sentence, list_key_value) . +public define (String symbolic_name, List((String, String)) list_key_value) -> String + make_translate_with_key_value_function_for_lang + ( + WEB_Session _session, + String lang, + ) = + (String symbolic_name, List((String, String)) list_key_value) |-> + with translated_sentence = make_translate_function_for_lang(_session, lang)(symbolic_name), + find_and_replace_dict(translated_sentence, list_key_value) +. + +public define (String symbolic_name, List((String, String)) list_key_value) -> String + make_translate_with_key_value_function_for_dictionary + ( + WEB_Session _session, + String dictionary_collection_name, + ) = + (String symbolic_name, List((String, String)) list_key_value) |-> + with translated_sentence = make_translate_function_for_dictionary(_session, dictionary_collection_name)(symbolic_name), + find_and_replace_dict(translated_sentence, list_key_value) +. public define List((List(CoreAttrs),WebArgValue, String)) language_list_for_combo -- libgit2 0.21.4