Commit 068d794002eebc966981493bc3a54dd6b4ab48d6
1 parent
e4322160
add L3 web controller
Showing
1 changed file
with
40 additions
and
10 deletions
Show diff stats
web_controllers/language/language_management.anubis
| @@ -6,31 +6,61 @@ | @@ -6,31 +6,61 @@ | ||
| 6 | * © David RENÉ | 6 | * © David RENÉ |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | +read system/logger.anubis | ||
| 9 | read locale/L3.anubis | 10 | read locale/L3.anubis |
| 11 | +read locale/L3LanguageInfo.anubis | ||
| 12 | +read xlib/web/types/controllers_web_site.anubis | ||
| 10 | read xlib/web/CXM_web_session.anubis | 13 | read xlib/web/CXM_web_session.anubis |
| 11 | -read app/app_loggers.anubis | 14 | + |
| 12 | 15 | ||
| 13 | public define String default_language = "en". | 16 | public define String default_language = "en". |
| 14 | 17 | ||
| 15 | public define (String symbolic_name) -> String | 18 | public define (String symbolic_name) -> String |
| 16 | make_translate_function | 19 | make_translate_function |
| 17 | ( | 20 | ( |
| 18 | - WEB_Session _session | 21 | + WEB_Session _session, |
| 22 | + (LogLevel, String) -> One logger | ||
| 19 | ) = | 23 | ) = |
| 20 | with lang = _session.language, | 24 | with lang = _session.language, |
| 21 | app_dictionnary = get_String(_session.fields, "AWS_CURRENT_DICTIONARY", ""), | 25 | app_dictionnary = get_String(_session.fields, "AWS_CURRENT_DICTIONARY", ""), |
| 22 | if l3_load_base(app_dictionnary) is | 26 | if l3_load_base(app_dictionnary) is |
| 23 | { | 27 | { |
| 24 | - failure then logError(debug_log,"Can't load translation dictionnary for '"+app_dictionnary+"'"); | ||
| 25 | - (String symbolic_name) |-> "<" + symbolic_name + ">", | ||
| 26 | - success(L3 local) then | 28 | + failure then |
| 29 | + logger(logError, "Can't load translation dictionnary for '"+app_dictionnary+"'"); | ||
| 30 | + (String symbolic_name) |-> "<" + symbolic_name + ">", | ||
| 27 | 31 | ||
| 28 | - //now we set the current language | ||
| 29 | - with _l3_object = l3_set_current(local, lang), | 32 | + success(L3 local) then |
| 33 | + //now we set the current language | ||
| 34 | + with _l3_object = l3_set_current(local, lang), | ||
| 30 | l3_object = l3_set_default(_l3_object, default_language), | 35 | l3_object = l3_set_default(_l3_object, default_language), |
| 31 | if lang = "symb" then | 36 | if lang = "symb" then |
| 32 | - (String symbolic_name) |-> "[" + l3_get_text(l3_object, symbolic_name) + "]" | ||
| 33 | - else | ||
| 34 | - (String symbolic_name) |-> l3_get_text(l3_object, symbolic_name) | 37 | + (String symbolic_name) |-> "[" + l3_get_text(l3_object, symbolic_name) + "]" |
| 38 | + else | ||
| 39 | + (String symbolic_name) |-> l3_get_text(l3_object, symbolic_name) | ||
| 35 | } | 40 | } |
| 36 | . | 41 | . |
| 42 | + | ||
| 43 | +public define (String symbolic_name) -> String | ||
| 44 | + make_translate_function | ||
| 45 | + ( | ||
| 46 | + WEB_Session _session | ||
| 47 | + ) = | ||
| 48 | + make_translate_function(_session, (LogLevel level, String txt) |-> println(txt)) | ||
| 49 | +. | ||
| 50 | + | ||
| 51 | + | ||
| 52 | +public define List((List(CoreAttrs),WebArgValue, String)) | ||
| 53 | + language_list_for_combo | ||
| 54 | + ( | ||
| 55 | + String dictionary_collection_name //means application name | ||
| 56 | + ) | ||
| 57 | + = | ||
| 58 | + map((L3LangDicProperty dico_prop) | ||
| 59 | + |-> | ||
| 60 | + since dico_prop is l3LangDicProperty( _, _, lang_code, _, _, _), | ||
| 61 | + with lang_info = l3_get_language_info(lang_code), | ||
| 62 | + ((List(CoreAttrs))[], wav(lang_code), self_name(lang_info)) | ||
| 63 | + , | ||
| 64 | + l3_get_all_dicos(dictionary_collection_name) | ||
| 65 | + ) | ||
| 66 | +. |