[Résolu] Bug des apostrophes suite à la mise à jour !

  • Statut : non résolu
14 sujets de 31 à 44 (sur un total de 44)
  • Auteur
    Messages
  • #838022
    Guy
    Participant
    Maître WordPress
    14833 contributions

    Tu as toujours des articles avec ce bug: http://lestoilesheroiques.fr/2012/06/captain-america-2-la-suite-sest-trouvee-ses-realisateurs.html

    Sur quelle machine saisis tu tes articles, est ce que tous les articles sont saisis sur la même machine?

    Comme l’a expliqué Angelique, il existe plusieurs caractères d’apostrophes, il suffirait qu’une machine sous windows à la saisie du caractère apostrophe l’insère avec un certain code (issu du clavier) et une machine sous mac l’insère avec un autre code, ou que la configuration du navigateur sur lequel on fait la saisie soit différente au niveau de l’encodage des caractères. C’est pour cela que je demandais si on pouvait avoir les données brutes tels qu’elles sont dans la base de données.

    Par exemple, je n’arrive pas à reproduire l’erreur décrite, et je n’ai pas non plus de différence entre IE, Firefox ou Chrome, tous produisent la même erreur en affichant tes articles.

    #838023
    angeliquesoleil
    Participant
    Initié WordPress
    17 contributions

    J’utilise Windows 7 et un clavier multilingue canadien français. Si ça peut être une donnée. Pour le reste, les dernières versions de tous les navigateurs.

    ***

    Historiquement, la fonction texturize cause beaucoup de problèmes. Elle a pour fonction de remplacer certains types de caractères par d’autres, dans l’affichage.
    (par exemple : http://core.trac.wordpress.org/ticket/1418, http://lists.automattic.com/pipermail/wp-trac/2008-September/031861.html )

    J’ai testé avec du texte préformaté (dans les options de la police) et le bogue ne se produit pas. Or la fonction ne s’applique jamais sur le texte préformaté.

    Cela dit, contrairement à Loutre, pour ma part, tous mes apostrophes ont été changés pour des doubles apostrophes (”) dans ma base de données. J’ai comparé avec un ami et les siens étaient normaux et simples (‘).

    Considérant aussi que 3.4 semble ajouter de nouvelles fonctions pour le texturize (si je me fie à ça : http://make.wordpress.org/polyglots/important-changes-for-wordpress-3-4/ ), ça serait probablement dans le formatting.php que le problème se situe?
    Ce sont les changements appliqués à wordpress 3.4 : http://core.trac.wordpress.org/changeset/19795 .

    Je peux peut-être te copier les même lignes chez moi. Personnellement, je ne suis jamais très bonne avec le code alors…

    #838024
    angeliquesoleil
    Participant
    Initié WordPress
    17 contributions

    Bon, les seuls hangements apport6és dans formatting.php dans 3.4 sont sur les urls. Aucune idée donc, de la source du bogue.

    /**
     * Sanitize space or carriage return separated URLs that are used to send trackbacks.
     *
     * @since 3.4.0
     *
     * @param string $to_ping Space or carriage return separated URLs
     * @return string URLs starting with the http or https protocol, separated by a carriage return.
     */
    function sanitize_trackback_urls( $to_ping ) {
    	$urls_to_ping = preg_split( ‘/rnt /’, trim( $to_ping ), -1, PREG_SPLIT_NO_EMPTY );
    	foreach ( $urls_to_ping as $k => $url ) {
    		if ( !preg_match( ‘#^https?://.#i’, $url ) )
    			unset( $urls_to_ping[$k] );
    	}
    	$urls_to_ping = array_map( ‘esc_url_raw’, $urls_to_ping );
    	$urls_to_ping = implode( “n”, $urls_to_ping );
    	return apply_filters( ‘sanitize_trackback_urls’, $urls_to_ping, $to_ping );
    }

    #838025
    angeliquesoleil
    Participant
    Initié WordPress
    17 contributions

    Il y a aussi une fonction qui insère des espaces dans les nombres depuis 3.4
    Techniquement 1000000000 deviendrait 1 000 000 000.

    #838026
    Guy
    Participant
    Maître WordPress
    14833 contributions

    La fonction wptexturize (la première du fichier formatting.php) a été pas mal remaniée entre les deux versions. Il m’est difficile de debuguer car je n’arrive pas à le reproduire.

    #838027
    xavier
    Gestionnaire du forum
    Maître WordPress
    2126 contributions

    Bonjour à tous !

    Le problème a été corrigé dans l’archive officielle cette nuit, vers 1h20 (si, si !), mais bien sûr nombre de gens avaient déjà fait l’installation 🙂

    L’explication est simple : WordPress autorise désormais les traducteurs à mettre en place une typographie correcte pour leur langue, et remplace certains signes à la volée lors de l’affichage. Par exemple, les guillemets droits (“mot”) sont remplacés par des guillemets français (« mot », ou en HTML : « mot &raquo).

    Le problème était que l’apostrophe a été mal “remplacée” : plutôt que de remplacer ‘ par ’ (soit ’), une erreur l’a fait remplacer par  ’, d’où l’espace en trop (nbsp : non-breaking space). Ca n’a rien à voir avec la base de données, le texte stocké reste le même, c’est lors de l’affichage qu’il est traité.

    Le fichier corrigé se trouve ici : http://svn.automattic.com/wordpress-i18n/fr_FR/branches/3.4/messages/fr_FR.mo
    Téléchargez-le, et placez-le sur votre serveur (via votre client FTP) à la place du fichier du même nom, dans /wp-content/languages/
    Autrement, vous pouvez sans doute refaire une installation de la v3.4-FR par-dessus l’existante.

    Désolé pour cette erreur ! Et n’hésitez pas à nous signaler les autres que vous découvrez : traduction@wordpress-fr.net

    Merci à tous pour votre compréhension !

    #838028
    Guy
    Participant
    Maître WordPress
    14833 contributions

    Ah merci Xavier, l’erreur était donc dans la traduction française, je suppose que c’est pour cela que dans aucun forum étranger il n’y était fait mention.

    Et… ayant fait la mise à jour après les 1h20 fatidique, je ne pouvais pas le constater 🙂

    #838029
    angeliquesoleil
    Participant
    Initié WordPress
    17 contributions

    J’ai réinstallé la version et enlever les lignes de codes et réactivé texturize. Problème réglé, hourra! Merci beaucoup!
    (Je me demande toutefois en quoi désactiver texturize permettait de régler le bogue temporairement.)

    #838030
    Guy
    Participant
    Maître WordPress
    14833 contributions

    La fonction wptexturize est appelée pour presque toutes les sorties écran afin de vérifier et rendre plus “jolie” l’apprence des textes.

    Si tu regardes la fonction wptexturize, il y a des versions “localisées” des chaines de remplacements pour les guillemets, apostrophes etc.. qui ne seront pas forcément identiques selon les langues ou habitudes typographiques régionales.

    La traduction française avait traduit l’apostrophe simple en rajoutant un espace devant. C’est ce qui a été corrigé.

    Je ne l’avais jamais vu dans les versions beta, tout simplement parce que je n’avais jamais chargé les fichiers de traduction (mea culpa) et j’avais fait les mises à jour automatiques après la correction sur les serveurs.

    #838031
    iSteph
    Membre
    Initié WordPress
    2 contributions

    Je trouve ça très bien que WordPress se souci des règles typographiques de notre langue.

    Par contre, juste au passage, je signale aux internautes qui ont postés ici que l’espace typographique est féminin. On doit donc dire (et écrire) une espace et non un espace. Vous pouvez le vérifier dans n’importe quel bon dico. (ici par exemple)

    #838032
    xavier
    Gestionnaire du forum
    Maître WordPress
    2126 contributions

    C’est même comme ça qu’à commencé WordPress, pour simplifier : Matt, le fondateur du projet WP, a participé à b2 avec un patch pour faire de belles apostrophes. Voyant que le projet b2 dépérissait, il a décidé de le reprendre et le nommer WordPress 🙂

    #838033
    Guy
    Participant
    Maître WordPress
    14833 contributions

    ben oui 🙂 tu as raison, merci de le rappeler.

    Je l’oublie toujours, je ne sais pas pourquoi cela a du mal à entrer (une espace, une espace, une espace…).

    #838034
    Comme une image
    Participant
    Maître WordPress
    2493 contributions
    iSteph wrote:
    Je trouve ça très bien que WordPress se souci des règles typographiques de notre langue.

    Par contre, juste au passage, je signale aux internautes qui ont postés ici que l’espace typographique est féminin. On doit donc dire (et écrire) une espace et non un espace. Vous pouvez le vérifier dans n’importe quel bon dico. (ici par exemple)

    Steph, il faut aussi se soucier des règles orthographiques !
    Donc : « WordPress se soucie » et « l’espace typographique est féminine » (ben oui, justement !).
    🍺

    #838035
    iSteph
    Membre
    Initié WordPress
    2 contributions

    Steph, il faut aussi se soucier des règles orthographiques !
    Donc : « WordPress se soucie » et « l’espace typographique est féminine » (ben oui, justement !).

    Oui ben vu Comme une image !
    La prochaine fois je me relis, promis !

14 sujets de 31 à 44 (sur un total de 44)
  • Vous devez être connecté pour répondre à ce sujet.