AbstractOperatingSystem.st
branchjv
changeset 23091 817fd8c6e4c5
parent 21784 d58698c455c1
child 23107 40173e082cbc
--- a/AbstractOperatingSystem.st	Sat Oct 28 21:47:57 2017 +0100
+++ b/AbstractOperatingSystem.st	Sun Nov 19 14:58:45 2017 -0300
@@ -16,7 +16,8 @@
 Object subclass:#AbstractOperatingSystem
 	instanceVariableNames:''
 	classVariableNames:'ConcreteClass ErrorSignal LastErrorNumber LocaleInfo OSSignals
-		PipeFailed Resources'
+		PipeFailed Resources Language LanguageTerritory LanguageModifier
+		LanguageCodeset'
 	poolDictionaries:''
 	category:'System-Support'
 !
@@ -247,6 +248,14 @@
 
 initializeConcreteClass
     OperatingSystem := ConcreteClass := self getConcreteClass.
+!
+
+initializeLocale
+    "Initializes locale variables (Language, LanguageTerritory an so on)"
+
+    self subclassResponsibility
+
+    "Created: / 19-11-2017 / 14:53:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !AbstractOperatingSystem class methodsFor:'OS signal constants'!
@@ -4356,9 +4365,21 @@
 !
 
 getLanguage
-    "get the LANGUAGE setting (example: de_DE.iso8859-15@euro)"
-
-    ^ self getEnvironment:'LANG'.
+    Language isNil ifTrue:[ 
+        self initializeLocale.
+    ].
+    ^ Language
+
+    "Created: / 19-11-2017 / 14:21:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+getLanguageTerritory
+    LanguageTerritory isNil ifTrue:[ 
+        self initializeLocale.
+    ].   
+    ^ LanguageTerritory
+
+    "Created: / 19-11-2017 / 14:22:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 getLocaleInfo