language_management.anubis
1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
* 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)
)
.