A többnyelvűség megvalósítása php
És mivel a 00 év vagy valami nem változott drasztikusan. Ha elolvassa a Kamentet, nyilvánvalóvá válik, hogy néhány ember kerékpárt talál a projektjeikben, és kapja őket a gettext eredményeként. Általában meg is tették, és az i18n modul kapta a gettext-ot.
Azt javasolnám. gettext használatos az információ ritkán megváltoztatására. Menü, különböző feliratok. Ennek során számos előnyünk van:
1) A formátum már évek óta létezik, és hatalmas számú platformon fut. És ez azt jelenti, hogy érthető lesz mindenki számára, aki tud róla, még akkor is, ha egy személy nem ismeri a rendszer nyelvét. Ie a szabványok minden előnyét. A kerékpároknak is meg kell érteniük, hogyan működik.
2) Gyorsítótár. A gettext aktívan tárolódik a RAM memóriájában.
3) Fordítói szoftverek bõsége.
4) Több szám támogatása. Nem minden kerékpárra gondolnak, mint a gettext-ben.
5) A gettext sablonmotorok támogatása.
6) A gettext segítségével nemcsak a PHP-ben dolgozhat. Valójában heterogén projektekre.
Nos, azt javaslom, hogy a tartalom részt az adatbázis szintjén helyezzék el. Személy szerint külön táblázatot használok minden nyelvhez. Plusz, mint egy külön oszlopba való tárolás - az ALTER-ok hiánya a nyelvek hozzáadásakor és eltávolításakor.
Tetszik az opció, mikor
$ lang ['mTitle'] = 'Otthon';
$ lang ['mAbout'] = 'Rólunk';
Először az eredeti nyelvet hívják, majd az aktuális nyelvet, ha az eltér az eredetitől. Így, ha nincs fordítás, akkor kaphat valamit.
Bár a php sikeresen használja a gettext-ot (például phpmyadminben), de nehezebb belépni. Szükséges segédprogramok, amelyek számos különböző rendszerekhez.
Én vagyok a húr konstansok ragaszkodója, azaz. az i18n :: get ('Hello% s!', $ username) formanyomtatványokat, vagy rövidített l ('Hello% s', $ felhasználónév). De szalagokat használok, nem globális adattárat. Ez nagyon egyszerűen megvalósul (megnyitva, olvasva, hozzáadva, mentve), és célszerű, hogy az új sor automatikusan bekerüljön a munkamenetbe és mentésre kerüljön.
Személy szerint engem illet, minden i18n gondolom, fontos, hogy a behozatali és kiviteli helyek (használat előtt CSV, de problémák miatt UTF viszont a PO), támogatja szóalakulat különböző nyelveken (1 alma, 2 alma, 6 alma), a tárolt és gyorsított (meta konstrukció útján) a nézetfájlok lokalizálása.
Sajnos mindez része a keretnek, de kérésre fájlokat küldhetek magyarázattal.