Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Language Anglais au lieu de Français

8 réponses
Avatar
Etienne
Mes applications Web affichent les données en anglais (date mm/dd/yy, nombre
avec , pour les milliers et . pour les décimales). Pourtant mon web.config
affiche
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1"
culture="fr-FR" uiCulture="fr-FR" />
Avez vous une idée ?
Merci.

PS : je suis en ASP.net 1.1 sous windows 2003 server.

8 réponses

Avatar
Patrice
Affiche la culture courante sur ta page pour voir si elle est bonne. Elle
pourrait peut-être être fixée ailleurs dans ton code ?

Les données que tu affiches viennent d'où ? Elles sont bien formatés dans
.NET (et non pas au niveau par exemple d'un serveur SQL) ?

Essaie peut-être un simple Response.Write(1515.1515)

--
Patrice

"Etienne" a écrit dans le message de
news:
Mes applications Web affichent les données en anglais (date mm/dd/yy,


nombre
avec , pour les milliers et . pour les décimales). Pourtant mon web.config
affiche
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1"
culture="fr-FR" uiCulture="fr-FR" />
Avez vous une idée ?
Merci.

PS : je suis en ASP.net 1.1 sous windows 2003 server.


Avatar
Etienne
En fait ma culture courante est bonne parce que je résouds temporairement le
problème en mentionnant cela dans chaque page de code behind :
string Language = "us-US";
if (Request.UserLanguages.Length != 0)
{
Language = Request.UserLanguages[0];
}
System.Globalization.CultureInfo CurrentUserCulture;
CurrentUserCulture =
System.Globalization.CultureInfo.CreateSpecificCulture(Language);
System.Threading.Thread.CurrentThread.CurrentUICulture = CurrentUserCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = CurrentUserCulture;

Et j'obtiens grâce à cela le français. Je change aussi mes procédures
stockées pour formater la date en français. Ce travail permet d'avoir un
affichage en français mais ces transformations ne devraient normalement pas
être nécessaire.

Les options linguistiques de mon serveur (ou est stocké le code) mentionne
Français partout donc pourquoi la langue US au final ?

J'ai un serveur de données, et un serveur d'applis. Le pb est apparu en
migrant mes applis (le code) sur le serveur actuel, mais les données n'ont
pas changées de serveur. Sur le serveur actuel, mon interface utilisateur
affiche le format de date anglais alors que sur le serveur d'origine, j'ai
bien le français (je teste sur les deux mais je dois rendre l'ancien :
location) . Pourtant les paramètres de langues sont semblables...

Le machine.config de mon nouveau serveur est exactement le même que sur
l'ancien. Le problème doit donc venir des params du nouveau serveur plutôt
que dans mon code asp.net mais tout semble correct, idem dans IIS.

Là, je suis à court d'idée, et vous ?

"Patrice" a écrit :

Affiche la culture courante sur ta page pour voir si elle est bonne. Elle
pourrait peut-être être fixée ailleurs dans ton code ?

Les données que tu affiches viennent d'où ? Elles sont bien formatés dans
..NET (et non pas au niveau par exemple d'un serveur SQL) ?

Essaie peut-être un simple Response.Write(1515.1515)

--
Patrice

"Etienne" a écrit dans le message de
news:
> Mes applications Web affichent les données en anglais (date mm/dd/yy,
nombre
> avec , pour les milliers et . pour les décimales). Pourtant mon web.config
> affiche
> <globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1"
> culture="fr-FR" uiCulture="fr-FR" />
> Avez vous une idée ?
> Merci.
>
> PS : je suis en ASP.net 1.1 sous windows 2003 server.





Avatar
Patrice
Je comprends que cela soit agréable de résoudre le problème tout de suite je
dois dire que la description du contournement m'embrouille un peu...

Je demandais :
- avant le contournement (donc avec un web.config et une culture non fixée
par code), la culture est-elle correcte ?
- sur la ligne d'après mettre un Response.Write 1215.1215

Pour l'instant je cherche à déterminer si la configuration du web.config est
bien prise en compte (la racine de l'application est bien déclarée comme une
application IIS ?).

Au final, que vouluiez vous ? Avoir toujours du français ou utiliser la
langue du navigateur ?


--

"Etienne" a écrit dans le message de
news:
En fait ma culture courante est bonne parce que je résouds temporairement


le
problème en mentionnant cela dans chaque page de code behind :
string Language = "us-US";
if (Request.UserLanguages.Length != 0)
{
Language = Request.UserLanguages[0];
}
System.Globalization.CultureInfo CurrentUserCulture;
CurrentUserCulture > System.Globalization.CultureInfo.CreateSpecificCulture(Language);
System.Threading.Thread.CurrentThread.CurrentUICulture CurrentUserCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = CurrentUserCulture;

Et j'obtiens grâce à cela le français. Je change aussi mes procédures
stockées pour formater la date en français. Ce travail permet d'avoir un
affichage en français mais ces transformations ne devraient normalement


pas
être nécessaire.

Les options linguistiques de mon serveur (ou est stocké le code) mentionne
Français partout donc pourquoi la langue US au final ?

J'ai un serveur de données, et un serveur d'applis. Le pb est apparu en
migrant mes applis (le code) sur le serveur actuel, mais les données n'ont
pas changées de serveur. Sur le serveur actuel, mon interface utilisateur
affiche le format de date anglais alors que sur le serveur d'origine,


j'ai
bien le français (je teste sur les deux mais je dois rendre l'ancien :
location) . Pourtant les paramètres de langues sont semblables...

Le machine.config de mon nouveau serveur est exactement le même que sur
l'ancien. Le problème doit donc venir des params du nouveau serveur plutôt
que dans mon code asp.net mais tout semble correct, idem dans IIS.

Là, je suis à court d'idée, et vous ?

"Patrice" a écrit :

> Affiche la culture courante sur ta page pour voir si elle est bonne.


Elle
> pourrait peut-être être fixée ailleurs dans ton code ?
>
> Les données que tu affiches viennent d'où ? Elles sont bien formatés


dans
> ..NET (et non pas au niveau par exemple d'un serveur SQL) ?
>
> Essaie peut-être un simple Response.Write(1515.1515)
>
> --
> Patrice
>
> "Etienne" a écrit dans le message de
> news:
> > Mes applications Web affichent les données en anglais (date mm/dd/yy,
> nombre
> > avec , pour les milliers et . pour les décimales). Pourtant mon


web.config
> > affiche
> > <globalization requestEncoding="iso-8859-1"


responseEncoding="iso-8859-1"
> > culture="fr-FR" uiCulture="fr-FR" />
> > Avez vous une idée ?
> > Merci.
> >
> > PS : je suis en ASP.net 1.1 sous windows 2003 server.
>
>
>


Avatar
Etienne
Je vais répondre précisément :
Je me suis remis dans l'ancienne config, c'est à dire :
1. mon machine.config comme mon web.config présente <globalization
requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> (pas de culture
mentionnée ici)
2. J'ai commenté le code C# de contournement
3. J'ai ajouté à la place du code de contournement :
if (Request.UserLanguages.Length != 0)
{
Response.Write(Request.UserLanguages[0]);
}
Response.Write("1215.1215");

J'obtiens la chaine "fr1215.1215"

Pourtant, mon interface utilisateur affiche tout en anglais.

Donc :
Oui, la culture est correcte.
Si je rajoute culture="fr-FR" uiCulture="fr-FR" dans mon web.config,
toujours pb.
Mon projet est bien référencé et démarrer sous IIS.
Au final, je veux utiliser la langue du navigateur car plusieurs agences
étrangères utilisent le programme mais la plupart des employés sont français
(d'où la bidouille que j'ai commenté pour un affichage français au mieux).

Je rappelle que sur le serveur d'origine comme en local pour le
développement, l'appli affiche bien le français pour moi, même sans la
bidouille. Les params linguistiques des 2 serveurs sont sur français partout.
Sur le nouveau serveur, j'ai les dates et les nombres en anglais (bien que la
culture soit fr) si je ne fais pas la petite bidouille.

Qu'en pensez vous ?

"Patrice" a écrit :

Je comprends que cela soit agréable de résoudre le problème tout de suite je
dois dire que la description du contournement m'embrouille un peu...

Je demandais :
- avant le contournement (donc avec un web.config et une culture non fixée
par code), la culture est-elle correcte ?
- sur la ligne d'après mettre un Response.Write 1215.1215

Pour l'instant je cherche à déterminer si la configuration du web.config est
bien prise en compte (la racine de l'application est bien déclarée comme une
application IIS ?).

Au final, que vouluiez vous ? Avoir toujours du français ou utiliser la
langue du navigateur ?


--

"Etienne" a écrit dans le message de
news:
> En fait ma culture courante est bonne parce que je résouds temporairement
le
> problème en mentionnant cela dans chaque page de code behind :
> string Language = "us-US";
> if (Request.UserLanguages.Length != 0)
> {
> Language = Request.UserLanguages[0];
> }
> System.Globalization.CultureInfo CurrentUserCulture;
> CurrentUserCulture > > System.Globalization.CultureInfo.CreateSpecificCulture(Language);
> System.Threading.Thread.CurrentThread.CurrentUICulture > CurrentUserCulture;
> System.Threading.Thread.CurrentThread.CurrentCulture = CurrentUserCulture;
>
> Et j'obtiens grâce à cela le français. Je change aussi mes procédures
> stockées pour formater la date en français. Ce travail permet d'avoir un
> affichage en français mais ces transformations ne devraient normalement
pas
> être nécessaire.
>
> Les options linguistiques de mon serveur (ou est stocké le code) mentionne
> Français partout donc pourquoi la langue US au final ?
>
> J'ai un serveur de données, et un serveur d'applis. Le pb est apparu en
> migrant mes applis (le code) sur le serveur actuel, mais les données n'ont
> pas changées de serveur. Sur le serveur actuel, mon interface utilisateur
> affiche le format de date anglais alors que sur le serveur d'origine,
j'ai
> bien le français (je teste sur les deux mais je dois rendre l'ancien :
> location) . Pourtant les paramètres de langues sont semblables...
>
> Le machine.config de mon nouveau serveur est exactement le même que sur
> l'ancien. Le problème doit donc venir des params du nouveau serveur plutôt
> que dans mon code asp.net mais tout semble correct, idem dans IIS.
>
> Là, je suis à court d'idée, et vous ?
>
> "Patrice" a écrit :
>
> > Affiche la culture courante sur ta page pour voir si elle est bonne.
Elle
> > pourrait peut-être être fixée ailleurs dans ton code ?
> >
> > Les données que tu affiches viennent d'où ? Elles sont bien formatés
dans
> > ..NET (et non pas au niveau par exemple d'un serveur SQL) ?
> >
> > Essaie peut-être un simple Response.Write(1515.1515)
> >
> > --
> > Patrice
> >
> > "Etienne" a écrit dans le message de
> > news:
> > > Mes applications Web affichent les données en anglais (date mm/dd/yy,
> > nombre
> > > avec , pour les milliers et . pour les décimales). Pourtant mon
web.config
> > > affiche
> > > <globalization requestEncoding="iso-8859-1"
responseEncoding="iso-8859-1"
> > > culture="fr-FR" uiCulture="fr-FR" />
> > > Avez vous une idée ?
> > > Merci.
> > >
> > > PS : je suis en ASP.net 1.1 sous windows 2003 server.
> >
> >
> >





Avatar
Patrice
Je pensais plutôt à :
Response.Write(System.Theading.Thread.CurrentThread.CurrentCulture.Name);
Response.Write(System.Theading.Thread.CurrentThread.CurrentUICulture.Name);
Response.Write(1215.1215);

Les deux premiers donne la culture actuellement en cours. La dernière ligne
permet d'afficher un *nombre* (et non pas une chaîne) pour vérifier le
formatage par défaut...

Actuellement le code afficher simplement la langue du navigateur mais ne
l'exploite pas, donc je m'attends à avoir le défaut (anglais).

--

"Etienne" a écrit dans le message de
news:
Je vais répondre précisément :
Je me suis remis dans l'ancienne config, c'est à dire :
1. mon machine.config comme mon web.config présente <globalization
requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> (pas de


culture
mentionnée ici)
2. J'ai commenté le code C# de contournement
3. J'ai ajouté à la place du code de contournement :
if (Request.UserLanguages.Length != 0)
{
Response.Write(Request.UserLanguages[0]);
}
Response.Write("1215.1215");

J'obtiens la chaine "fr1215.1215"

Pourtant, mon interface utilisateur affiche tout en anglais.

Donc :
Oui, la culture est correcte.
Si je rajoute culture="fr-FR" uiCulture="fr-FR" dans mon web.config,
toujours pb.
Mon projet est bien référencé et démarrer sous IIS.
Au final, je veux utiliser la langue du navigateur car plusieurs agences
étrangères utilisent le programme mais la plupart des employés sont


français
(d'où la bidouille que j'ai commenté pour un affichage français au mieux).

Je rappelle que sur le serveur d'origine comme en local pour le
développement, l'appli affiche bien le français pour moi, même sans la
bidouille. Les params linguistiques des 2 serveurs sont sur français


partout.
Sur le nouveau serveur, j'ai les dates et les nombres en anglais (bien que


la
culture soit fr) si je ne fais pas la petite bidouille.

Qu'en pensez vous ?

"Patrice" a écrit :

> Je comprends que cela soit agréable de résoudre le problème tout de


suite je
> dois dire que la description du contournement m'embrouille un peu...
>
> Je demandais :
> - avant le contournement (donc avec un web.config et une culture non


fixée
> par code), la culture est-elle correcte ?
> - sur la ligne d'après mettre un Response.Write 1215.1215
>
> Pour l'instant je cherche à déterminer si la configuration du web.config


est
> bien prise en compte (la racine de l'application est bien déclarée comme


une
> application IIS ?).
>
> Au final, que vouluiez vous ? Avoir toujours du français ou utiliser la
> langue du navigateur ?
>
>
> --
>
> "Etienne" a écrit dans le message de
> news:
> > En fait ma culture courante est bonne parce que je résouds


temporairement
> le
> > problème en mentionnant cela dans chaque page de code behind :
> > string Language = "us-US";
> > if (Request.UserLanguages.Length != 0)
> > {
> > Language = Request.UserLanguages[0];
> > }
> > System.Globalization.CultureInfo CurrentUserCulture;
> > CurrentUserCulture > > > System.Globalization.CultureInfo.CreateSpecificCulture(Language);
> > System.Threading.Thread.CurrentThread.CurrentUICulture > > CurrentUserCulture;
> > System.Threading.Thread.CurrentThread.CurrentCulture CurrentUserCulture;
> >
> > Et j'obtiens grâce à cela le français. Je change aussi mes procédures
> > stockées pour formater la date en français. Ce travail permet d'avoir


un
> > affichage en français mais ces transformations ne devraient


normalement
> pas
> > être nécessaire.
> >
> > Les options linguistiques de mon serveur (ou est stocké le code)


mentionne
> > Français partout donc pourquoi la langue US au final ?
> >
> > J'ai un serveur de données, et un serveur d'applis. Le pb est apparu


en
> > migrant mes applis (le code) sur le serveur actuel, mais les données


n'ont
> > pas changées de serveur. Sur le serveur actuel, mon interface


utilisateur
> > affiche le format de date anglais alors que sur le serveur d'origine,
> j'ai
> > bien le français (je teste sur les deux mais je dois rendre l'ancien :
> > location) . Pourtant les paramètres de langues sont semblables...
> >
> > Le machine.config de mon nouveau serveur est exactement le même que


sur
> > l'ancien. Le problème doit donc venir des params du nouveau serveur


plutôt
> > que dans mon code asp.net mais tout semble correct, idem dans IIS.
> >
> > Là, je suis à court d'idée, et vous ?
> >
> > "Patrice" a écrit :
> >
> > > Affiche la culture courante sur ta page pour voir si elle est bonne.
> Elle
> > > pourrait peut-être être fixée ailleurs dans ton code ?
> > >
> > > Les données que tu affiches viennent d'où ? Elles sont bien formatés
> dans
> > > ..NET (et non pas au niveau par exemple d'un serveur SQL) ?
> > >
> > > Essaie peut-être un simple Response.Write(1515.1515)
> > >
> > > --
> > > Patrice
> > >
> > > "Etienne" a écrit dans le


message de
> > > news:
> > > > Mes applications Web affichent les données en anglais (date


mm/dd/yy,
> > > nombre
> > > > avec , pour les milliers et . pour les décimales). Pourtant mon
> web.config
> > > > affiche
> > > > <globalization requestEncoding="iso-8859-1"
> responseEncoding="iso-8859-1"
> > > > culture="fr-FR" uiCulture="fr-FR" />
> > > > Avez vous une idée ?
> > > > Merci.
> > > >
> > > > PS : je suis en ASP.net 1.1 sous windows 2003 server.
> > >
> > >
> > >
>
>
>


Avatar
Etienne
Décidément, je réponds toujours à côté !

Voilà en effet ce que j'obtiens :

en-US
en-US
1215.1215

Comment changer cela svp ?



"Patrice" a écrit :

Je pensais plutôt à :
Response.Write(System.Theading.Thread.CurrentThread.CurrentCulture.Name);
Response.Write(System.Theading.Thread.CurrentThread.CurrentUICulture.Name);
Response.Write(1215.1215);

Les deux premiers donne la culture actuellement en cours. La dernière ligne
permet d'afficher un *nombre* (et non pas une chaîne) pour vérifier le
formatage par défaut...

Actuellement le code afficher simplement la langue du navigateur mais ne
l'exploite pas, donc je m'attends à avoir le défaut (anglais).

--

"Etienne" a écrit dans le message de
news:
> Je vais répondre précisément :
> Je me suis remis dans l'ancienne config, c'est à dire :
> 1. mon machine.config comme mon web.config présente <globalization
> requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> (pas de
culture
> mentionnée ici)
> 2. J'ai commenté le code C# de contournement
> 3. J'ai ajouté à la place du code de contournement :
> if (Request.UserLanguages.Length != 0)
> {
> Response.Write(Request.UserLanguages[0]);
> }
> Response.Write("1215.1215");
>
> J'obtiens la chaine "fr1215.1215"
>
> Pourtant, mon interface utilisateur affiche tout en anglais.
>
> Donc :
> Oui, la culture est correcte.
> Si je rajoute culture="fr-FR" uiCulture="fr-FR" dans mon web.config,
> toujours pb.
> Mon projet est bien référencé et démarrer sous IIS.
> Au final, je veux utiliser la langue du navigateur car plusieurs agences
> étrangères utilisent le programme mais la plupart des employés sont
français
> (d'où la bidouille que j'ai commenté pour un affichage français au mieux).
>
> Je rappelle que sur le serveur d'origine comme en local pour le
> développement, l'appli affiche bien le français pour moi, même sans la
> bidouille. Les params linguistiques des 2 serveurs sont sur français
partout.
> Sur le nouveau serveur, j'ai les dates et les nombres en anglais (bien que
la
> culture soit fr) si je ne fais pas la petite bidouille.
>
> Qu'en pensez vous ?
>
> "Patrice" a écrit :
>
> > Je comprends que cela soit agréable de résoudre le problème tout de
suite je
> > dois dire que la description du contournement m'embrouille un peu...
> >
> > Je demandais :
> > - avant le contournement (donc avec un web.config et une culture non
fixée
> > par code), la culture est-elle correcte ?
> > - sur la ligne d'après mettre un Response.Write 1215.1215
> >
> > Pour l'instant je cherche à déterminer si la configuration du web.config
est
> > bien prise en compte (la racine de l'application est bien déclarée comme
une
> > application IIS ?).
> >
> > Au final, que vouluiez vous ? Avoir toujours du français ou utiliser la
> > langue du navigateur ?
> >
> >
> > --
> >
> > "Etienne" a écrit dans le message de
> > news:
> > > En fait ma culture courante est bonne parce que je résouds
temporairement
> > le
> > > problème en mentionnant cela dans chaque page de code behind :
> > > string Language = "us-US";
> > > if (Request.UserLanguages.Length != 0)
> > > {
> > > Language = Request.UserLanguages[0];
> > > }
> > > System.Globalization.CultureInfo CurrentUserCulture;
> > > CurrentUserCulture > > > > System.Globalization.CultureInfo.CreateSpecificCulture(Language);
> > > System.Threading.Thread.CurrentThread.CurrentUICulture > > > CurrentUserCulture;
> > > System.Threading.Thread.CurrentThread.CurrentCulture > CurrentUserCulture;
> > >
> > > Et j'obtiens grâce à cela le français. Je change aussi mes procédures
> > > stockées pour formater la date en français. Ce travail permet d'avoir
un
> > > affichage en français mais ces transformations ne devraient
normalement
> > pas
> > > être nécessaire.
> > >
> > > Les options linguistiques de mon serveur (ou est stocké le code)
mentionne
> > > Français partout donc pourquoi la langue US au final ?
> > >
> > > J'ai un serveur de données, et un serveur d'applis. Le pb est apparu
en
> > > migrant mes applis (le code) sur le serveur actuel, mais les données
n'ont
> > > pas changées de serveur. Sur le serveur actuel, mon interface
utilisateur
> > > affiche le format de date anglais alors que sur le serveur d'origine,
> > j'ai
> > > bien le français (je teste sur les deux mais je dois rendre l'ancien :
> > > location) . Pourtant les paramètres de langues sont semblables...
> > >
> > > Le machine.config de mon nouveau serveur est exactement le même que
sur
> > > l'ancien. Le problème doit donc venir des params du nouveau serveur
plutôt
> > > que dans mon code asp.net mais tout semble correct, idem dans IIS.
> > >
> > > Là, je suis à court d'idée, et vous ?
> > >
> > > "Patrice" a écrit :
> > >
> > > > Affiche la culture courante sur ta page pour voir si elle est bonne.
> > Elle
> > > > pourrait peut-être être fixée ailleurs dans ton code ?
> > > >
> > > > Les données que tu affiches viennent d'où ? Elles sont bien formatés
> > dans
> > > > ..NET (et non pas au niveau par exemple d'un serveur SQL) ?
> > > >
> > > > Essaie peut-être un simple Response.Write(1515.1515)
> > > >
> > > > --
> > > > Patrice
> > > >
> > > > "Etienne" a écrit dans le
message de
> > > > news:
> > > > > Mes applications Web affichent les données en anglais (date
mm/dd/yy,
> > > > nombre
> > > > > avec , pour les milliers et . pour les décimales). Pourtant mon
> > web.config
> > > > > affiche
> > > > > <globalization requestEncoding="iso-8859-1"
> > responseEncoding="iso-8859-1"
> > > > > culture="fr-FR" uiCulture="fr-FR" />
> > > > > Avez vous une idée ?
> > > > > Merci.
> > > > >
> > > > > PS : je suis en ASP.net 1.1 sous windows 2003 server.
> > > >
> > > >
> > > >
> >
> >
> >





Avatar
Patrice
Selon ce que tu veux faire :
- tu peux modifier le fichier web.config en mettant fr-FR et vérifier si
cela marche ou non. Cela répondrait à ton premier message.

Sinon tu peux continuer par tester :

System.Theading.Thread.CurrentThread.CurrentCulture=new
CultureInfo("fr-FR");
System.Theading.Thread.CurrentThread.CurrentUICulture= new
CultureInfo("fr-FR");
Response.Write(1215.1215);

System.Theading.Thread.CurrentThread.CurrentCulture=new
CultureInfo("en-US");
System.Theading.Thread.CurrentThread.CurrentUICulture= new
CultureInfo("en-US");
Response.Write(1215.1215);

Avant peut-être de remettre le code qui teste la langue du navigateur
(éventuellement dans BeginRequest ce qui évite de le mettre sur toutes les
pages) et de refaire un essai avec un Response.Write(1215.1215);

Ce qui me chiffonne dans tes messages précédents est que tu semblais obligé
de modifier tes procédures stockées (avec un formatage côté serveur SQL ce
qui est pas top) pour obtenir le bon formatage.

Vérifie peut-être que la langue est bien réglé dans le navigateur (par
exemple affiche pour l'instant la langue que tu utilises comme dans mon
message précédent des fois que tu aies laissé ton navigateur sur une
mauvaise langue).

Une fois que tu as mouliné tout cela, vois où tu en est et ouvre peut-être
si besoin une nouvelle conversation...

Bon courage
--
Patrice

"Etienne" a écrit dans le message de
news:
Décidément, je réponds toujours à côté !

Voilà en effet ce que j'obtiens :

en-US
en-US
1215.1215

Comment changer cela svp ?



"Patrice" a écrit :

> Je pensais plutôt à :
>


Response.Write(System.Theading.Thread.CurrentThread.CurrentCulture.Name);
>


Response.Write(System.Theading.Thread.CurrentThread.CurrentUICulture.Name);
> Response.Write(1215.1215);
>
> Les deux premiers donne la culture actuellement en cours. La dernière


ligne
> permet d'afficher un *nombre* (et non pas une chaîne) pour vérifier le
> formatage par défaut...
>
> Actuellement le code afficher simplement la langue du navigateur mais ne
> l'exploite pas, donc je m'attends à avoir le défaut (anglais).
>
> --
>
> "Etienne" a écrit dans le message de
> news:
> > Je vais répondre précisément :
> > Je me suis remis dans l'ancienne config, c'est à dire :
> > 1. mon machine.config comme mon web.config présente <globalization
> > requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> (pas de
> culture
> > mentionnée ici)
> > 2. J'ai commenté le code C# de contournement
> > 3. J'ai ajouté à la place du code de contournement :
> > if (Request.UserLanguages.Length != 0)
> > {
> > Response.Write(Request.UserLanguages[0]);
> > }
> > Response.Write("1215.1215");
> >
> > J'obtiens la chaine "fr1215.1215"
> >
> > Pourtant, mon interface utilisateur affiche tout en anglais.
> >
> > Donc :
> > Oui, la culture est correcte.
> > Si je rajoute culture="fr-FR" uiCulture="fr-FR" dans mon web.config,
> > toujours pb.
> > Mon projet est bien référencé et démarrer sous IIS.
> > Au final, je veux utiliser la langue du navigateur car plusieurs


agences
> > étrangères utilisent le programme mais la plupart des employés sont
> français
> > (d'où la bidouille que j'ai commenté pour un affichage français au


mieux).
> >
> > Je rappelle que sur le serveur d'origine comme en local pour le
> > développement, l'appli affiche bien le français pour moi, même sans la
> > bidouille. Les params linguistiques des 2 serveurs sont sur français
> partout.
> > Sur le nouveau serveur, j'ai les dates et les nombres en anglais (bien


que
> la
> > culture soit fr) si je ne fais pas la petite bidouille.
> >
> > Qu'en pensez vous ?
> >
> > "Patrice" a écrit :
> >
> > > Je comprends que cela soit agréable de résoudre le problème tout de
> suite je
> > > dois dire que la description du contournement m'embrouille un peu...
> > >
> > > Je demandais :
> > > - avant le contournement (donc avec un web.config et une culture non
> fixée
> > > par code), la culture est-elle correcte ?
> > > - sur la ligne d'après mettre un Response.Write 1215.1215
> > >
> > > Pour l'instant je cherche à déterminer si la configuration du


web.config
> est
> > > bien prise en compte (la racine de l'application est bien déclarée


comme
> une
> > > application IIS ?).
> > >
> > > Au final, que vouluiez vous ? Avoir toujours du français ou utiliser


la
> > > langue du navigateur ?
> > >
> > >
> > > --
> > >
> > > "Etienne" a écrit dans le


message de
> > > news:
> > > > En fait ma culture courante est bonne parce que je résouds
> temporairement
> > > le
> > > > problème en mentionnant cela dans chaque page de code behind :
> > > > string Language = "us-US";
> > > > if (Request.UserLanguages.Length != 0)
> > > > {
> > > > Language = Request.UserLanguages[0];
> > > > }
> > > > System.Globalization.CultureInfo CurrentUserCulture;
> > > > CurrentUserCulture > > > > > System.Globalization.CultureInfo.CreateSpecificCulture(Language);
> > > > System.Threading.Thread.CurrentThread.CurrentUICulture > > > > CurrentUserCulture;
> > > > System.Threading.Thread.CurrentThread.CurrentCulture > > CurrentUserCulture;
> > > >
> > > > Et j'obtiens grâce à cela le français. Je change aussi mes


procédures
> > > > stockées pour formater la date en français. Ce travail permet


d'avoir
> un
> > > > affichage en français mais ces transformations ne devraient
> normalement
> > > pas
> > > > être nécessaire.
> > > >
> > > > Les options linguistiques de mon serveur (ou est stocké le code)
> mentionne
> > > > Français partout donc pourquoi la langue US au final ?
> > > >
> > > > J'ai un serveur de données, et un serveur d'applis. Le pb est


apparu
> en
> > > > migrant mes applis (le code) sur le serveur actuel, mais les


données
> n'ont
> > > > pas changées de serveur. Sur le serveur actuel, mon interface
> utilisateur
> > > > affiche le format de date anglais alors que sur le serveur


d'origine,
> > > j'ai
> > > > bien le français (je teste sur les deux mais je dois rendre


l'ancien :
> > > > location) . Pourtant les paramètres de langues sont semblables...
> > > >
> > > > Le machine.config de mon nouveau serveur est exactement le même


que
> sur
> > > > l'ancien. Le problème doit donc venir des params du nouveau


serveur
> plutôt
> > > > que dans mon code asp.net mais tout semble correct, idem dans IIS.
> > > >
> > > > Là, je suis à court d'idée, et vous ?
> > > >
> > > > "Patrice" a écrit :
> > > >
> > > > > Affiche la culture courante sur ta page pour voir si elle est


bonne.
> > > Elle
> > > > > pourrait peut-être être fixée ailleurs dans ton code ?
> > > > >
> > > > > Les données que tu affiches viennent d'où ? Elles sont bien


formatés
> > > dans
> > > > > ..NET (et non pas au niveau par exemple d'un serveur SQL) ?
> > > > >
> > > > > Essaie peut-être un simple Response.Write(1515.1515)
> > > > >
> > > > > --
> > > > > Patrice
> > > > >
> > > > > "Etienne" a écrit dans le
> message de
> > > > > news:
> > > > > > Mes applications Web affichent les données en anglais (date
> mm/dd/yy,
> > > > > nombre
> > > > > > avec , pour les milliers et . pour les décimales). Pourtant


mon
> > > web.config
> > > > > > affiche
> > > > > > <globalization requestEncoding="iso-8859-1"
> > > responseEncoding="iso-8859-1"
> > > > > > culture="fr-FR" uiCulture="fr-FR" />
> > > > > > Avez vous une idée ?
> > > > > > Merci.
> > > > > >
> > > > > > PS : je suis en ASP.net 1.1 sous windows 2003 server.
> > > > >
> > > > >
> > > > >
> > >
> > >
> > >
>
>
>


Avatar
Etienne
Je vais ajouter la culture dans le begin request, ça évitera de polluer toute
mes pages ; la culture fr-FR dans le web.config ne change rien.

De toute façon, je sais que le problème ne vient pas du code ni du
navigateur car si j'exécute mon appli via le serveur d'orgine au même moment
en changeant juste l'url (le code est le même), tout marche bien. Donc c'est
un paramètre serveur mais tout est marqué sur français. Info : le pb se
produit chez tous les utilisateurs.

Avant que je copie les applis sur un nouveau serveur, mes SP SQL marchaient
bien. C'est donc un param de mon nouveau serveur d'appli qui modifie le
format de la langue autant dans le SQL que dans ASP.NET.

Je fais les modifs que vous m'avez proposé.
Je vous remercie pour votre aide et votre patience.

Etienne.

"Patrice" a écrit :

Selon ce que tu veux faire :
- tu peux modifier le fichier web.config en mettant fr-FR et vérifier si
cela marche ou non. Cela répondrait à ton premier message.

Sinon tu peux continuer par tester :

System.Theading.Thread.CurrentThread.CurrentCulture=new
CultureInfo("fr-FR");
System.Theading.Thread.CurrentThread.CurrentUICulture= new
CultureInfo("fr-FR");
Response.Write(1215.1215);

System.Theading.Thread.CurrentThread.CurrentCulture=new
CultureInfo("en-US");
System.Theading.Thread.CurrentThread.CurrentUICulture= new
CultureInfo("en-US");
Response.Write(1215.1215);

Avant peut-être de remettre le code qui teste la langue du navigateur
(éventuellement dans BeginRequest ce qui évite de le mettre sur toutes les
pages) et de refaire un essai avec un Response.Write(1215.1215);

Ce qui me chiffonne dans tes messages précédents est que tu semblais obligé
de modifier tes procédures stockées (avec un formatage côté serveur SQL ce
qui est pas top) pour obtenir le bon formatage.

Vérifie peut-être que la langue est bien réglé dans le navigateur (par
exemple affiche pour l'instant la langue que tu utilises comme dans mon
message précédent des fois que tu aies laissé ton navigateur sur une
mauvaise langue).

Une fois que tu as mouliné tout cela, vois où tu en est et ouvre peut-être
si besoin une nouvelle conversation...

Bon courage
--
Patrice

"Etienne" a écrit dans le message de
news:
> Décidément, je réponds toujours à côté !
>
> Voilà en effet ce que j'obtiens :
>
> en-US
> en-US
> 1215.1215
>
> Comment changer cela svp ?
>
>
>
> "Patrice" a écrit :
>
> > Je pensais plutôt à :
> >
Response.Write(System.Theading.Thread.CurrentThread.CurrentCulture.Name);
> >
Response.Write(System.Theading.Thread.CurrentThread.CurrentUICulture.Name);
> > Response.Write(1215.1215);
> >
> > Les deux premiers donne la culture actuellement en cours. La dernière
ligne
> > permet d'afficher un *nombre* (et non pas une chaîne) pour vérifier le
> > formatage par défaut...
> >
> > Actuellement le code afficher simplement la langue du navigateur mais ne
> > l'exploite pas, donc je m'attends à avoir le défaut (anglais).
> >
> > --
> >
> > "Etienne" a écrit dans le message de
> > news:
> > > Je vais répondre précisément :
> > > Je me suis remis dans l'ancienne config, c'est à dire :
> > > 1. mon machine.config comme mon web.config présente <globalization
> > > requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> (pas de
> > culture
> > > mentionnée ici)
> > > 2. J'ai commenté le code C# de contournement
> > > 3. J'ai ajouté à la place du code de contournement :
> > > if (Request.UserLanguages.Length != 0)
> > > {
> > > Response.Write(Request.UserLanguages[0]);
> > > }
> > > Response.Write("1215.1215");
> > >
> > > J'obtiens la chaine "fr1215.1215"
> > >
> > > Pourtant, mon interface utilisateur affiche tout en anglais.
> > >
> > > Donc :
> > > Oui, la culture est correcte.
> > > Si je rajoute culture="fr-FR" uiCulture="fr-FR" dans mon web.config,
> > > toujours pb.
> > > Mon projet est bien référencé et démarrer sous IIS.
> > > Au final, je veux utiliser la langue du navigateur car plusieurs
agences
> > > étrangères utilisent le programme mais la plupart des employés sont
> > français
> > > (d'où la bidouille que j'ai commenté pour un affichage français au
mieux).
> > >
> > > Je rappelle que sur le serveur d'origine comme en local pour le
> > > développement, l'appli affiche bien le français pour moi, même sans la
> > > bidouille. Les params linguistiques des 2 serveurs sont sur français
> > partout.
> > > Sur le nouveau serveur, j'ai les dates et les nombres en anglais (bien
que
> > la
> > > culture soit fr) si je ne fais pas la petite bidouille.
> > >
> > > Qu'en pensez vous ?
> > >
> > > "Patrice" a écrit :
> > >
> > > > Je comprends que cela soit agréable de résoudre le problème tout de
> > suite je
> > > > dois dire que la description du contournement m'embrouille un peu...
> > > >
> > > > Je demandais :
> > > > - avant le contournement (donc avec un web.config et une culture non
> > fixée
> > > > par code), la culture est-elle correcte ?
> > > > - sur la ligne d'après mettre un Response.Write 1215.1215
> > > >
> > > > Pour l'instant je cherche à déterminer si la configuration du
web.config
> > est
> > > > bien prise en compte (la racine de l'application est bien déclarée
comme
> > une
> > > > application IIS ?).
> > > >
> > > > Au final, que vouluiez vous ? Avoir toujours du français ou utiliser
la
> > > > langue du navigateur ?
> > > >
> > > >
> > > > --
> > > >
> > > > "Etienne" a écrit dans le
message de
> > > > news:
> > > > > En fait ma culture courante est bonne parce que je résouds
> > temporairement
> > > > le
> > > > > problème en mentionnant cela dans chaque page de code behind :
> > > > > string Language = "us-US";
> > > > > if (Request.UserLanguages.Length != 0)
> > > > > {
> > > > > Language = Request.UserLanguages[0];
> > > > > }
> > > > > System.Globalization.CultureInfo CurrentUserCulture;
> > > > > CurrentUserCulture > > > > > > System.Globalization.CultureInfo.CreateSpecificCulture(Language);
> > > > > System.Threading.Thread.CurrentThread.CurrentUICulture > > > > > CurrentUserCulture;
> > > > > System.Threading.Thread.CurrentThread.CurrentCulture > > > CurrentUserCulture;
> > > > >
> > > > > Et j'obtiens grâce à cela le français. Je change aussi mes
procédures
> > > > > stockées pour formater la date en français. Ce travail permet
d'avoir
> > un
> > > > > affichage en français mais ces transformations ne devraient
> > normalement
> > > > pas
> > > > > être nécessaire.
> > > > >
> > > > > Les options linguistiques de mon serveur (ou est stocké le code)
> > mentionne
> > > > > Français partout donc pourquoi la langue US au final ?
> > > > >
> > > > > J'ai un serveur de données, et un serveur d'applis. Le pb est
apparu
> > en
> > > > > migrant mes applis (le code) sur le serveur actuel, mais les
données
> > n'ont
> > > > > pas changées de serveur. Sur le serveur actuel, mon interface
> > utilisateur
> > > > > affiche le format de date anglais alors que sur le serveur
d'origine,
> > > > j'ai
> > > > > bien le français (je teste sur les deux mais je dois rendre
l'ancien :
> > > > > location) . Pourtant les paramètres de langues sont semblables...
> > > > >
> > > > > Le machine.config de mon nouveau serveur est exactement le même
que
> > sur
> > > > > l'ancien. Le problème doit donc venir des params du nouveau
serveur
> > plutôt
> > > > > que dans mon code asp.net mais tout semble correct, idem dans IIS.
> > > > >
> > > > > Là, je suis à court d'idée, et vous ?
> > > > >
> > > > > "Patrice" a écrit :
> > > > >
> > > > > > Affiche la culture courante sur ta page pour voir si elle est
bonne.
> > > > Elle
> > > > > > pourrait peut-être être fixée ailleurs dans ton code ?
> > > > > >
> > > > > > Les données que tu affiches viennent d'où ? Elles sont bien
formatés
> > > > dans
> > > > > > ..NET (et non pas au niveau par exemple d'un serveur SQL) ?
> > > > > >
> > > > > > Essaie peut-être un simple Response.Write(1515.1515)
> > > > > >
> > > > > > --
> > > > > > Patrice
> > > > > >
> > > > > > "Etienne" a écrit dans le
> > message de
> > > > > > news:
> > > > > > > Mes applications Web affichent les données en anglais (date
> > mm/dd/yy,
> > > > > > nombre
> > > > > > > avec , pour les milliers et . pour les décimales). Pourtant
mon
> > > > web.config
> > > > > > > affiche
> > > > > > > <globalization requestEncoding="iso-8859-1"
> > > > responseEncoding="iso-8859-1"
> > > > > > > culture="fr-FR" uiCulture="fr-FR" />
> > > > > > > Avez vous une idée ?
> > > > > > > Merci.
> > > > > > >
> > > > > > > PS : je suis en ASP.net 1.1 sous windows 2003 server.
> > > > > >
> > > > > >
> > > > > >
> > > >
> > > >
> > > >
> >
> >
> >