affichage de la date en français

macvelottemacvelotte Membre
22:35 modifié dans API AppKit #1
NSCalendarDate , avec une date au format @%A %d %B %Y fournit une réponse en anglais.
Comment obtenir l'affichage en français ?

Réponses

  • ClicCoolClicCool Membre
    22:35 modifié #2
    Es-tu bien sur que tes préférences "international" utilisateur spécifie bien France (langue et format) ?

    En théorie c'est ce réglage qui par défaut est pris en compte pour le choix des dictionaires NSWeekDayNameArray, NSMonthNameArray etc... utilisés pour l'affichage d'une NSCalendarDate via un NSFormater sur un NSTextField ou lors d'un log (qui utilise - (NSString *)descriptionWithLocale:(NSDictionary *)locale) ...

    Ceci dit, si le nom des jours et des mois affiché est convenable avec la localisation via un NSDateFormatter qui permet d'afficher le jour puis le mois puis l'année, je ne comprends pas pourquoi, lors de la saisie d'une date comme "10/01/05" dans le NSTextField ne semble pas respecter cet ordre et interprète "1er Octobre 2005". Le NSDateFormatter est sensé être réversible et localisé dans les 2 sens non ? ???

    De la même façon si j'entre "hier", la valeur n'est pas acceptée alors que "yesterday" l'est ?

    J'ai loupé une marche ?
  • macvelottemacvelotte Membre
    22:35 modifié #3
    Les Preferences étant correctes (International : France), les commandes suivantes :
    NS String *aujourdhui;
    NSCalendarDate *cejour;
    cejour=[NSCalendarDate calendarDate];
    aujourdhui=[cejour descriptionWithCalendarFormat:@%A, %d %B %Y, %H h %M];
    [dateEtHeure setObjectValue: aujourdhui];

    écrit dans le champ de texte dateEtHeure : Monday, 10 january 2005, 18 h 25

    J'y perds mon français !!!!
  • BruBru Membre
    22:35 modifié #4
    Remplace :

    aujourdhui=[cejour descriptionWithCalendarFormat:@"%A, %d %B %Y, %H h %M"];
    


    par :

    <br />aujourdhui=[cejour descriptionWithCalendarFormat:@&quot;%A, %d %B %Y, %H h %M&quot;<br />            locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];<br />
    


    et tout sera en bon français.

    .
  • ClicCoolClicCool Membre
    janvier 2005 modifié #5
    Et si tu fais:
    NSLog(@&quot;date en Francais ?: %@&quot;, cejour);
    


    La date s'écrit comment dans la console ?

    Et si tu fais:
    aujourdhui=[cejour descriptionWithCalendarFormat:@&quot;%A, %d %B %Y, %H h %M&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
    


    ça donne quoi alors ?

    [EDIT] OUPS, j'avais pas rafraichi ma page avant de répondre :(
    Total: j'ai presqu'une heure de retard sur la réponse et l'air d'un C..  :'(
  • ClicCoolClicCool Membre
    22:35 modifié #6
    Réflexion faite, je n'ai toujours pas compris pourquoi, lorsque j'ai un NSTextField avec un NSDateFormater associé, j'ai l'affichage de la date localisé convenablement et que lors de la saisie sur ce même textField y'a plus de localisation: saisie mois-jour-année ou "today", "yesterday" etc... acceptée et saisie jour-mois-année ou "hier" etc... refusée

    Je suis le seul dans ce cas ?
    ???
  • macvelottemacvelotte Membre
    22:35 modifié #7
    Merci à  Bru et ClicCool : ça marche ! La doc Apple concernant "locale " est, comme le reste de la doc, pas claire du tout !
Connectez-vous ou Inscrivez-vous pour répondre.