Find out OS language via datestr command?
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi folks,
i wonder if the datestr command can help finding out the operating system's basic language.
I can only test the German and English version at my system via:
datestr('05/01/2000','mmmm','local')
If the result is "may", it is English. If it is "mai", it is German.
I wonder if this also works in Spanish and Swedish home countries e.g.. Who can help me find out? What local settings are respected inside the datestr command?
To be more precise: I want information about the language, which is used to display the Windows 7 startmenu-ribbon with "documents", "images", "music", "computer", "system", ... or (German): "Dokumente", "Bilder", "Musik", ...
Regards, Johannes
2 commentaires
Andreas Goser
le 5 Juin 2013
I am interested about the background of this request. In particular if this is related to Volkswagen locations in countries in Asia, there may be value to get in touch with MathWorks.
Réponse acceptée
Jan
le 4 Juin 2013
Modifié(e) : Jan
le 5 Juin 2013
What about:
get(0, 'Language')
I assume this is the way datestr() gets the information also.
[EDITED] What about the Java method:
System.getProperty("user.language")
Or perhaps (I cannot test it currently):
locale = java.util.Locale.getDefault();
language = locale.getLanguage()
3 commentaires
Jan
le 5 Juin 2013
@Johannes: You can be sure that I do not dare to answer this question. Confusions about multi-language setups build the core of the computer history. I've seen too many dialogs like:
The Windows-Explorer observed a problem.
[Ja] [Nein] [Cancel]
You have to ask the OS directly for a more reliable information about the currently active language. But remember that the user can change different formats for the date and the text of dialogs. So what exactly is "the systems basic language"?
Plus de réponses (2)
Friedrich
le 5 Juin 2013
HI,
what about:
>> java.lang.System.getProperty('user.language')
ans =
de
>> java.lang.System.getProperty('user.country')
ans =
DE
Not sure which one is needed exactly here. Could someone with an non German OS try that?
2 commentaires
Friedrich
le 5 Juin 2013
Modifié(e) : Friedrich
le 5 Juin 2013
Sorry havent seen that.
But overall that wont work because it depends on the System's Regional Settings. Just the location setting of your system wont help. When your regional setting is DE but your language is set to english you will get DE as answer from JAVA but you actually have an english language OS.
See also here:
The ONLY reliable thing on WIndows is:
>>System.Globalization.CultureInfo.CurrentUICulture.ThreeLetterWindowsLanguageName
Daniel Shub
le 4 Juin 2013
Modifié(e) : Daniel Shub
le 4 Juin 2013
You probably can, but it seems really silly to try. On Linux you can do
! echo $LANG
For Windows, I don't know an easy one line answer, but you could parse
! wmic os get locale
or
! wmic os get oslanguage
5 commentaires
Daniel Shub
le 4 Juin 2013
@Walter I believe it would work if MS Windows set a LANG variable, but in general it doesn't ...
Voir également
Catégories
En savoir plus sur Platform and License dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!