Results 1 to 14 of 14

Thread: Programma maken in 2 talen

  1. #1

    Programma maken in 2 talen

    Hallo,

    Ik moet een redelijk groot programma ontwikkelen in Delphi.
    Hoe moet ik programmeren in 2 verschillende talen (Nederlands en Frans).
    Kan dit op een eenvoudige manier zonder in de code telkens de vertalingen te voorzien?
    Iemand ervaring daarmee?

    Alvast bedankt

    Mvg

    Lainkes

  2. #2
    Heb er zelf (nog) geen ervaring mee, maar volgens mij moet je resource strings gebruiken om je applicatie makkelijker te kunnen vertalen zonder steeds weer de hele code in te duiken.

  3. #3
    Volgens mij heeft TMS een component om dat makkelijk te maken. Onderliggend heeft dat gewoon een database met vertalingen. Runtme wordt dan je Gui aangepast aan de gekozen taal.

  4. #4
    In het verleden heb ik GNU Gettext gebruikt: http://dxgettext.po.dk/

    Strings moet je voorzien van _() en de vertaling wordt voor je verzorgd. Je kunt realtime de vertaling omzetten waardoor je je applicatie niet hoeft te herstarten. Zeker de moeite waard om hier eens mee te stoeien.

    Om de vertalingen te beheren kun je Poedit gebruiken: https://poedit.net/
    Onmogelijk... Is geen feit, maar een mening.

  5. #5
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,248
    Die _() is alleen nodig voor <D2009. In d2009+ komt ie doorgaans te vervallen.

    Een van de problemen van gettext is dat de text is de key is. Als je gettext helemaal manueel gebruikt, kan je daar context aan meegeven, maar resourcestring gebruik en de GUI geven hier maar mogelijkheden mee.

    Simpel gebruik is dus eenvoudig, en alles kan, maar als je ook alles wil kunnen is het niet meer zo makkelijk :-)

  6. #6
    Hi

    Ik gebruik : http://www.regulace.org/category/26/Software

    Gekozen omdat het ook werkt met uniGui en de prijs valt mee

  7. #7
    Je zou inderdaad met resourcestrings en _() o.i.d. kunnen werken.

    Een andere optie... (en misschien niet helemaal standaard) is in al je FormCreate een routine opnemen die alle componenten afloopt en de captions vertaalt. Wel moet je dan in je programma zelf als je daar nog captions aanpast ook de _() e.d. gebruiken.

  8. #8
    I7 7700K 32Gb Win10 Pro Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    2,018
    Een kennis van mij heeft daar jaren geleden al een componentje voor geschreven.
    Er wordt een bestand aangemaakt, waar alle captions van labels, editboxen etc weggeschreven worden. (dit is wat rik hierboven ook beschrijft)
    Je kan deze kopiëren en naar eigen inzicht in elke taal aanpassen.
    In runtime, kan je in één keer je programma vertalen, erg handig als je anderstalige gebruikers op de werkvloer heb lopen.
    Een speedbutton met een landen vlag doet de rest :-)

    Het is een compleet pakketje, waar ook een demo bijzit.
    Doe er je voordeel mee

    Peter
    Attached Files Attached Files
    Last edited by Wok; 26-Aug-16 at 16:34.
    10.3.3, Delphi2010, of Lazarus 2.0.10

  9. #9
    ETM (External Translation Manager) was ooit onderdeel van Delphi....

  10. #10
    Quote Originally Posted by Miep View Post
    ETM (External Translation Manager) was ooit onderdeel van Delphi....
    Is dat niet nog steeds het geval?
    http://docwiki.embarcadero.com/RADSt..._Manager_Index

    Er zou in de IDE dus ook een translator moeten zitten.
    (nog nooit naar gekeken)

  11. #11
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,180
    Quote Originally Posted by rvk View Post
    Is dat niet nog steeds het geval?
    http://docwiki.embarcadero.com/RADSt..._Manager_Index

    Er zou in de IDE dus ook een translator moeten zitten.
    (nog nooit naar gekeken)
    Alleen in de dure versies.
    Ik werk meestal met constanten, resource dll's voor elke taal en LoadStr. Dat doet de translation manager in feite ook, maar heb je in een goed geplande workflow niet nodig.
    Wel een achterliggend databaseje. En consequent gebruik.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  12. #12
    Quote Originally Posted by rvk View Post
    Je zou inderdaad met resourcestrings en _() o.i.d. kunnen werken.

    Een andere optie... (en misschien niet helemaal standaard) is in al je FormCreate een routine opnemen die alle componenten afloopt en de captions vertaalt. Wel moet je dan in je programma zelf als je daar nog captions aanpast ook de _() e.d. gebruiken.
    GNUGettext / DXGetText gebruik ik al jaren tot grote tevredenheid. Je kan een form vertalen door een commando in de oncreate van een form op te nemen.

    Wat ik persoonlijk altijd doe is de GUI in het Engels en dan vertalen. Mijn source code bevat op die manier alleen engels (ook variabelen enzo).
    Maker van Picto-Selector (met Delphi natuurlijk) - http://www.pictoselector.eu
    Gratis visualisaties voor uw kind - Meer dan 28000 plaatjes / 1800 emoji / webfonts / QR codes

  13. #13
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,248
    Dat doe ik ook, maar ik kan extra talen (.mo's) in de resources stoppen, en als die er zijn, zijn die default (maar met instelling veranderen en restart dus wel weer terug te zetten naar engels)

    Wat gebruik je voor editen? Ik meestal gorm.

  14. #14
    Quote Originally Posted by marcov View Post
    Wat gebruik je voor editen? Ik meestal gorm.
    Ik zelf en mijn (vrijwillege) vertalers gebruiken poedit.org
    Maker van Picto-Selector (met Delphi natuurlijk) - http://www.pictoselector.eu
    Gratis visualisaties voor uw kind - Meer dan 28000 plaatjes / 1800 emoji / webfonts / QR codes

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •