aboutsummaryrefslogtreecommitdiffstats
path: root/src/Lang.hx
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2020-03-06 06:55:44 +0300
committerRblSb <msrblsb@gmail.com>2020-03-06 19:03:23 +0300
commitf4546e9f999e2ae26ee83bc706abcd9971317afa (patch)
tree2f60f4af7e9670723a17c9f2add3e5e4ce0489d0 /src/Lang.hx
parent0ca7420ad952c0332ab36e37596b0fa53e710325 (diff)
Load only required languages on client
Diffstat (limited to 'src/Lang.hx')
-rw-r--r--src/Lang.hx12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/Lang.hx b/src/Lang.hx
index 8632812..7b7642d 100644
--- a/src/Lang.hx
+++ b/src/Lang.hx
@@ -7,13 +7,17 @@ import sys.io.File;
#else
import haxe.Http;
#end
+using Lambda;
private typedef LangMap = Map<String, String>;
class Lang {
- static final ids = ["en", "ru"];
static final langs:Map<String, LangMap> = [];
+ static var ids = ["en", "ru"];
+ #if (js && !nodejs)
+ static var lang = js.Browser.navigator.language.substr(0, 2).toLowerCase();
+ #end
static function request(path:String, callback:(data:String)->Void):Void {
#if (sys || nodejs)
@@ -26,6 +30,10 @@ class Lang {
}
public static function init(folderPath:String, ?callback:()->Void):Void {
+ #if (js && !nodejs)
+ // Filter unused languages
+ ids = ids.filter(id -> id == lang || id == "en");
+ #end
langs.clear();
var count = 0;
for (name in ids) {
@@ -50,8 +58,6 @@ class Lang {
return text == null ? key : text;
}
#else
- static var lang = js.Browser.navigator.language.substr(0, 2).toLowerCase();
-
public static function get(key:String):String {
if (langs[lang] == null) lang = "en";
final text = langs[lang][key];
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage