Bonjour,
Je veux générer un projet d'installation qui permet de détecter langue du PC et de mettre à jour la langue de l'installation.
Avez-vous des tutoriels ou des propositions ?
je vous remercie!
Bonjour,
Je veux générer un projet d'installation qui permet de détecter langue du PC et de mettre à jour la langue de l'installation.
Avez-vous des tutoriels ou des propositions ?
je vous remercie!
Un code très stable que l'on avait fait dans le cadre de NTMAXTOOLS :
Tu peux rajouter les langues manquantes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 @set "NTGetLang=" @set "NTGetLangDescription=" @setlocal @set "user_language=" @call :set_reg_key_path "HKCU\Control Panel\International" @call :set_reg_key_name "sLanguage" @call :get_reg_key_value @call :get_NTGetLangDescription @endlocal& @if not "%reg_key_value%"=="" (@set "NTGetLang=%reg_key_value:~,2%" @set "NTGetLangDescription=%Description%") @echo %NTGetLang% @echo %NTGetLangDescription% @if "%NTGetLang%"=="" @call :set_internal_error error @goto:eof :set_reg_key_path @set "reg_key_path=%~1" @goto:eof :set_reg_key_name @set "reg_key_name=%~1" @goto:eof :get_reg_key_value @set /a fields=0 @for %%i in (%reg_key_name% +1) do @set /a fields+=1 @for /f "tokens=%fields%,*" %%i in ('@reg query "%reg_key_path%" /v "%reg_key_name%" 2^>nul ^|findstr /i "%reg_key_name: =.%"') do @set "reg_key_value=%%~j" @goto:eof :get_NTGetLangDescription @for /f "delims=" %%a in ('type "%~pnx0" ^|findstr /i "%reg_key_value%"') do @set %%a @call set "Description=%%%reg_key_value%%%" @goto:eof :set_internal_error @verify %~1 >nul 2>&1 @goto :eof :codes_list csy=Czech dan=Danish deu=German des=German (Swiss) dea=German (Austrian) ell=Greek ena=English (Australia) enc=English (canada) eng=English (U.K.) eni=English (Irish) enu=English (U.S.) enz=English (New Zeal.) esm=Spanish (Mexican) esn=Modern Spanish esp=Castilian Spanish fin=Finnish fra=French frb=French (Belgian) frc=French (Canadian) frs=French (Swiss) hun=Hungarian isl=Icelandic ita=Italian its=Italian (Swiss) nlb=Dutch (Belgian) nld=Dutch non=Norwegian (Nynorsk) nor=Norwegian (Bokmal) plk=Polish ptb=Portuguese (Brazilian) ptg=Portuguese rus=Russian sky=Slovak svc=Swedish trk=Turkish @goto :eof
![]()
Merci!
Vous avez travaillé avec quelle clef de registre?
Pourriez-vous me détailler l'aspect fonctionnel?
Moi je travaille avec .DEFAULT\Keyboard Layout\PreLoad dans le user et je le trouve pas très efficace parce que la valeur s'écrit une seule fois quand tu installe windows après la valeur ne change pas à chaque fois tu change de langue par défaut.
Avec mes remerciements!
Bien cordialement,
Fait juste un :
Et tu verras toutes les infos disponible sur les setting de la langue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part reg query "HKCU\Control Panel\International"
A partire de là en simplifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 @echo off set $file="%0.bat" for /f "tokens=1 delims= skip=2" %%a in ('reg query "HKCU\Control Panel\International" /v sLanguage') do call:res "%%a" exit/b :res set $Abrev=%~1 findstr /i "%$Abrev:~-3%" %$File% exit/b :codes_list csy=Czech dan=Danish deu=German des=German (Swiss) dea=German (Austrian) ell=Greek ena=English (Australia) enc=English (canada) eng=English (U.K.) eni=English (Irish) enu=English (U.S.) enz=English (New Zeal.) esm=Spanish (Mexican) esn=Modern Spanish esp=Castilian Spanish fin=Finnish fra=French frb=French (Belgian) frc=French (Canadian) frs=French (Swiss) hun=Hungarian isl=Icelandic ita=Italian its=Italian (Swiss) nlb=Dutch (Belgian) nld=Dutch non=Norwegian (Nynorsk) nor=Norwegian (Bokmal) plk=Polish ptb=Portuguese (Brazilian) ptg=Portuguese rus=Russian sky=Slovak svc=Swedish trk=Turkish
Partager