Hi guys, I was having a deep look today at Locale, LanguageEnvironment and EncodedCharset with the objective of understanding it and see how we can organize it better.
As I saw, in almost all cases, it happened that the locale and language environment are only used to get the current system's encoding. Even, it is not that the system's encoding is obtained from the system's configuration but guessed. Also, I saw that the usage of leadingCharacter is very limited in the image and I'd say that most of the time we would not be using it: we will be using unicode. I proposed in the issue tracker a change in three steps that cleans up this: - Cleaning Locale's API ( https://pharo.fogbugz.com/f/cases/16379/Cleanup-Locale-API) - Fix users to make use of this new API ( https://pharo.fogbugz.com/f/cases/16380/Make-use-of-new-Locale-API) - Remove old unused code ( https://pharo.fogbugz.com/f/cases/16381/Removed-unused-Locale-code) I know that with this change we lose temporarily the ability to use other language environments (like greek or japanese), and thus, change to other system encodings that are not UTF8/16/32. However, I believe that we should not 'guess' the system converter from the system language but to ask the system the encoding it is using. And this should maybe be added as a primitive (as the others already existing in the Locale class for example). If somebody could review these issues or has some comment on something that I should not be aware of, I'd be grateful :). Guille
