[PHP] Language packs via Database? *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 01:32

alienfruit

the alien you never expected

Topicstarter
Ik ben momenteel bezig met het ontwerpen van mijn CMS, nu wil ik hiervoor een soort van meertaligheid ondersteunen voor de online beheersite. Alleen nu had ik bedacht om de teksten die ik hier gebruik op te slaan in een database tabel. A la
resource_id <-- interne nummering
localization_id <-- id van de resource in het algemeen
version <-- versie van de beheersite
content <-- content
Zodoende kan ik dus meerdere Language packs voor de beheersite maken bijv. Nederlands, Engels e.d. De gebruiker kan die dan installeren als nodig is, en kan dan van taal switchen. Maar is het ook slim, efficient? Je kan natuurlijk ook een GetText oplossing gebruiken, alleen daar heb je het probleem dat je elke keer weer nieuwe PO file moet maken als je een nieuwe resource hebt toegevoegd en/of vertaling. Lijkt me nou ook niet handig. Wat vinden jullie? Advies gewilt (of d?) graag!

[ Voor 73% gewijzigd door alienfruit op 29-07-2004 00:18 ]


Acties:
  • 0 Henk 'm!

Verwijderd

mja, ik kan je alleen maar vertellen hoe ik het doe, sommige mensen vinden het een goeie andere een slechte methode.

wat ik doe is dat ik voor elke module (elke module is aparte map) een klasse heb ModuleNaamClass, en die heeft 1 functie, ik zorg dat als de classe niet in de database bekend is (check ik op het begin), dan vraag hij aan de methode de beschikbare vertalingen en voer die in de database in.

en indien de module niet meer beschikbaar is, gaat alles weer delete. (en indien hij geupdate moet worden, doe ik dat met een andere script)

hierdoor knoei ik niet direct in de database, en zorg ik ervoor dat alle vertalingen per module's in 1 dir beschikbaar zijn.

indien het niet duidelijk is wil ik wel een stukje source posten om het te verduidelijken

[ Voor 8% gewijzigd door Verwijderd op 29-07-2004 00:40 ]


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 01:32

alienfruit

the alien you never expected

Topicstarter
:) Nou ik heb nog niet nagedacht over de technische kant van dit idee, ik wilde eigenlijk een lijst maken constants NAAM -> Nummer uit de database. Beetje het resource strings idee in een Windows executable/library.

Acties:
  • 0 Henk 'm!

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
Abdul Rahman, jij hardcode alle vertalingen in een PHP file? Lijkt me niet zo'n goed idee. Als je bvb. vertalingen wilt laten maken door een professioneel bedrijf zijn die meestal niet zo happig op custom made 'dingetjes'. Ik zou gaan voor de PO files, dat is zowat de standaard op localization. Je kan nog altijd een database gebruiken en daaruit de PO files generen (bij jou op je server dan, en eventueel een tool meeleveren in het adminpanel).

offtopic:
het is overigens gewild ;-) 'wij wilDen'

If you can't beat them, try harder


Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

K'denk dat je sneller klaarbent met een kleine app te schrijven om je PO files met versie bij te houden en te updaten en ook meer performance wint.

Als je CVS hebt word het nog eenvoudiger, kan je op de server regels instellen die automatisch nieuwe PO files compileert wanneer er gecommit word oid.

getText is hiervoor gemaakt, ik heb nog geen benchmarks gezien maar volgens mij behoort het toch tot een van de snelste oplossingen net omdat er gecompileerd word.

Volgens mij maakt react hier ook gebruik van in combinatie met sprintf om variablen in vertalingen te gebruiken.

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

Verwijderd

dingstje schreef op 29 juli 2004 @ 00:43:
Abdul Rahman, jij hardcode alle vertalingen in een PHP file? Lijkt me niet zo'n goed idee. Als je bvb. vertalingen wilt laten maken door een professioneel bedrijf zijn die meestal niet zo happig op custom made 'dingetjes'. Ik zou gaan voor de PO files, dat is zowat de standaard op localization. Je kan nog altijd een database gebruiken en daaruit de PO files generen (bij jou op je server dan, en eventueel een tool meeleveren in het adminpanel).

offtopic:
het is overigens gewild ;-) 'wij wilDen'
ja, momenteel wel, maar daar komt verandering in, hou echter wel per module mijn language file's gescheiden, kan irritant zijn : )

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 01:32

alienfruit

the alien you never expected

Topicstarter
Nou, ik zal eens kijken naar GeTText het moet namelijk werken op zowel het Linux als op het Windows platform.
Pagina: 1