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

276

    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. Persujen mukaan rasismi on huumoria

      Vaan kun koomikko kutsui Halla-ahoa fasistiksi, niin piti haastaa oikeuteen. Mihin se huumorinitaju yhtäkkiä hävisi? ⠀
      Maailman menoa
      88
      4395
    2. BOIKOTOIN - Ei mitään Suomi.fi postilaatikoita käyttöön

      Ainakaan minulle! Vai että pitäisi alkaa siellä käyädä katselemassa tammikuusta 2026 siis periaatteessa päivittäin että
      Maailman menoa
      198
      3604
    3. 202
      2981
    4. Lasse Lehtonen vaatii persuja pyytämään anteeksi aasialaisilta

      Persut ova romahduttaneet Suomen maakuvan parissa päivässä negatiiviseksi rasismillaan ja se alkaa vaikuttamaan jo Suome
      Maailman menoa
      70
      2813
    5. Hallitus on kaadettava ja Orpon on erottava

      Mikään muu hallitus ei ole oman elämäni aikana tuhonnut näin paljon tämän maan taloutta ja työllisyyttä sekä suomen main
      Maailman menoa
      55
      2704
    6. Lasse Lehtonen palasi ambulanssilennolla Suomeen

      Nyt on syytä lopettaa irvailu.
      Maailman menoa
      81
      1306
    7. 60
      1246
    8. Aitolehti Capital

      HehkuB on myynnissä, kovalla työllä saavutettu unelma joka sekin lässähti kuten kaikki mihin ryhtyy! Nyt Sewen asialle
      Kotimaiset julkkisjuorut
      238
      1062
    9. MOT: Työmarkkinatori on olemattomien työpaikkojen hakupaikka

      Työpaikkojen tietoja ei tarkisteta, ja ainakin noin noin 10% on olemattomia työpaikkoja ja sen lisäksi eri rekryfirmat t
      Maailman menoa
      120
      973
    10. Missä kuussa

      Rakkaasi on syntynyt?
      Ikävä
      60
      968
    Aihe