3636public class Language {
3737 static private final String FILE = "processing.app.languages.PDE" ;
3838 static private final String LISTING = "processing/app/languages/languages.txt" ;
39+ static protected final String PREF = "language" ;
3940
4041 /** Single instance of this Language class */
4142 static private Language instance = null ;
@@ -50,9 +51,15 @@ public class Language {
5051
5152
5253 private Language () {
53- // Get system language
54- this .language = Locale .getDefault ().getLanguage ();
55-
54+ String systemLanguage = Locale .getDefault ().getLanguage ();
55+ String language = Preferences .get (PREF );
56+ boolean writePrefs = false ;
57+
58+ if (language == null ) {
59+ language = systemLanguage ;
60+ writePrefs = true ;
61+ }
62+
5663 // Set available languages
5764 languages = new HashMap <String , String >();
5865 for (String code : listSupported ()) {
@@ -62,22 +69,27 @@ private Language() {
6269 // Set default language
6370 if (!languages .containsKey (language )) {
6471 language = "en" ;
72+ writePrefs = true ;
6573 }
6674
67- // Get saved language
68- try {
69- File file = Base .getContentFile ("lib/language.txt" );
70- if (file .exists ()) {
71- String language = PApplet .loadStrings (file )[0 ];
72- language = language .trim ().toLowerCase ();
73- if (!language .equals ("" )) {
74- this .language = language ;
75- } else {
76- Base .saveFile (this .language , file );
77- }
78- }
79- } catch (Exception e ) {
80- e .printStackTrace ();
75+ // // Get saved language
76+ // try {
77+ // File file = Base.getSettingsFile("language.txt");
78+ // if (file.exists()) {
79+ // String language = PApplet.loadStrings(file)[0];
80+ // language = language.trim().toLowerCase();
81+ // if (!language.equals("")) {
82+ // this.language = language;
83+ // } else {
84+ // Base.saveFile(this.language, file);
85+ // }
86+ // }
87+ // } catch (Exception e) {
88+ // e.printStackTrace();
89+ // }
90+
91+ if (writePrefs ) {
92+ Preferences .save ();
8193 }
8294
8395 // Get bundle with translations (processing.app.language.PDE)
@@ -86,7 +98,7 @@ private Language() {
8698
8799
88100 String [] listSupported () {
89- // // List of languages in alphabetical order. New additions go here.
101+ // // Old list of languages in alphabetical order.
90102// final String[] SUPPORTED = {
91103// "de", // de, German, Deutsch
92104// "en", // en, English, English
@@ -140,15 +152,15 @@ static public String getLanguage() {
140152 }
141153
142154
143- /** Set new language */
144- static public void setLanguage (String language ) {
145- try {
146- File file = Base .getContentFile ("lib/language.txt" );
147- Base .saveFile (language , file );
148- } catch (Exception e ) {
149- e .printStackTrace ();
150- }
151- }
155+ // /** Set new language */
156+ // static public void setLanguage(String language) {
157+ // try {
158+ // File file = Base.getContentFile("lib/language.txt");
159+ // Base.saveFile(language, file);
160+ // } catch (Exception e) {
161+ // e.printStackTrace();
162+ // }
163+ // }
152164
153165
154166 /**
0 commit comments