mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Android: Add Language selector in Settings
This commit is contained in:
42
forge-gui-mobile/src/forge/assets/FLanguage.java
Normal file
42
forge-gui-mobile/src/forge/assets/FLanguage.java
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
package forge.assets;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.files.FileHandle;
|
||||||
|
import forge.model.FModel;
|
||||||
|
import forge.properties.ForgeConstants;
|
||||||
|
import forge.properties.ForgePreferences;
|
||||||
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class FLanguage {
|
||||||
|
|
||||||
|
public static void changeLanguage(final String languageName) {
|
||||||
|
final ForgePreferences prefs = FModel.getPreferences();
|
||||||
|
if (languageName.equals(prefs.getPref(FPref.UI_LANGUAGE))) { return; }
|
||||||
|
|
||||||
|
//save language preference
|
||||||
|
prefs.setPref(FPref.UI_LANGUAGE, languageName);
|
||||||
|
prefs.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the languages.
|
||||||
|
*
|
||||||
|
* @return the languages
|
||||||
|
*/
|
||||||
|
public static Iterable<String> getAllLanguages() {
|
||||||
|
final List<String> allLanguages = new ArrayList<String>();
|
||||||
|
|
||||||
|
final FileHandle dir = Gdx.files.absolute(ForgeConstants.LANG_DIR);
|
||||||
|
for (FileHandle languageFile : dir.list()) {
|
||||||
|
String languageName = languageFile.name();
|
||||||
|
if (!languageName.endsWith(".properties")) { continue; }
|
||||||
|
allLanguages.add(languageName.replace(".properties", ""));
|
||||||
|
}
|
||||||
|
|
||||||
|
return allLanguages;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import forge.Graphics;
|
|||||||
import forge.MulliganDefs;
|
import forge.MulliganDefs;
|
||||||
import forge.StaticData;
|
import forge.StaticData;
|
||||||
import forge.ai.AiProfileUtil;
|
import forge.ai.AiProfileUtil;
|
||||||
|
import forge.assets.FLanguage;
|
||||||
import forge.assets.FSkin;
|
import forge.assets.FSkin;
|
||||||
import forge.assets.FSkinColor;
|
import forge.assets.FSkinColor;
|
||||||
import forge.assets.FSkinFont;
|
import forge.assets.FSkinFont;
|
||||||
@@ -48,6 +49,14 @@ public class SettingsPage extends TabPage<SettingsScreen> {
|
|||||||
lstSettings.addGroup("Sound Options");
|
lstSettings.addGroup("Sound Options");
|
||||||
|
|
||||||
//General Settings
|
//General Settings
|
||||||
|
lstSettings.addItem(new CustomSelectSetting(FPref.UI_LANGUAGE, "Language",
|
||||||
|
"Select Language (Excluded Game part. Still a work in progress) (RESTART REQUIRED)",
|
||||||
|
FLanguage.getAllLanguages()) {
|
||||||
|
@Override
|
||||||
|
public void valueChanged(String newValue) {
|
||||||
|
FLanguage.changeLanguage(newValue);
|
||||||
|
}
|
||||||
|
}, 0);
|
||||||
lstSettings.addItem(new CustomSelectSetting(FPref.UI_SKIN, "Theme",
|
lstSettings.addItem(new CustomSelectSetting(FPref.UI_SKIN, "Theme",
|
||||||
"Sets the theme that determines how display components are skinned.",
|
"Sets the theme that determines how display components are skinned.",
|
||||||
FSkin.getAllSkins()) {
|
FSkin.getAllSkins()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user