IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

[Borland C++ 2006] Multilingue & chinois


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut [Borland C++ 2006] Multilingue & chinois
    Bonjour,
    j'avais développé une appli avec un bon vieux Borland Turbo C++ 2006, je 'lai ressortie des cartns pour rajouter quelques idées dont le multilingue grâce à l'excellent tuto : http://pottiez.developpez.com/tutori.../multilangage/
    Mais à ma grande surprise, alors que tout ça dormait bien au chaud sur Github, j'ai été contacté par un développeur néophyte comme moi, mais chinois et qui veut donc rajouter sa langue dans le fichier xml qui contient les chaînes de caractère.
    Hors pour que ça s'affiche bien j'encode le xml en UTF8 pour le lire dans Notepad++ (bon ça me fait sauter mes accents, mais ce n'est pas grave) hors dans le logiciel tout apparaît comme si sous Windows je n'affichais que du ANSI. Et là j'atteins mes courtes limites....bref je ne comprends rien et je n'ai aucune piste.

    Voilà ce que m'a envoyé mon correspondant :
    Nom : QQ图片20160215171200.png
Affichages : 743
Taille : 100,8 Ko
    Nom : QQ图片20160215171241.png
Affichages : 590
Taille : 200,4 Ko
    Nom : QQ图片20160215171318.png
Affichages : 619
Taille : 100,4 Ko

    Le fichier de traductions qu'il a créé :
    label.xml

    Sur mon poste :
    Nom : Capture.JPG
Affichages : 574
Taille : 42,7 Ko

    Merci dix millions de fois pour m'aider à dépanner ! Il y a un vrai enjeu éducatif derrière.

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 759
    Par défaut
    En C/ C++, il faut échapper tous les caractères

    Et avant de me faire écharper, c'est la technique de bourrin bulldozer

    En C/ C++, il faut utiliser '\xXX', pour 1 octet, '\uXXXX' pour 2 octets et '\UXXXXXXXX', pour 4 octets (<- si je ne dis pas de bêtises )

    Et j'utilise cet outil en ligne Unicode code converter, dans la partie en bas à gauche UTF-8 code units


    // Создайте учетную запись электронной почты Yahoo Быстрая и удобная почта с 1 ТБ бесплатного пространства для хранения сообщений, а также все преимущества Yahoo. Для начала создайте уникальное имя пользователя.
    str = "\xD0\xA1\xD0\xBE\xD0\xB7\xD0\xB4\xD0\xB0\xD0\xB9\xD1\x82\xD0\xB5\x20\xD1\x83\xD1\x87\xD0\xB5\xD1\x82\xD0\xBD\xD1\x83\xD1\x8E\x20\xD0\xB7\xD0\xB0\xD0\xBF\xD0\xB8\xD1\x81\xD1\x8C\x20\xD1\x8D\xD0\xBB\xD0\xB5\xD0\xBA\xD1\x82\xD1\x80\xD0\xBE\xD0\xBD\xD0\xBD\xD0\xBE\xD0\xB9\x20\xD0\xBF\xD0\xBE\xD1\x87\xD1\x82\xD1\x8B\x20\x59\x61\x68\x6F\x6F\x20\xD0\x91\xD1\x8B\xD1\x81\xD1\x82\xD1\x80\xD0\xB0\xD1\x8F\x20\xD0\xB8\x20\xD1\x83\xD0\xB4\xD0\xBE\xD0\xB1\xD0\xBD\xD0\xB0\xD1\x8F\x20\xD0\xBF\xD0\xBE\xD1\x87\xD1\x82\xD0\xB0\x20\xD1\x81\x20\x31\x20\xD0\xA2\xD0\x91\x20\xD0\xB1\xD0\xB5\xD1\x81\xD0\xBF\xD0\xBB\xD0\xB0\xD1\x82\xD0\xBD\xD0\xBE\xD0\xB3\xD0\xBE\x20\xD0\xBF\xD1\x80\xD0\xBE\xD1\x81\xD1\x82\xD1\x80\xD0\xB0\xD0\xBD\xD1\x81\xD1\x82\xD0\xB2\xD0\xB0\x20\xD0\xB4\xD0\xBB\xD1\x8F\x20\xD1\x85\xD1\x80\xD0\xB0\xD0\xBD\xD0\xB5\xD0\xBD\xD0\xB8\xD1\x8F\x20\xD1\x81\xD0\xBE\xD0\xBE\xD0\xB1\xD1\x89\xD0\xB5\xD0\xBD\xD0\xB8\xD0\xB9\x2C\x20\xD0\xB0\x20\xD1\x82\xD0\xB0\xD0\xBA\xD0\xB6\xD0\xB5\x20\xD0\xB2\xD1\x81\xD0\xB5\x20\xD0\xBF\xD1\x80\xD0\xB5\xD0\xB8\xD0\xBC\xD1\x83\xD1\x89\xD0\xB5\xD1\x81\xD1\x82\xD0\xB2\xD0\xB0\x20\x59\x61\x68\x6F\x6F\x2E\x20\xD0\x94\xD0\xBB\xD1\x8F\x20\xD0\xBD\xD0\xB0\xD1\x87\xD0\xB0\xD0\xBB\xD0\xB0\x20\xD1\x81\xD0\xBE\xD0\xB7\xD0\xB4\xD0\xB0\xD0\xB9\xD1\x82\xD0\xB5\x20\xD1\x83\xD0\xBD\xD0\xB8\xD0\xBA\xD0\xB0\xD0\xBB\xD1\x8C\xD0\xBD\xD0\xBE\xD0\xB5\x20\xD0\xB8\xD0\xBC\xD1\x8F\x20\xD0\xBF\xD0\xBE\xD0\xBB\xD1\x8C\xD0\xB7\xD0\xBE\xD0\xB2\xD0\xB0\xD1\x82\xD0\xB5\xD0\xBB\xD1\x8F\x2E";

    // 网可让你左右逢源,尽如人意。 无出其右的Yahoo 邮箱、重大地方新闻和国内外新闻、财经、体育、音乐和影视等精彩内容。探索网上大千世界,一览人间五光十色。
    str = "\xE7\xBD\x91\xE5\x8F\xAF\xE8\xAE\xA9\xE4\xBD\xA0\xE5\xB7\xA6\xE5\x8F\xB3\xE9\x80\xA2\xE6\xBA\x90\xEF\xBC\x8C\xE5\xB0\xBD\xE5\xA6\x82\xE4\xBA\xBA\xE6\x84\x8F\xE3\x80\x82\x20\xE6\x97\xA0\xE5\x87\xBA\xE5\x85\xB6\xE5\x8F\xB3\xE7\x9A\x84\x59\x61\x68\x6F\x6F\x20\xE9\x82\xAE\xE7\xAE\xB1\xE3\x80\x81\xE9\x87\x8D\xE5\xA4\xA7\xE5\x9C\xB0\xE6\x96\xB9\xE6\x96\xB0\xE9\x97\xBB\xE5\x92\x8C\xE5\x9B\xBD\xE5\x86\x85\xE5\xA4\x96\xE6\x96\xB0\xE9\x97\xBB\xE3\x80\x81\xE8\xB4\xA2\xE7\xBB\x8F\xE3\x80\x81\xE4\xBD\x93\xE8\x82\xB2\xE3\x80\x81\xE9\x9F\xB3\xE4\xB9\x90\xE5\x92\x8C\xE5\xBD\xB1\xE8\xA7\x86\xE7\xAD\x89\xE7\xB2\xBE\xE5\xBD\xA9\xE5\x86\x85\xE5\xAE\xB9\xE3\x80\x82\xE6\x8E\xA2\xE7\xB4\xA2\xE7\xBD\x91\xE4\xB8\x8A\xE5\xA4\xA7\xE5\x8D\x83\xE4\xB8\x96\xE7\x95\x8C\xEF\xBC\x8C\xE4\xB8\x80\xE8\xA7\x88\xE4\xBA\xBA\xE9\x97\xB4\xE4\xBA\x94\xE5\x85\x89\xE5\x8D\x81\xE8\x89\xB2\xE3\x80\x82";

    // 𠜎𠜱𠝹𠱓𠱸𠲖𠳏𠳕𠴕𠵼𠵿𠸎𠸏𠹷𠺝𠺢𠻗𠻹𠻺𠼭𠼮𠽌𠾴𠾼𠿪𡁜𡁯𡁵𡁶𡁻𡃁𡃉𡇙𢃇𢞵𢫕𢭃𢯊𢱑𢱕𢳂𢴈𢵌𢵧𢺳𣲷𤓓𤶸𤷪𥄫𦉘𦟌𦧲𦧺𧨾𨅝𨈇𨋢𨳊𨳍𨳒𩶘
    str = "\xF0\xA0\x9C\x8E\xF0\xA0\x9C\xB1\xF0\xA0\x9D\xB9\xF0\xA0\xB1\x93\xF0\xA0\xB1\xB8\xF0\xA0\xB2\x96\xF0\xA0\xB3\x8F\xF0\xA0\xB3\x95\xF0\xA0\xB4\x95\xF0\xA0\xB5\xBC\xF0\xA0\xB5\xBF\xF0\xA0\xB8\x8E\xF0\xA0\xB8\x8F\xF0\xA0\xB9\xB7\xF0\xA0\xBA\x9D\xF0\xA0\xBA\xA2\xF0\xA0\xBB\x97\xF0\xA0\xBB\xB9\xF0\xA0\xBB\xBA\xF0\xA0\xBC\xAD\xF0\xA0\xBC\xAE\xF0\xA0\xBD\x8C\xF0\xA0\xBE\xB4\xF0\xA0\xBE\xBC\xF0\xA0\xBF\xAA\xF0\xA1\x81\x9C\xF0\xA1\x81\xAF\xF0\xA1\x81\xB5\xF0\xA1\x81\xB6\xF0\xA1\x81\xBB\xF0\xA1\x83\x81\xF0\xA1\x83\x89\xF0\xA1\x87\x99\xF0\xA2\x83\x87\xF0\xA2\x9E\xB5\xF0\xA2\xAB\x95\xF0\xA2\xAD\x83\xF0\xA2\xAF\x8A\xF0\xA2\xB1\x91\xF0\xA2\xB1\x95\xF0\xA2\xB3\x82\xF0\xA2\xB4\x88\xF0\xA2\xB5\x8C\xF0\xA2\xB5\xA7\xF0\xA2\xBA\xB3\xF0\xA3\xB2\xB7\xF0\xA4\x93\x93\xF0\xA4\xB6\xB8\xF0\xA4\xB7\xAA\xF0\xA5\x84\xAB\xF0\xA6\x89\x98\xF0\xA6\x9F\x8C\xF0\xA6\xA7\xB2\xF0\xA6\xA7\xBA\xF0\xA7\xA8\xBE\xF0\xA8\x85\x9D\xF0\xA8\x88\x87\xF0\xA8\x8B\xA2\xF0\xA8\xB3\x8A\xF0\xA8\xB3\x8D\xF0\xA8\xB3\x92\xF0\xA9\xB6\x98";

    Attention, il faut des fois couper tes chaînes de caractères en plusieurs morceaux en la fermant/ ré-ouvrant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        str = "fran\xC3\xA7""ais";

    Édit : N'oublie pas le BOM UTF-8 "\xEF\xBB\xBF" lors de l'écriture de tes fichiers

  3. #3
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut
    Merci des infos (même si je suis un peu perdu...).
    Dans mon fichier XML je ne peux pas mettre de " sinon ça affiche à l'identique.
    Le texte à convertir est dans un fichier XML, pas dans mon programme en C.

  4. #4
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 759
    Par défaut
    Parce que je pense que tu lis ton fichier XML en ANSI - Latin-1 ou en ASCII et donc tes caractères ne sont pas les bons

    Tu lis comment ton fichier XML? (quelle bibliothèque? quel bout de code? quel type de sortie pour tes chaînes de caractères?)


    Sinon lit le wiki: il faut également échapper les caractères dans ton XML " -> &quot;

Discussions similaires

  1. Langue native de Borland studio 2006
    Par Bofum dans le forum Delphi
    Réponses: 1
    Dernier message: 23/02/2007, 13h31
  2. Source vcl et rtl du borland delphi 2006
    Par Bourak dans le forum Delphi
    Réponses: 1
    Dernier message: 12/12/2006, 13h27
  3. composants Indy dans Borland c++ 2006
    Par igouya dans le forum C++Builder
    Réponses: 12
    Dernier message: 21/11/2006, 11h39
  4. erreur installation borland delphi 2006
    Par Ice-tea dans le forum Delphi
    Réponses: 1
    Dernier message: 14/10/2006, 23h49
  5. BOrland TurboC++ 2006
    Par tankd dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 15/09/2006, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo