CalendarExtender en français [Résolu]

Signaler
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010
-
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
31 mars 2010
-
Bonjour,
Y a - t-il une façon d'obtenir un calendarExtender en français ?
On peut aller bidouiller l'hexadécimal comme un cracker, mais je cherche mieux !
merci
Gilles

13 réponses

Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

Bon, j'ai essayé une manip qui marche en local (pas encore essayé sur serveur distant) et qui permet de passer en culture française ou autre mais de manière fixe:
1.je rectifie CalendarBehavior.js  aux lignes évoquées dans le projet AjaxControlToolKit.sln
2. Je génère la solution
3. Je recopie la dll dans mon projet et ça roule.
Inconvénient, je ne fais que bloquer le format à "dd MMMM yyyy" par ex,  et traduire "today" par "aujourd'hui", et ne règle pas le problème de culture.
en attendant que quequ'un (pourquoi pas moi) se penche sur le pb de fond,
@+Gilles
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
les fichiers javascript sont contenu dans les ressourcoes de la dll c'est pour ca qu'on a un appel ScriptResource.axd dans le code HTML généré ...

<hr />Cyril - MVS - MCP
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonsoir, si tu utilises Ajax extensions (Atlas) le controle CalendarExtender doit supporter la localisation, tu bosses en anglais ? ou tout en francais ?

<hr />Cyril - MVS - MCP
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

bonsoir,
je bosse tout en français. Mais il semble que j'aie trouvé une partie de la solution :
Il suffit que le scriptManager comporte l'attribut : EnableScriptGlobalization=true.
Mais en bas du calendrier, il reste écrit : today : février 12, 2007 , comment agir sur ce format et sur "today" ?
je n'ai pas encore trouvé. Le format n'agit que sur le targetControl.
@+Gilles
PS mon histoire d'hexadécimal n'a aucun sens !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
J'allais justement te proposer EnableScriptGlobalization ... :-)

Pour ce qui est de ton problème avec le format de la date, t'es sur de vouloir une réponse ? :-)

Ligne 919 du fichier CalendarBehavior.js :

this._today.appendChild(document.createTextNode(
"Today: " + todaysDate.localeFormat(
"MMMM d, yyyy")));
(http://www.codeplex.com/AtlasControlToolkit/SourceControl/FileView.aspx?itemId=153587&changeSetId=18276)

pour soumettre un bug c'est ici : http://www.codeplex.com/AtlasControlToolkit/WorkItem/Create.aspx n'oublie pas de poster le lien du bug ici.

<hr />Cyril - MVS - MCP
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

voilà, le truc est signalé à l'adresse :
http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=8184

Mais un truc m'interroge, il doit me manquer pas mal de bases :
Dans le projet AjaxControlToolKit.sln livré avec le pack, je trouve le fichier CalendarBehavior.js dont il suffit que je modifie le contenu pour que le calendrier soit satisfaisant.
Mais dans un projet quelconque, si je fais glisser le calendarExtender sur la page, point de fichier CalendarBehavior.js , juste la dll, alors comment puis-je faire ? Ou plutôt l'architecture de AjaxControlToolKit.sln m'échappe un peu. Y a-t-il une solution simple ?
@+Gilles
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

rebonjour,
j'ai un peu arrangé le fichier CalendarBehavior.js
ln 896
 this._today.innerHTML = "Today:
" + todaysDate.localeFormat(" D ");
 //A la place de "today: " +  todaysDate.localeFormat("MMMM d, yyyy");
  //ainsi en format français ou en culture anglo-saxonne, par ex., le format est correct.
//Mais je ne sais pas comment on pourrait "traduire" automatiquement "today", qui est , lui, un mot réservé.Si qqn a une idée ...
pour mon application, j'ai mis 
"Aujourd'hui:
" + todaysDate.localeFormat("D");
mais on peut aussi bien l'enlever carrément !

j'ai aussi enlevé une virgule dans l'en-tête:
  ln 855
this._title.innerHTML = visibleDate.localeFormat("MMMM, yyyy");
changé en
this._title.innerHTML = visibleDate.localeFormat("Y");

Dès que ce sera parfait, je renverrai un message à www.codeplex
@+Gilles
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Je sais comment localiser "Today" mais c'est long a expliquer ... :-) en fait tu peux rajouter un fichier resx dans le projet, quand tu ajoute la WebResource (ScriptResource pour Atlas) tu peux spécifier un fichier de culture (resx) avec un namespace genre AjaxToolkit.Res.CalendarExtender à partir de là ASP.net te génére un tableau client contenu à partir du fichier resx. Si tu as une entrée TodayName dans ton fichier resx et que tu enregistre ta ressource avec le resx et le namespace truc.Res tu pourras accèder à ta variable en faisant truc.Res.TodayName qui vaudrais automatiquement la bonne valeure suivant le client ...

Mais je ne suis pas sur que l'équipe des toolkits utilisent ca ... de plus cette fonctionnalité est (comme beaucoup d'autre) absolument pas documenté (en tout cas il y a un mois quand j'ai du l'utiliser)

<hr />Cyril - MVS - MCP
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

autrement dit, j'ai du boulot !
Merci de tes précieux conseils.
@+Gilles
Messages postés
1
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
26 juin 2007

Bonjour,

Pour moi ça ne marche pas ????
j'ai modifie dans le fichier CalendarBehavior.js ensuite j'ai recompilé  la solution AjaxControlToolkit (release) ....

dans mon  projet web aspnet2.0 vs 2005 j'ai modifié la référence pour que je pointe sur l'actuelle  DLL mais rien a faire il m'affiche toujours "today" a la place Aujourd'hui????

est ce que j'ai oublié un truc.

Merci de votre aide
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
de mémoire le today est écrit en dur dans le code. C'est un bug qui est reporté ici : http://www.codeplex.com/WorkItem/View.aspx?ProjectName=AtlasControlToolkit&WorkItemId=8170 n'hésite pas à voter pour le bug pour qu'il soit réparé au plus tot ;)

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
119
Date d'inscription
lundi 15 avril 2002
Statut
Membre
Dernière intervention
28 novembre 2008

Bonjour à tous,
En fait tout se joue dans le control scriptmanager. Il suffit de mettre les attributs EnableScriptGlobalization et EnableScriptLocalisation à True et le tour est joué... le calendarextender est en français sans avoir à modifier le composant !!!



<
asp
:
ScriptManager



ID
="ScriptManager1"



runat
="server"



EnableScriptGlobalization
="true"



EnableScriptLocalization
="true">
</
asp
:
ScriptManager
>
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
31 mars 2010

<
asp
:
ScriptManager

ID
="ScriptManager1"


runat
="server"




EnableScriptGlobalization
="true"


EnableScriptLocalization
="true"


/>