Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Script pour la selection de la langue. AVIS
Auteur Message
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Bonjour,

J'ai fais un petit script bat pour trouver la langue de la machine sur lequel on lance mes batch.
Je poste mon script pour avoir vos avis.
Est-ce utilisable sur toutes les machines et sur toutes version de Windows?
Est ce que je peux en faire une commande externe et comment?

Code:
@ECHO off
rem je recupere le 3eme parametre d un tableau que je cree avec espace et tiret en separateur, dans mon registre language
FOR /F "tokens=3 delims=- " %%a IN ('reg query "HKCU\Control Panel\Desktop" /v PreferredUILanguages ^| FIND "PreferredUILanguages"') DO SET OSLang=%%a
rem definit une variable FichierLang definit a l'aide de OSLang
SET FichierLang=Lang-%OSLang%.ini
rem si mon fichier existe je pars compter les lignes du fichier
IF EXIST %FichierLang% goto Comptage
rem si il n'existe pas j'en definit un par defaut
IF NOT EXIST %FichierLang% SET %FichierLang%=Lang-fr.ini
:Comptage
rem je compte le nombre de ligne de mon fichier
FOR /F "delims=" %%i IN ('TYPE %FichierLang%') DO SET /A Compt+=1
:Boucle
rem definit une variable incremente de 1 a chaque passage
SET /A Count = Count + 1
rem SI %Count% est superieur a  %compt% alors aller au saut :fin
IF %Count% GTR %Compt% GOTO Fin
rem definition de la variable var qui recupere a chaque passage la variable val1, val2, etc...
SET Var="Lang%Count%"
rem definition de la variable tes qui recupere a chaque passage la variable value1, value2, etc...
SET Tes="Value%Count%"
rem recupere var de la colone 1 et tes de la colonne 2 separer par = dans le fichier .ini
FOR /F "tokens=1,2 delims==" %%i IN ('findstr /B /C:"%Var%=" %FichierLang%') do set Tes=%%j
rem definit la variable result1, result2 etc.. qui recupere Tes
SET Result%Count%=%Tes%
rem je reboucle sur boucle
GOTO Boucle
:Fin
ECHO %Result1%
ECHO %Result2%
PAUSE


Ce code fonctionne sur Windows 10, je veux juste avoir vos avis éclairé?
Et puis si ça peux servir a quelqu'un ^^

Merci a vous

Pour info le fichier Lang-fr.ini pour un pc francais

Exemple de fichier:

[titre]
Lang1=test1
[deuxieme text]
Lang2=mon deuxieme text
Lang3=autre chose etc..




______________________________________________________
La différence entre un optimiste et un pessimiste ? Aucune, mais il y en a 1 qui vit beaucoup mieux.
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Script pour la selection de la langue. AVIS 
Voici un code (très stable) que l'on avait fais avec minnesota dans le cadre de [NTMaxTools] qui peux t'intèresser :

Code:
@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


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Script pour la selection de la langue. AVIS 
sachadee a écrit:
Voici un code (très stable) que l'on avait fais avec minnesota dans le cadre de [NTMaxTools] qui peux t'intèresser :

Okay


Sympas je regarde ça pour comprendre le fonctionnement, cool

Il sert à quoi ce script à la base?
Pour gérer la langue de tes scripts?
Ou pour une autre utilisation?

Je vois pas l'utilité de mettre la liste des codes de langue et y à pas tous, il manque le chinois, le japonnais etc...
Y a une raison a cela?

Je pose trop de questions, je regarde ça je reviendrais sois en sur Okay

Merci c'est super cool de m'avoir répondu.




______________________________________________________
La différence entre un optimiste et un pessimiste ? Aucune, mais il y en a 1 qui vit beaucoup mieux.
Visiter le site web du posteur
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Pour info:

Code:
[Tableau des codes de langue systeme]
af-ZA   Afrikaans - South Africa
sq-AL   Albanian - Albania
ar-DZ   Arabic - Algeria
ar-BH   Arabic - Bahrain
ar-EG   Arabic - Egypt
ar-IQ   Arabic - Iraq
ar-JO   Arabic - Jordan
ar-KW   Arabic - Kuwait
ar-LB   Arabic - Lebanon
ar-LY   Arabic - Libya
ar-MA   Arabic - Morocco
ar-OM   Arabic - Oman
ar-QA   Arabic - Qatar
ar-SA   Arabic - Saudi Arabia
ar-SY   Arabic - Syria
ar-TN   Arabic - Tunisia
ar-AE   Arabic - United Arab Emirates
ar-YE   Arabic - Yemen
hy-AM   Armenian - Armenia
Cy-az-AZ   Azeri (Cyrillic) - Azerbaijan
Lt-az-AZ   Azeri (Latin) - Azerbaijan
eu-ES   Basque - Basque
be-BY   Belarusian - Belarus
bg-BG   Bulgarian - Bulgaria
ca-ES   Catalan - Catalan
zh-CN   Chinese - China
zh-HK   Chinese - Hong Kong SAR
zh-MO   Chinese - Macau SAR
zh-SG   Chinese - Singapore
zh-TW   Chinese - Taiwan
zh-CHS   Chinese (Simplified)
zh-CHT   Chinese (Traditional)
hr-HR   Croatian - Croatia
cs-CZ   Czech - Czech Republic
da-DK   Danish - Denmark
div-MV   Dhivehi - Maldives
nl-BE   Dutch - Belgium
nl-NL   Dutch - The Netherlands
en-AU   English - Australia
en-BZ   English - Belize
en-CA   English - Canada
en-CB   English - Caribbean
en-IE   English - Ireland
en-JM   English - Jamaica
en-NZ   English - New Zealand
en-PH   English - Philippines
en-ZA   English - South Africa
en-TT   English - Trinidad and Tobago
en-GB   English - United Kingdom
en-US   English - United States
en-ZW   English - Zimbabwe
et-EE   Estonian - Estonia
fo-FO   Faroese - Faroe Islands
fa-IR   Farsi - Iran
fi-FI   Finnish - Finland
fr-BE   French - Belgium
fr-CA   French - Canada
fr-FR   French - France
fr-LU   French - Luxembourg
fr-MC   French - Monaco
fr-CH   French - Switzerland
gl-ES   Galician - Galician
ka-GE   Georgian - Georgia
de-AT   German - Austria
de-DE   German - Germany
de-LI   German - Liechtenstein
de-LU   German - Luxembourg
de-CH   German - Switzerland
el-GR   Greek - Greece
gu-IN   Gujarati - India
he-IL   Hebrew - Israel
hi-IN   Hindi - India
hu-HU   Hungarian - Hungary
is-IS   Icelandic - Iceland
id-ID   Indonesian - Indonesia
it-IT   Italian - Italy
it-CH   Italian - Switzerland
ja-JP   Japanese - Japan
kn-IN   Kannada - India
kk-KZ   Kazakh - Kazakhstan
kok-IN   Konkani - India
ko-KR   Korean - Korea
ky-KZ   Kyrgyz - Kazakhstan
lv-LV   Latvian - Latvia
lt-LT   Lithuanian - Lithuania
mk-MK   Macedonian (FYROM)
ms-BN   Malay - Brunei
ms-MY   Malay - Malaysia
mr-IN   Marathi - India
mn-MN   Mongolian - Mongolia
nb-NO   Norwegian (Bokmål) - Norway
nn-NO   Norwegian (Nynorsk) - Norway
pl-PL   Polish - Poland
pt-BR   Portuguese - Brazil
pt-PT   Portuguese - Portugal
pa-IN   Punjabi - India
ro-RO   Romanian - Romania
ru-RU   Russian - Russia
sa-IN   Sanskrit - India
Cy-sr-SP   Serbian (Cyrillic) - Serbia
Lt-sr-SP   Serbian (Latin) - Serbia
sk-SK   Slovak - Slovakia
sl-SI   Slovenian - Slovenia
es-AR   Spanish - Argentina
es-BO   Spanish - Bolivia
es-CL   Spanish - Chile
es-CO   Spanish - Colombia
es-CR   Spanish - Costa Rica
es-DO   Spanish - Dominican Republic
es-EC   Spanish - Ecuador
es-SV   Spanish - El Salvador
es-GT   Spanish - Guatemala
es-HN   Spanish - Honduras
es-MX   Spanish - Mexico
es-NI   Spanish - Nicaragua
es-PA   Spanish - Panama
es-PY   Spanish - Paraguay
es-PE   Spanish - Peru
es-PR   Spanish - Puerto Rico
es-ES   Spanish - Spain
es-UY   Spanish - Uruguay
es-VE   Spanish - Venezuela
sw-KE   Swahili - Kenya
sv-FI   Swedish - Finland
sv-SE   Swedish - Sweden
syr-SY   Syriac - Syria
ta-IN   Tamil - India
tt-RU   Tatar - Russia
te-IN   Telugu - India
th-TH   Thai - Thailand
tr-TR   Turkish - Turkey
uk-UA   Ukrainian - Ukraine
ur-PK   Urdu - Pakistan
Cy-uz-UZ   Uzbek (Cyrillic) - Uzbekistan
Lt-uz-UZ   Uzbek (Latin) - Uzbekistan
vi-VN   Vietnamese - Vietnam


Je crois qu'il est complet.




______________________________________________________
La différence entre un optimiste et un pessimiste ? Aucune, mais il y en a 1 qui vit beaucoup mieux.
Visiter le site web du posteur
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Salut,

Ce script a été conçu dans le cadre du projet NTMaxTools juste comme commande externe pour la récuperation de la langue.
Tu peux lire le TOPIC.

Je sais qu'il manque des langues (c'est volontaire), Mais tu as bien fais de les poster.
Cette liste est là pour que le programme te retourne la description de la langue. Very Happy

Tu peux les rajouter à la fin du script en gardant bien entendu le même format.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Pour le manque de langue c'est ce que je pensais, mais je sais pas pourquoi hi hi.
J'ai essayer d'aller lire le topic avec ton lien mais ça ne fonctionne pas, j'ai un message de refus:

Citation:
Discussion du groupe social spécifié(e) non valide.


J'ai testé ce code il marche bien, il a été testé sur tous type de système? xp à win10 et autres?




______________________________________________________
La différence entre un optimiste et un pessimiste ? Aucune, mais il y en a 1 qui vit beaucoup mieux.
Visiter le site web du posteur
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Oui ces scripts sont conçus pour être compatible au maximum donc à partir de XP ça doit rouler sur toutes les versions !




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Heu sacha, pourquoi il y a des @ sur chaque commandes de ton code ? Mr. Green




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Xenoxis a écrit:
Heu sacha, pourquoi il y a des @ sur chaque commandes de ton code ? Mr. Green
Je pense que c'est pour ne pas affecter l'état de "Echo".




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message Script pour la selection de la langue. AVIS 
Exactement c'est une structure de code pour code dûment testé et approuvé Laughing

C'est le format choisie pour les codes NTMaxtools

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message Script pour la selection de la langue. AVIS 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch