Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1773 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [WinForrm]Traduire les SpecialFolder dans la langue de l'utilisateur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[WinForrm]Traduire les SpecialFolder dans la langue de l'utilisateur

n°1429204
_Mose_
Lonesome coder
Posté le 22-08-2006 à 11:45:10  profilanswer
 

Salut à vous,
 
je code un petit explorateur de fichier et j'ajoute dedans quelque-uns des "Special Folder" (Environment.SpecialFolder)
J'ai juste soucis : comment traduire leur nom dans la langue de l'utilisateur ?
 
Je précise que je cherche la traduction de Windows, et pas un bête tableau hardcodé, ça je sais faire, mais je n'ai pas envie de me taper toutes les langues possibles pour refaire un truc qui existe forcément déjà.
 
  Mose, explorateur de windows

mood
Publicité
Posté le 22-08-2006 à 11:45:10  profilanswer
 

n°1429246
breizhbugs
Posté le 22-08-2006 à 12:31:38  profilanswer
 

Salut,
 

Code :
  1. Console.WriteLine("Startup Path: {0}", Environment.GetFolderPath(Environment.SpecialFolder.Startup));


Me donne bien "C:\Documents and Settings\Administrateur\Menu Démarrer\Programmes\Démarrage" sur un windows francais

n°1429603
_Mose_
Lonesome coder
Posté le 22-08-2006 à 19:14:06  profilanswer
 

Ok, je vais mieux traduire ma pensée :)
 
Sur mon XP français : Environment.SpecialFolder.Personal correspond à   "MesDocuments"
Sur mon XP anglais : le même c'est "MyDocuments"
C'est pas le chemin, c'est le nom de ce répertoire qui m'intéresse  ;)  
 
Bon.. suite à un rapide test, je viens de voir que ce n'était pas un nom en dur, mais une donnée modifiable. (C'est con, mais j'avais jamais eu l'idée de renommer "Mes Documents" :))
Bref.. dans la base de registre, je trouve cette valeur dans la clef : HKLU / Software / Microsoft / Windows / CurrentVersion / Explorer / CLSID / {450D8FBA-AD25-11D0-98A8-0800361B1103}
 
Bon... question :
* Comment peut-on retrouver le nom de "Mes documents" dans la base de registre ? J'imagine que le Guid qui sert de clef chez moi c'est pas une valeur hardcodée....

n°1429627
breizhbugs
Posté le 22-08-2006 à 20:16:01  profilanswer
 

_Mose_ a écrit :

Ok, je vais mieux traduire ma pensée :)
 
Sur mon XP français : Environment.SpecialFolder.Personal correspond à   "MesDocuments"
Sur mon XP anglais : le même c'est "MyDocuments"
C'est pas le chemin, c'est le nom de ce répertoire qui m'intéresse  ;)  


Eh alors le nom du repertoire n'est il pas inclus DANS le chemin?

n°1429651
_Mose_
Lonesome coder
Posté le 22-08-2006 à 20:48:50  profilanswer
 

Ah non.
Renomme ton "Mes Documents" en "Mes chaussettes", mais tes documents vont sagement rester dans leur répertoire...
 
Ensuite, même si on cherche le nom "Mes Documents" par défaut, si l'utilisateur a fait  bouton droit / Propriété et que dans l'onglet cible il ait mis un autre répertoire, bah ça marche plus. Ex chez moi : D:\Docs\Mose
 
Merci quand même...
Y'a pas un spécialiste de la base de registre svp ?

n°1429670
moi23372
Posté le 22-08-2006 à 21:57:19  profilanswer
 

si tu sais ou la trouver, utiliser les classes pour accéder au registre alors.

n°1430145
_Mose_
Lonesome coder
Posté le 23-08-2006 à 18:34:17  profilanswer
 

Sérieux... je m'exprime mal ou vous le faites exprès ?
 
Dans la base de registre, cette valeur se trouve dans :
HKEYS_CURRENT_USERS / Software / Microsoft / Windows / CurrentVersion / Explorer / CLSID / {450D8FBA-AD25-11D0-98A8-0800361B1103}  
 
Mais elle ne s'y trouve QUE si on a édité le nom. Sinon on l'a dans le baba.
 
Ensuite ça fini par un Guid... super...
Mais je ne pense pas que chez tout le monde et sur tous les Windows il y ait le même Guid.
J'ai le même sur un autre XP, mais basé sur le même CD d'install.
 
Bref.. y'a pas une API pour trouver ça facile ? Même en Win32, ça m'est égal.
 

n°1430182
breizhbugs
Posté le 23-08-2006 à 19:08:55  profilanswer
 

quote:
Mais je ne pense pas que chez tout le monde et sur tous les Windows il y ait le même Guid.
 
Si, car c'est un repertoire special!
 
Ensuite si on veut deplacer un specialfolder on ne renomme pas le dossier via l'exploreur mais il faut modifier la variable (via tweakui par exemple)indiquant son emplacement et c'est tout (bien sur il faut aussi copier manuellement les fichiers de l'ancien repertoire vers le nouveau).

n°1430205
_Mose_
Lonesome coder
Posté le 23-08-2006 à 19:48:26  profilanswer
 

breizhbugs a écrit :

>>Mais je ne pense pas que chez tout le monde et sur tous les Windows il y ait le même Guid.
Si, car c'est un repertoire special!

Oki, bah écoute, je vais commencer comme ça et on verra bien :)

breizhbugs a écrit :

Ensuite si on veut deplacer un specialfolder on ne renomme pas le dossier via l'exploreur mais il faut modifier la variable (via tweakui par exemple)indiquant son emplacement et c'est tout (bien sur il faut aussi copier manuellement les fichiers de l'ancien repertoire vers le nouveau).

Ah non non non... pas du tout. Fait bouton droit sur "Mes Documents", puis "Propriété"... tu vas voir...

n°1430208
breizhbugs
Posté le 23-08-2006 à 19:56:48  profilanswer
 

Citation :


Fait bouton droit sur "Mes Documents", puis "Propriété"... tu vas voir...


Bien sur q'on peut le renommer comme n'importe quel autre repertoire...
Mais ce qui fait que le repertoire "Mes documents" est le repertoire "Mes documents" c'est parce qu'il a été designer comme tel a windows via une variable. Si tu change le nom du dossier sans changer ta variable, windows recreera un dossier "Mes documents" a la place de l'ancien. Si tu change la variable, Windows utilisera le dossier indiqué que tu y ais copié tes anciens fichiers dedans ou non!
 
Donc, que tu recuperes ce nom de dossier via le registre ou via environment.jesaisplusquoi, si tu as correctement modifier ta variable, tu obtiens le meme resultat.

mood
Publicité
Posté le 23-08-2006 à 19:56:48  profilanswer
 

n°1430218
_Mose_
Lonesome coder
Posté le 23-08-2006 à 20:18:23  profilanswer
 

Non non, tu te plantes.
Essayes le click droit sur le "Mes Documents" qui se trouve sur ton bureau + propriété. Y'a un onglet spécial pour ce répertoire spécial.
Il fait tout : il modifie le SpecialFolder et déplace tout tes documents. C'est magique :)
J'affirme. Je le fais systématiquement à chaque fois que j'installe Windows (et c'est souvent).
Le spécialFolder, chez moi, il indique "D:\docs\Mose". Et j'ai pas modifié de variable ou utlisé tweakui.... juste un click droit dans Windows.

n°1430230
breizhbugs
Posté le 23-08-2006 à 20:51:25  profilanswer
 

Ah bon, ca doit etre sous XP alors? moi j'ai pas d'icone "mes documents" sous w2k!

n°1430570
moi23372
Posté le 24-08-2006 à 12:31:21  profilanswer
 

qui a encore W2K :D bien sure que c'est sure XP...

n°1431020
breizhbugs
Posté le 24-08-2006 à 21:44:08  profilanswer
 

moi23372 a écrit :

qui a encore W2K ...


Ben tout ceux qui veulent un environement stable et sans fioriture... :lol:

n°1431365
_Mose_
Lonesome coder
Posté le 25-08-2006 à 13:34:12  profilanswer
 

breizhbugs a écrit :

Ah bon, ca doit etre sous XP alors? moi j'ai pas d'icone "mes documents" sous w2k!


Bouton droit sur le bureau / Propriété /Onglet "Bureau" / bouton en bas "Personnaliser le bureau...", y'a juste une case à cocher.
C'est quand même bien fait :)

n°1431839
breizhbugs
Posté le 26-08-2006 à 14:50:37  profilanswer
 

Salut,
J'ai pas d'"onglet bureau"!
Tu avances avec ta base des registres?

n°1432397
_Mose_
Lonesome coder
Posté le 28-08-2006 à 10:49:52  profilanswer
 

Mouaip, bah 2000 c pas la fête :)
Pour la base de registre : je garde la solution sous la main dès que je ferais l'implémentation finale.
En attendant c'est "Mes Documents" codé en dur...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [WinForrm]Traduire les SpecialFolder dans la langue de l'utilisateur

 

Sujets relatifs
Vérifier l'identité de mon utilisateur sur chaque pageErreur dans la suppression d'un compte utilisateur
[C# .net] Session utilisateurlancer .bat en admin dans une session utilisateur simple
Traduire site InternetPeut on savoir la langue du navigateur via du javascript ?
[MYSQL] --> droits utilisateurfichier properties traduire
Echec d'une instruction, comment le traduire en conditiontraduire sous forme d'algorithme objet I
Plus de sujets relatifs à : [WinForrm]Traduire les SpecialFolder dans la langue de l'utilisateur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR