[Spip] spiplib v0.0.4

J'ai ajouté un champ optionnel pour l'appel de "affdate", qui est la langue:

affdate ("2000-02") | février 2000
affdate ("2000-02","en") | february 2000

langues =
    rien ou "fr" > français
    "en" > anglais

http://atlas.bok.net/~fil/spip/spiplib.inc_0.0.4.phps

Le code modifié est vers les lignes 200 :

        if (substr($jour,0,1)=="0") $jour=substr($jour,1,1);

        if (($lang == "") || ($lang =="fr")){
                if (strcmp($jour,"1")==0) $jour="1er";
                if ($jour) $jour .= " ";
                if ($mois==1) {$mois="janvier"; $spip_date_de="de ";}
                if ($mois==2) {$mois="février"; $spip_date_de="de ";}
                if ($mois==3) {$mois="mars"; $spip_date_de="de ";}
                if ($mois==4) {$mois="avril"; $spip_date_de="d'";}
                if ($mois==5) {$mois="mai"; $spip_date_de="de ";}
                if ($mois==6) {$mois="juin"; $spip_date_de="de ";}
                if ($mois==7) {$mois="juillet"; $spip_date_de="de ";}
                if ($mois==8) {$mois="août"; $spip_date_de="d'";}
                if ($mois==9) {$mois="septembre"; $spip_date_de="de ";}
                if ($mois==10){$mois="octobre"; $spip_date_de="de ";}
                if ($mois==11){$mois="novembre"; $spip_date_de="de ";}
                if ($mois==12){$mois="décembre"; $spip_date_de="de ";}
        } elseif ($lang == "en"){
                if (strcmp($jour,"1")==0) $jour="1st";
                if ($jour) $jour .= " ";
                if ($mois==1) {$mois="january";}
                if ($mois==2) {$mois="february";}
                if ($mois==3) {$mois="march";}
                if ($mois==4) {$mois="april";}
                if ($mois==5) {$mois="may";}
                if ($mois==6) {$mois="june";}
                if ($mois==7) {$mois="july";}
                if ($mois==8) {$mois="august";}
                if ($mois==9) {$mois="september";}
                if ($mois==10){$mois="october";}
                if ($mois==11){$mois="november";}
                if ($mois==12){$mois="december";}
        }

Ah oui, elle est pratique, cette fonction.

Mais bug en anglais: les dates s'expriment à l'envers: le mois, puis le jour, plus l'année. De plus tous les jours sont suivis de "th", "d" ou "st".

20 janvier 2000 -> january 20th, 2000

Ca doit être facile à corriger:

-> modifier la "1->1st" pour obtenir:
      1, 21, 31-> xx."st"
      2,3 -> xx."d"
     autre chiffres -> xx."th".
    (je crois que c'est tout).

-> gérer la mise en place de $res à l'intérieur des "else" de langage, et non plus plus après. De façon à avoir un ordre différent entre français et anglais (en anglais: mois jour, année - penser à la virgule).

Mais autre question, alors:
-> est-ce qu'il faut tout prévoir en 2 langues, où développer ensuite des versions localisées? Parce qu'il faut aussi penser que la macro "propre" corrige la typographie "à la française" (espaces avant certains signes).

Amicalement,
ARNO*

>affdate ("2000-02") | février 2000
>affdate ("2000-02","en") | february 2000
Mais bug en anglais: les dates s'expriment à l'envers: le mois, puis
le jour, plus l'année. De plus tous les jours sont suivis de "th",
"d" ou "st".

20 janvier 2000 -> january 20th, 2000

Ca doit être facile à corriger:

-> modifier la "1->1st" pour obtenir:
      1, 21, 31-> xx."st"
      2,3 -> xx."d"
     autre chiffres -> xx."th".
    (je crois que c'est tout).

-> gérer la mise en place de $res à l'intérieur des "else" de
langage, et non plus plus après. De façon à avoir un ordre différent
entre français et anglais (en anglais: mois jour, année - penser à la
virgule).

Vas-y ! Fais attention à ce qu'on doit faire lorsque l'on n'a pas de jour.

Mais autre question, alors:
-> est-ce qu'il faut tout prévoir en 2 langues, où développer ensuite
des versions localisées? Parce qu'il faut aussi penser que la macro
"propre" corrige la typographie "à la française" (espaces avant
certains signes).

Je ne raisonne pas comme ça : pour moi spiplib.inc c'est l'endroit où je
regroupe toutes les fonctions dont j'ai besoin. J'avais besoin d'adapter
affdate au cas anglais, voilà. Ca ne retranche rien au reste et n'implique
pas un bilinguisme total

Encore une ptite correction : les caractères ³ et ² méritent d'être traduits
en HTML vu qu'ils ne passent pas à cru. Donc à deux endroits j'ai ajouté :

        $reg = ereg_replace("³","“",$reg);
        $reg = ereg_replace("²","”",$reg);

donc version 0.0.5 http://atlas.bok.net/~fil/spip/spiplib.inc_0.0.5.phps