From 20bd14d5882eea6bda27df40aaa83cbfbaefe41d Mon Sep 17 00:00:00 2001 From: chrox Date: Sun, 8 Jun 2014 21:32:45 +0800 Subject: [PATCH] automatically set language on Android --- android/luajit-launcher | 2 +- frontend/gettext.lua | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/android/luajit-launcher b/android/luajit-launcher index 5bd850e1e..9c3178079 160000 --- a/android/luajit-launcher +++ b/android/luajit-launcher @@ -1 +1 @@ -Subproject commit 5bd850e1e57d4ceb1b867f3bc38a31a8795a9fe9 +Subproject commit 9c3178079c8c46226c74717bfc16903535b4ee14 diff --git a/frontend/gettext.lua b/frontend/gettext.lua index f098c83e8..a68e1c374 100644 --- a/frontend/gettext.lua +++ b/frontend/gettext.lua @@ -1,3 +1,4 @@ +local isAndroid, android = pcall(require, "android") local DEBUG = require("dbg") local GetText = { @@ -96,4 +97,16 @@ elseif os.getenv("LANG") then GetText.changeLang(os.getenv("LANG")) end +if isAndroid then + local ffi = require("ffi") + local buf = ffi.new("char[?]", 16) + ffi.C.AConfiguration_getLanguage(android.app.config, buf) + local lang = ffi.string(buf) + ffi.C.AConfiguration_getCountry(android.app.config, buf) + local country = ffi.string(buf) + if lang and country then + GetText.changeLang(lang.."_"..country) + end +end + return GetText