MCPcopy Index your code
hub / github.com/processing/processing / Language

Class Language

app/src/processing/app/Language.java:33–380  ·  view source on GitHub ↗

Internationalization (i18n)

Source from the content-addressed store, hash-verified

31 * Internationalization (i18n)
32 */
33public class Language {
34 // Store the language information in a file separate from the preferences,
35 // because preferences need the language on load time.
36 static protected final String PREF_FILE = "language.txt";
37 static protected final File prefFile = Base.getSettingsFile(PREF_FILE);
38
39 /** Single instance of this Language class */
40 static private volatile Language instance;
41
42 /** The system language */
43 private String language;
44
45 /** Available languages */
46 private HashMap<String, String> languages;
47
48 private LanguageBundle bundle;
49
50
51 private Language() {
52 String systemLanguage = Locale.getDefault().getLanguage();
53 language = loadLanguage();
54 boolean writePrefs = false;
55
56 if (language == null) {
57 language = systemLanguage;
58 writePrefs = true;
59 }
60
61 // Set available languages
62 languages = new HashMap<String, String>();
63 for (String code : listSupported()) {
64 Locale locale = Locale.forLanguageTag(code);
65 languages.put(code, locale.getDisplayLanguage(locale));
66 }
67
68 // Set default language
69 if (!languages.containsKey(language)) {
70 language = "en";
71 writePrefs = true;
72 }
73
74 if (writePrefs) {
75 saveLanguage(language);
76 }
77
78 // Get bundle with translations (processing.app.language.PDE)
79 //bundle = ResourceBundle.getBundle(Language.FILE, new Locale(this.language), new UTF8Control());
80 try {
81 bundle = new LanguageBundle(language);
82 } catch (IOException e) {
83 e.printStackTrace();
84 }
85 }
86
87
88 static private String[] listSupported() {
89 // List of languages in alphabetical order. (Add yours here.)
90 // Also remember to add it to build/shared/lib/languages/languages.txt.

Callers

nothing calls this directly

Calls 1

getSettingsFileMethod · 0.95

Tested by

no test coverage detected