Werken met getText

  • Beste scripters,


    ik wil mijn manier van support voor meerdere talen aangaan passen.
    Voorheen deed ik dat met een php file met een lang array erin, wat ik voor het aanpassen van de tekst niet ideaal vind, gezien soms een klant zelf een taal toe wil voegen.


    Nu zie ik dat best practice word verwezen naar gettext, wat me een prima oplossing lijkt. Nu vind ik alleen de structuur van de opbouw in mappen niet handig en zou lieven de structuur van wordpress gebruiken (gewoon 1 map, met daarin de verschillende talen gebasseerd op filename dus NL_nl.po of dergelijke).


    Dus mijn vraag is gebruiken jullie gettext? zo ja hoe pas ik het makkelijkste de datastructuur aan? of is er een andere handige manier? en zo ja welke?


    Met vriendelijke groet,


    MOnkNL

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Ik gebruik eigenlijk nooit verschillende talen op een website. Maar als ik het doe, doe ik het zoals je beschreven hebt. Met de array's in PHP files. Heb er ooit een package voor gemaakt, weet alleen niet of die nog goed werkt.


    Misschien kan je de klant zo'n translate file maken door middel van een interface en dat converten naar een array?

  • Mijn voorkeur gaat uit naar niet meer gebruiken van een array, gezien de structuur met variabele er tussen.
    Lijkt me dit makkelijker:


    PHP
    _('Are you sure you want to block %s?'),'Alice')
    #Output: Are you sure you want to block Alice? 
    
    
    _('Hi %1$s.\n The owner of this page is: %1$s. Today is %s','Agustinus', date('d-m-Y'));
    #output Hi Agustinus, The owner of this page is : Agustinus. Today is 15-08-2016
  • Dit zou ook met een array kunnen, klein voorbeeld:


    Kijk hier is naar. Dat is allemaal gedaan met array's.

  • Is natuurlijk iets meer werk dan ingebouwde functie van php gebruiken, maar gezien de structuur van plaatsen van de data en het uitblijven van iemand die weet hoe je de map structuur aanpast. Gezien de enige oplossing die ik op dit moment kan verzinnen voor het aanpassen van de structuur het totaal verkeerd gebruik maken van de functie zou betekenen.
    Ga ik, hoe jammer ik dat ook vind, het doen zoals de manier die jij hierboven beschrijft.


    Misschien schrijf ik zelf een class die mo of po files uitleest en omzet. In ieder geval bedankt voor het mee denken.,

  • Hangt er ook een beetje vanaf wat je precies wilt vertalen:
    - losse woorden (die afhankelijk van context verschillende betekenissen kunnen hebben en daarmee mogelijk ook verschillende vertalingen hebben)
    - zinnen
    - complete verhalen
    - een combinatie van dit alles?


    En wat je vervolgens interactief wilt kunnen (laten) aanpassen door een gebruiker/beheerder.

  • Het draait in specifieke geval om zinnen en woorden.
    Maar het draai eigenlijk vooral om het mezelf goed aan leren (best practice). Ik heb vaker mensen waarbij de site meerdere talen moet kunnen draaien. Daarbij maak ik op dit moment gebruik database waarbij de pagina's meerdere vertaling bevatten. Maar gezien een paar transport bedrijven bevat die vrij wel nooit hun tekst aanpassen kan dit eventueel in een array of mo/po file.

  • Oke had vanavond wat tijd over heb het volgende gemaakt.


    Wat denken jullie ervan? Wat zou ik nog kunnen verbeteren?

  • Verder verbeteringen toegevoegd evenals commentaar:

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!