2012-01-20 2 views
0

Je travaille à l'internationalisation d'un projet doté d'un sélecteur de date personnalisé. La version en-US affiche un message comme à l'utilisateur "Date invalide, le format valide est mm/jj/aaaa." La "date non valide, format valide est mm/jj/aaaa" est une chaîne de ressources. Le permet de personnaliser le format de date à partir de la culture par défaut, donc la simple traduction de la partie 'mm/jj/aaaa' n'est pas une option. Je sais comment obtenir le format de la date à partir de la culture actuelle (en .net) mais je me demandais s'il y avait une façon de traduire le m, s, et y ou quelle est la pratique généralement acceptée pour ce type de problème?I18N Format de la chaîne de caractères

+1

J'ai pas d'expérience en internationalisant, mais je pense que vous pouvez utiliser un format datetime fixe comme celui-ci DATETIME var = DateTime.ParseExact ("20120120 18:20:22 +0000", « HH aaaaMMjj: mm: ss zzzz ", CultureInfo.InvariantCulture);' 'var str = datetime.ToString (" yyyyMMdd HH: mm: ss zzzz ", CultureInfo.InvariantCulture);' –

+0

Le problème ne consiste pas à analyser une chaîne que l'utilisateur saisit mais plutôt afficher le message d'erreur approprié lorsque l'utilisateur entre quelque chose qui est invalide. Exemple - en France le format de date est mm/jj/aaaa (qui est le format que le système devrait accepter lorsque la culture est fr-FR). Toujours en français jour est jour, mois est mois, et année est annee. Donc, le message d'erreur pourrait afficher mm/jj/aaaa (en supposant que c'est comme ça qu'ils font un format de date en français). – Gus

Répondre

0

Vous auriez besoin de l'externaliser pour le déplacer vers un fichier de ressources. Il n'y a aucune pratique en tant que telle, mais ce que je pourrais recommander est de générer l'entrée de DateTimeFormatInfo (il y a un commutateur de format "g" qui vous donne ce qu'on appelle général, c'est la date par défaut &). Ajouter un commentaire approprié ne fera pas de mal non plus.

Questions connexes