/* * Created by PyramIDE. * User: フランスのトトロ aka (David RENÉ) * Date: 17/04/2020 * Time: 15:00 * © David RENÉ */ read system/logger.anubis read locale/L3.anubis read locale/L3LanguageInfo.anubis read xlib/web/types/controllers_web_site.anubis read xlib/web/CXM_web_session.anubis public define String default_language = "en". public define (String symbolic_name) -> String make_translate_function ( WEB_Session _session, (LogLevel, String) -> One logger ) = with lang = _session.language, app_dictionnary = get_String(_session.fields, "AWS_CURRENT_DICTIONARY", ""), if l3_load_base(app_dictionnary) is { failure then logger(logError, "Can't load translation dictionnary for '"+app_dictionnary+"'"); (String symbolic_name) |-> "<" + symbolic_name + ">", success(L3 local) then //now we set the current language with _l3_object = l3_set_current(local, lang), l3_object = l3_set_default(_l3_object, default_language), if lang = "symb" then (String symbolic_name) |-> "[" + l3_get_text(l3_object, symbolic_name) + "]" else (String symbolic_name) |-> l3_get_text(l3_object, symbolic_name) } . public define (String symbolic_name) -> String make_translate_function ( WEB_Session _session ) = make_translate_function(_session, (LogLevel level, String txt) |-> println(txt)) . public define List((List(CoreAttrs),WebArgValue, String)) language_list_for_combo ( String dictionary_collection_name //means application name ) = map((L3LangDicProperty dico_prop) |-> since dico_prop is l3LangDicProperty( _, _, lang_code, _, _, _), with lang_info = l3_get_language_info(lang_code), ((List(CoreAttrs))[], wav(lang_code), self_name(lang_info)) , l3_get_all_dicos(dictionary_collection_name) ) .