OVH Cloud OVH Cloud

localisation

2 réponses
Avatar
news.microsoft.com
Bonjour

je monte un site en 3 langues avec en mémoires la possibilité d'en ajouter
le plus simplement possible.

pour tous ce qui est textes menus et autre (gestions des profiles) pas de
soucis, j'utilise les resources mais là ou ça se gate c'est pour les bases
de données j'ai opté pour un champs par langue exemple LibelleFR, LibelleGB,
LibelleES.

je voulais utiliser les fichier resources pour mettre le nom des champs,
mais je dois bloquer quelque part.

avez vous déjà utilisé cette technique pour éclairer ma lanterne.

merci

2 réponses

Avatar
Arnaud CLERET
Bonsoir,

Pour ma part, je gère l'ensemble des ressources en base de données. J'ai
donc réimplémenté un ResourceManager, ResourceSet, ...
Ma base à donc un modèle avec une table contenant les champs : key, neutral,
fr, en, ...

--
arno - http://www.dotnetguru2.org/acleret/


<DIV>&quot;news.microsoft.com&quot; &lt;&gt; wrote in
message news:%</DIV>>
Bonjour

je monte un site en 3 langues avec en mémoires la possibilité d'en ajouter
le plus simplement possible.

pour tous ce qui est textes menus et autre (gestions des profiles) pas de
soucis, j'utilise les resources mais là ou ça se gate c'est pour les bases
de données j'ai opté pour un champs par langue exemple LibelleFR,
LibelleGB, LibelleES.

je voulais utiliser les fichier resources pour mettre le nom des champs,
mais je dois bloquer quelque part.

avez vous déjà utilisé cette technique pour éclairer ma lanterne.

merci




Avatar
Franck Quintana
Bonjour,

Pour ma part (et cela dépend beaucoup du contexte) j'utilise une base de
données vide en ressource (de type Access).
Je m'en sers pour exporter les données d'une liste en .mdb
Suivant la langue du browser en face, j'ouvre ma base dans une stream,
je créé le fichier dans un répertoire temporaire, je l'ouvre
(OleDbConnection), je créé la table et les champs localisés (CREATE
TABLE...) et je lui envoie.
Ensuite je supprime le fichier.
Mais comme je le dis plus haut c'est un cas qui dépend du contexte dans
lequel on se trouve.

Franck Quintana
Active+ Software
http://www.activeplus.com/


Ecriture de la base en resource

string sTmpFileName = Path.GetTempFileName();
using (System.IO.Stream oSR =
System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("MONNAMESPACE.MONFOLDER.Empty.mdb"))
{
using (FileStream oSW = new FileStream(sTmpFileName, FileMode.Create)) {
byte[] abBuffer = new byte[65536];

for (; ; ) {
int iRead = oSR.Read(abBuffer, 0, abBuffer.Length);
if (iRead == 0)
break;

oSW.Write(abBuffer, 0, iRead);
}
oSW.Close();
}
oSR.Close();
}