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

291

    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. Orpo hiiri kadoksissa, Marin jo kommentoi

      Kuinka on valtiojohto hukassa, kun vihollinen Grönlantia valloittaa? Putinisti Purra myös hiljaa kuin kusi sukassa.
      Maailman menoa
      131
      6468
    2. Nuori lapualainen nainen tapettu Tampereella?

      Työ­matkalainen havahtui erikoiseen näkyyn hotellin käytävällä Tampereella – tämä kaikki epäillystä hotelli­surmasta tie
      Lapua
      73
      6402
    3. Lopeta jo pelleily, tiedän kyllä mitä yrität mies

      Et tule siinä onnistumaan. Tiedät kyllä, että tämä on just sulle. Sä et tule multa samaan minkäänlaista responssia, kosk
      Ikävä
      378
      6236
    4. Tampereen "empatiatalu" - "Harvoin näkee mitään näin kajahtanutta"

      sanoo kokoomuslainen. Tampereen kaupunginvaltuuston maanantain kokouksessa käsiteltävä Tampereen uusi hyvinvointisuunni
      Maailman menoa
      347
      4026
    5. Lidl teki sen mistä puhuin jo vuosikymmen sitten

      Eli asiakkaat saavat nyt "skannata" ostoksensa keräilyvaiheessa omalla älypuhelimellaan, jolloin ei tarvitse mitään eril
      Maailman menoa
      153
      2462
    6. Ukraina, unohtui korona - Grönlanti, unohtu Ukraina

      Vinot silmät, unohtui Suomen valtiontalouden turmeleminen.
      Maailman menoa
      6
      2379
    7. Orpo pihalla kuin lumiukko

      Onneksi pääministerimme ei ole ulkopolitiikassa päättäjiemme kärki. Hänellä on täysin lapsellisia luuloja Trumpin ja USA
      Kansallinen Kokoomus
      131
      1466
    8. Onko täällä helmessä tapahtunut vakava rikos?

      Onko kuullut kukaan mitään.
      Haapavesi
      14
      1374
    9. Miten kauan sulla menisi

      Jos tulisit mun luo tänne nyt kahvinkeittoon?
      Ikävä
      193
      1175
    10. Miksi me oikein

      Rakastuttiin?
      Ikävä
      64
      990
    Aihe