Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Lucksi
GitHub Repository: Lucksi/Mr.Holmes
Path: blob/master/GUI/Actions/Language_Controller.php
1071 views
1
<?php
2
/*ORIGINAL CREATOR: Luca Garofalo (Lucksi)
3
AUTHOR: Luca Garofalo (Lucksi)
4
Copyright (C) 2021-2023 Lucksi <[email protected]>
5
License: GNU General Public License v3.0*/
6
7
function Message($Type,$Param){
8
$Language_file = "../Language/Language.json";
9
$reader = file_get_contents($Language_file);
10
$Parser = json_decode($reader,true);
11
$Language = $Parser["Language"]["Preference"];
12
$PoPups = "../Language/Messages.json";
13
$reader = file_get_contents($PoPups);
14
$decoder = json_decode($reader,true);
15
if($Language == "Browser"){
16
$Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
17
if($Lang == "it"){
18
$Language = "Italian";
19
}
20
else if($Lang == "fr"){
21
$Language = "French";
22
}
23
else{
24
$Language = "English";
25
}
26
}
27
$Message = $decoder["{$Type}"][0]["{$Language}"]["{$Param}"];
28
return $Message;
29
}
30
31
function Total_Languages(){
32
$Dir_Name = "../Script/Language/";
33
$Files = glob($Dir_Name."*.js");
34
foreach($Files as $Content){
35
echo "\n\t\t<script src = '{$Content}'></script>";
36
}
37
echo "\n";
38
}
39
40
function List_Languages($Modality){
41
$Dir_Name = "../Script/Language/";
42
$Files = glob($Dir_Name."*.js");
43
foreach($Files as $Content){
44
$new = str_replace("../Script/Language/","",$Content);
45
$name = str_replace(".js","",$new);
46
if ($name == "Italian"){
47
$finalname = "Italiano";
48
}
49
else if ($name == "French"){
50
$finalname = "Français";
51
}
52
else{
53
$finalname = $name;
54
}
55
$action = str_replace(".js",$Modality,$new);
56
echo "<a onclick='{$action}'>$finalname</a>\n\t\t\t\t";
57
}
58
echo "\n";
59
}
60
61
function Get_Screen_size($Modality,$Lang){
62
if ($Modality == "Login" || $Modality == "SelectGrpah" || $Modality == "Graph"){
63
echo "<body onload = {$Lang}_{$Modality}()>\n";
64
}
65
else{
66
echo "
67
<script>
68
if(screen.width > 711){
69
document.write('<body onload = {$Lang}_{$Modality}()>');
70
}
71
else{
72
document.write('<body onload = {$Lang}_{$Modality}_Mobile()>');
73
}
74
</script>\n";
75
}
76
}
77
78
function Get_Language($Modality){
79
$Language_file = "../Language/Language.json";
80
if (file_exists($Language_file)){
81
$reader = file_get_contents($Language_file);
82
$Parser = json_decode($reader,true);
83
$Language = $Parser["Language"]["Preference"];
84
$LangFile = "../Script/Language/{$Language}.js";
85
if($Language == "Browser"){
86
$Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
87
if($Lang == "it"){
88
Get_Screen_size($Modality,"Italian");
89
}
90
else if($Lang == "fr"){
91
Get_Screen_size($Modality,"French");
92
}
93
else{
94
Get_Screen_size($Modality,"English");
95
}
96
Get_Screen_size($Modality,$Lang);
97
}
98
else{
99
if (file_exists($LangFile)){
100
$Lang = $Language;
101
Get_Screen_size($Modality,$Lang);
102
}
103
else {
104
$Lang = "English";
105
Get_Screen_size($Modality,$Lang);
106
echo "
107
<script>
108
alert('LANGUAGE NOT FOUND SET ENGLISH BY DEFAULT...');
109
</script>";
110
echo "\n";
111
}
112
}
113
}
114
else {
115
echo "<script>
116
alert('INTERNAL ERROR MISSING: Languages/Language.json EXIT SESSION');
117
</script>";
118
exit(0);
119
}
120
return $Language;
121
}
122
?>
123
124