Message dialogin nappien tekstien muuttaminen

Lokalisointiako

Message dialogin viestin voi asettaa mieleisekseen, mutta miten voi pakottaa nuo Kyllä, Ei ja Peruuta -nappien teksti mieleisekseen. Miten niiden captioneihin pääsee käsiksi?

Esim.

strIlmoitus := 'Tiedosto on jo olemassa. haluatko korvata sen?';

case MessageDlg(strIlmoitus , mtCustom,
[mbYes, mbNo, mbCancel], 0) of ... jne

Tuossa noiden nappien tekstit näkyvät suomeksi Kyllä, Ei, Peruuta. muuta haluaisin ne englanniksi englannin kielistä sovellusta varten.

6

155

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Eikös ne nyt mene automaattisesti käyttöjärjestelmän kielen mukaan?

    • Lokalisointiako2

      "Eikös ne nyt mene automaattisesti käyttöjärjestelmän kielen mukaan?"
      Ei kun haluaisin nimenomaan pakottaa captionit noille napeille. Voisi tietysti tehdä oman dialogilomakkeensa niille, muuta luulisi, että on olemassa keino pakottaa nuo Message dialog -nappien captiontekstit.

      • Niin siis yritin sanoa sitä, että voit tehdä englannin kielisen version ja jättää huomioimatta nuo kun ne on lokalisoitu jo ja kieli vaihtuu automaatisesti riippuen käyttöjärjestelmän kieliasetuksista/versiosta.

        Näkyy sitten suomen kielisellä Windowsilla suomiasetuksilla suomenkielellä.

        Saattaa kyseinen dialogi olla ihan Windowsin vakioita, että ei ole keinoja vaikuttaa siihen muuten kuin tekemällä itse oman.


    • a--a--aaa

      kokeile tätä:

      procedure TForm1.Button1Click(Sender: TObject);
      var
      otsikko,viesti,ok,ei,
      okVastaus, eiVastaus:string;
      begin
      otsikko := 'Otsikko';
      viesti := 'viesti';
      ok := 'Kyllä';
      ei := 'Ei';
      okVastaus := 'Vastattiin kyllä';
      eiVastaus := 'Vastattiin ei';
      case QuestionDlg ( otsikko, viesti,mtCustom,[mrYes,ok, mrNo, ei, 'IsDefault'],'') of
      mrYes: Memo1.Lines.Add(okVastaus);
      mrNo: Memo1.Lines.Add(eiVastaus);
      end;
      end;

    • Affiliate-Julkaisia

      Kaikki vakiot löytyvät delphin Consts.pas tiedostosta.

      Tiedosto taas löytyy polusta . . . . . . \Delphi7\Source\Vcl\

      - kopioi Consts.pas tiedosto omaan projekti kansioosi.
      - avaa se jollakin tekstinkäsittely ohjelmalla
      - hae tiedosto kohta josta löytyy seuraavat vakio määrittelyt

      SMsgDlgWarning = 'Warning';
      SMsgDlgError = 'Error';
      SMsgDlgInformation = 'Information';
      SMsgDlgConfirm = 'Confirm';
      SMsgDlgYes = '&Kyllä Yes, yes';
      SMsgDlgNo = '&Ei hitossa';
      SMsgDlgOK = 'Selvä';
      SMsgDlgCancel = 'Cancel';
      SMsgDlgHelp = '&Help';
      SMsgDlgHelpNone = 'No help available';
      SMsgDlgHelpHelp = 'Help';
      SMsgDlgAbort = '&Abort';
      SMsgDlgRetry = '&Retry';
      SMsgDlgIgnore = '&Ignore';
      SMsgDlgAll = '&All';
      SMsgDlgNoToAll = 'N&o to All';
      SMsgDlgYesToAll = 'Yes to &All';

      - tee tarvittavat muutokset vakioiden sisältöön
      - tallenna muutkoset, sulje tiedosto, siirry delphiin.
      - avaa projektisi.
      - paina Shit F11 ja valitse se Consts.pas tiedosto projektiisi liitettäväksi
      - paina Ctrl F9 kääntääksesi projektisi uudestaan

      Nyt ohjelmaasi ajettaessa pitäisi näkyä muuttuneet tekstit painikkeissa.
      Älä muuta vakioiden nimiä, vain sisältöä, kuten tuohon muutaman esimerkkinä tein.

      • Delphix

        "Kaikki vakiot löytyvät delphin Consts.pas tiedostosta.
        Tiedosto taas löytyy polusta . . . . . . \Delphi7\Source\Vcl\"

        Aivan niin. Tosin nykyisessä Delphi 10.2 Community Editionissa Consts.pas on nimellä Vcl.Consts.pas.
        Löytyy hakemistosta Program Files (x86)/Embarcadero/Studio/19.0/source/vcl/.
        Kopioi tuo originaali Vcl.Consts.pas oman sovelluksesi projektihakemistoon ja tee tarvittavat muutokset caption-teksteihin siellä. Kääntämisen jälkeen painiketekstit näkyvät nyt sellaisena kuin olet ne kirjoittanut.


    Ketjusta on poistettu 3 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Katso: Ohhoh! Miina Äkkijyrkkä sai käskyn lähteä pois Farmi-kuvauksista -Kommentoi asiaa: "En ole.."

      Tämä oli shokkiyllätys. Oliko tässä kyse tosiaan siitä, että Äkkijyrkkä sanoi asioita suoraan vai mistä.... Tsemppiä, Mi
      Tv-sarjat
      160
      6815
    2. Voi kun mies rapsuttaisit mua sieltä

      Saisit myös sormiisi ihanan tuoksukasta rakkauden mahlaa.👄
      Ikävä
      36
      4047
    3. Poliisiauto Omasp:n edessä parkissa

      Poliisiauto oli parkissa monta tuntia Seinäjoen konttorin edessä tänään. Haettiinko joku tai jotain pankista tutkittavak
      Seinäjoki
      25
      2055
    4. Haluan jutella kanssasi Nainen

      Olisiko jo aika tavata ja avata tunteemme...On niin paljon asioita joihin molemmat ehkä haluaisimme saada vastaukset...O
      Ikävä
      18
      1989
    5. Onko mies niin,

      että sinulle ei riitä yksi nainen? Minulle suhde tarkoittaa sitoutumista, tosin eihän se vankila saa olla kummallekaan.
      Tunteet
      27
      1839
    6. Voitasko leikkiä jotain tunnisteleikkiä?

      Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta
      Ikävä
      77
      1666
    7. Tietysti jokainen ansaitsee

      Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt
      Ikävä
      17
      1573
    8. Armi Aavikko Malmin hautausmaa

      Haudattiinko Armi arkussa Malmin hautausmaalle vai tuhkattiinko hänet? Kuka tietää asiasta oikein?
      Kotimaiset julkkisjuorut
      27
      1568
    9. Haluisin suudella ja huokailla

      ja purra kaulaasi ja rakastella sinua. Haluisin puristella rintojasi ja pakaroitasi. Ei sinulla taida olla kuitenkaan ni
      Ikävä
      18
      1545
    10. Miksi näin?

      Miksi vihervassut haluaa maahan porukkaa jonka pyhä kirja kieltää sopeutumisen vääräuskoisten keskuuteen? Näin kotoutumi
      Maailman menoa
      36
      1408
    Aihe