diff --git a/app/src/main/java/com/limelight/AppView.java b/app/src/main/java/com/limelight/AppView.java
index f73436e0..2d3241c5 100644
--- a/app/src/main/java/com/limelight/AppView.java
+++ b/app/src/main/java/com/limelight/AppView.java
@@ -51,6 +51,15 @@ public class AppView extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ String locale = prefs.getString("list_languages", "default");
+ if (!locale.equals("default")) {
+ Configuration config = new Configuration(getResources().getConfiguration());
+ config.locale = new Locale(locale);
+ getResources().updateConfiguration(config, getResources().getDisplayMetrics());
+ }
+
setContentView(R.layout.activity_app_view);
UiHelper.notifyNewRootView(this);
diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java
index 0fd0c028..a3300a52 100644
--- a/app/src/main/java/com/limelight/Game.java
+++ b/app/src/main/java/com/limelight/Game.java
@@ -87,6 +87,14 @@ public class Game extends Activity implements SurfaceHolder.Callback,
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ String locale = prefs.getString("list_languages", "default");
+ if (!locale.equals("default")) {
+ Configuration config = new Configuration(getResources().getConfiguration());
+ config.locale = new Locale(locale);
+ getResources().updateConfiguration(config, getResources().getDisplayMetrics());
+ }
+
// We don't want a title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
diff --git a/app/src/main/java/com/limelight/PcView.java b/app/src/main/java/com/limelight/PcView.java
index 2b12f9f2..d2417850 100644
--- a/app/src/main/java/com/limelight/PcView.java
+++ b/app/src/main/java/com/limelight/PcView.java
@@ -151,6 +151,14 @@ public class PcView extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ String locale = prefs.getString("list_languages", "default");
+ if (!locale.equals("default")) {
+ Configuration config = new Configuration(getResources().getConfiguration());
+ config.locale = new Locale(locale);
+ getResources().updateConfiguration(config, getResources().getDisplayMetrics());
+ }
+
// Bind to the computer manager service
bindService(new Intent(PcView.this, ComputerManagerService.class), serviceConnection,
Service.BIND_AUTO_CREATE);
diff --git a/app/src/main/java/com/limelight/preferences/AddComputerManually.java b/app/src/main/java/com/limelight/preferences/AddComputerManually.java
index 9e8b1584..0ce8a42b 100644
--- a/app/src/main/java/com/limelight/preferences/AddComputerManually.java
+++ b/app/src/main/java/com/limelight/preferences/AddComputerManually.java
@@ -132,6 +132,14 @@ public class AddComputerManually extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ String locale = prefs.getString("list_languages", "default");
+ if (!locale.equals("default")) {
+ Configuration config = new Configuration(getResources().getConfiguration());
+ config.locale = new Locale(locale);
+ getResources().updateConfiguration(config, getResources().getDisplayMetrics());
+ }
+
setContentView(R.layout.activity_add_computer_manually);
UiHelper.notifyNewRootView(this);
diff --git a/app/src/main/java/com/limelight/preferences/StreamSettings.java b/app/src/main/java/com/limelight/preferences/StreamSettings.java
index bf7243f2..b6e2a0e2 100644
--- a/app/src/main/java/com/limelight/preferences/StreamSettings.java
+++ b/app/src/main/java/com/limelight/preferences/StreamSettings.java
@@ -14,6 +14,14 @@ public class StreamSettings extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ String locale = prefs.getString("list_languages", "default");
+ if (!locale.equals("default")) {
+ Configuration config = new Configuration(getResources().getConfiguration());
+ config.locale = new Locale(locale);
+ getResources().updateConfiguration(config, getResources().getDisplayMetrics());
+ }
setContentView(R.layout.activity_stream_settings);
getFragmentManager().beginTransaction().replace(
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 75a12f40..70cea328 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -89,6 +89,8 @@
Forza video in full-screen
Disabilita i messaggi di warning
Disabilita i messaggi di warning sullo schermo durante lo streaming
+ Lingua
+ Lingua da usare in Limelight
Impostazioni Gamepad
Aggiusta deadzone degli stick analogici
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 73df0415..44a32405 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -13,6 +13,17 @@
- 1080p60
+
+ - Default
+ - English
+ - Italiano
+
+
+ - default
+ - en
+ - it
+
+
- Auto-select Decoder
- Force Software Decoding
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ccd9898e..9ad82bd1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -89,6 +89,8 @@
Stretch video to full-screen
Disable warning messages
Disable on-screen connection warning messages while streaming
+ Language
+ Language to use for Limelight
Gamepad Settings
Adjust analog stick deadzone
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index ce2c037a..80d348aa 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -25,6 +25,13 @@
android:title="@string/title_checkbox_disable_warnings"
android:summary="@string/summary_checkbox_disable_warnings"
android:defaultValue="false" />
+