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

Traduire les SpecialFolder dans la langue de l'utilisateur [WinForrm] - C#/.NET managed - Programmation

Marsh Posté le 22-08-2006 à 11:45:10    

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

Reply

Marsh Posté le 22-08-2006 à 11:45:10   

Reply

Marsh Posté le 22-08-2006 à 12:31:38    

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

Reply

Marsh Posté le 22-08-2006 à 19:14:06    

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....

Reply

Marsh Posté le 22-08-2006 à 20:16:01    

_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?

Reply

Marsh Posté le 22-08-2006 à 20:48:50    

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 ?

Reply

Marsh Posté le 22-08-2006 à 21:57:19    

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

Reply

Marsh Posté le 23-08-2006 à 18:34:17    

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.
 

Reply

Marsh Posté le 23-08-2006 à 19:08:55    

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).

Reply

Marsh Posté le 23-08-2006 à 19:48:26    

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...

Reply

Marsh Posté le 23-08-2006 à 19:56:48    

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.

Reply

Marsh Posté le 23-08-2006 à 19:56:48   

Reply

Marsh Posté le 23-08-2006 à 20:18:23    

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.

Reply

Marsh Posté le 23-08-2006 à 20:51:25    

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

Reply

Marsh Posté le 24-08-2006 à 12:31:21    

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

Reply

Marsh Posté le 24-08-2006 à 21:44:08    

moi23372 a écrit :

qui a encore W2K ...


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

Reply

Marsh Posté le 25-08-2006 à 13:34:12    

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 :)

Reply

Marsh Posté le 26-08-2006 à 14:50:37    

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

Reply

Marsh Posté le 28-08-2006 à 10:49:52    

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...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed