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

285

    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. Lataus pakkaskelissä

      En olisi koskaan ostanut sähköautoa jos olisin tajunnut että ne eivät lataa pakkasissa suurteholatauksella vaan istut tu
      Hybridi- ja sähköautot
      121
      4600
    2. Kun väestö ikääntyy ja veronmaksajat vähenee, mitä sitten vasemmistolaiset?

      Maahanmuutto ei vaan ole ratkaisu väestön ikääntymiseen. Maahanmuutto lykkää ja hidastaa väestön ikääntymistä ja työv
      Maailman menoa
      69
      2662
    3. Miksei Trump ole kiinnostunut Suomen valloittamisesta?

      Täällähän on enemmän turvetta kuin Norjalla öljyä. Eikö Ttump ole turvenuija?
      Maailman menoa
      80
      1695
    4. Kyllä mä suren

      Sitä että mikään ei ole kuten ennen. Ei niitä hetkiä ja katseita. Toisaalta keho lepää eikä enää tarvitse sitä tuskaa ko
      Ikävä
      9
      1176
    5. Jos vielä joku päivä nähtäis...

      Miten suhtautuisit minuun, mies?
      Ikävä
      66
      892
    6. Laitetaan nyt kirjaimet kohdilleen

      kuka rakastaa ja ketä ?
      Ikävä
      46
      886
    7. Nyt se on varmaa kuntajakoselvitys

      Ensi viikolla tuöee kuntaministeri ulos ja kertoo asiasta.
      Ähtäri
      21
      863
    8. Olet mies aika ailahteleva luonteeltasi

      Olen nähnyt kuinka olet iloinen, sosiaalinen ja osallistuva. Autat ja kannustat muita. Ja sitten olen nähnyt kuinka istu
      Ikävä
      122
      849
    9. Yhteen hiileen velanottoveljet V P K

      Tytäryhtiöissä palaa julkista rahaa ja vastuuttomuuden takia -ei pakollisten -kuntalain edellyttämien asioiden takia! N
      Pyhäjärvi
      67
      817
    10. Olisin valmis tutustumaan uudelleen

      En menneisyyden kautta vaan haluaisin tutustua ihmiseen, jollaiseksi olet kasvanut.
      Ikävä
      50
      789
    Aihe