Avatar billede ladyhawke Novice
28. september 2004 - 13:58 Der er 7 kommentarer og
1 løsning

Windows sprog?

Hvordan får man fat i hvilket sprog i windows en bruger har?
Jeg vil gerne skifte nogles trenge baseret på sprog så jeg f.eks. kan skrive noget i retning af:

if ("en") // engelsk version
{
  test="English string";
}
if ("da")
....

(kunne self. også væren en switch)
Avatar billede dilleberg Nybegynder
28. september 2004 - 17:50 #1
// Sproginformation iflg
//  Control Panel | Regional Options | General
// Platform Windows 2000
// Format:
// locale "lang[_country_region[.code_page]]"
//  | ".code_page"
//  | ""
//  | NULL
// Eksempeler på output:
//  'Danish_Denmark.1252'
//  'Swahili_Kenya.1252'

#include <stdio.h>
#include <string.h>
#include <locale.h>

int main(int argc, char* argv[])
{
  // Get current locale name
  char szLocaleSave[1024] = "";
  char* szBuffer = setlocale(LC_ALL,NULL);
  if (szBuffer != NULL)
    strcpy(szLocaleSave,szBuffer);

  // Set locale to regional settings
  szBuffer = setlocale(LC_ALL,"");
  if (szBuffer != NULL)
    printf("'%s'\n",szBuffer);

  // Restore locale
  setlocale(LC_ALL,szLocaleSave);

  return 0;
}
Avatar billede ladyhawke Novice
28. september 2004 - 18:05 #2
nu står der 2000 platform. Betyder det at det kun virker på XP/2000? Det jeg laver nu skal helst køre på 9x/me/NT/XP og 2000...
Avatar billede dilleberg Nybegynder
28. september 2004 - 18:06 #3
Det er bare hvad jeg har testet det på.
Mener det fungerer på alle Windows versioner.

db
Avatar billede bertelbrander Novice
28. september 2004 - 23:29 #4
Avatar billede ladyhawke Novice
29. september 2004 - 10:45 #5
Jeg har oså selv fundet en funktion: GetUserDefaultLangID(), men mangler så at konvertere den til en streng, så jeg kan læse en streng fra en fil, som jeg kan bruge til at sprogversionere med...

dilleberg>> kan metoden tilpasse til at gøre ovenstående?

F.eks. læser jeg en streng: string langStrFromIniFile = "en" (eller en passende streng afhængigt af hvad der kan konverteres til en indbygget værdi for sprog)

if (langStrFromIniFile == Converted_language_identifier_for_english)
{
  //konvertér alle strenge til engelsk...

}
Avatar billede ladyhawke Novice
04. oktober 2004 - 11:43 #6
Har godt nok ikke fået svar på sidste del, men kan i ikke lægge et svar begge 2, så lukker jeg bagefter
Avatar billede ladyhawke Novice
07. oktober 2004 - 08:35 #7
lukker spørgsmålet hvis der ikke er blevet svaret i dag...
Avatar billede ladyhawke Novice
13. oktober 2004 - 08:57 #8
ok, så lukker jeg
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester