che sto seguendo le istruzioni dalla risposta di BryanH qui: gettext() equivalent in Intl library? e cercando di attuare la localizzazione (traduzione) con PHP-Intl, ma io continuo a ricevere lo stesso problema questa persona aveva: ResourceBundle returns NULL without any errors being raisedCome posso creare file di risorse ICU da utilizzare in PHP?
Accenna ha creato i file dat con uno strumento (che non riesco a capire come lavorare) mentre la persona nella prima risposta sembra semplicemente che stia usando file txt con estensione .res.
Come implementare correttamente la localizzazione con php-intl e ResourceBundle e cosa sto facendo male?
L'obiettivo è quello di avere i vari file di dati con lingue diverse in modo che io possa fare qualcosa di simile a
$t = new Translator();
$t->setResource(new \ResourceBundle('es', 'locales_folder/'));
$t->echo("somestring"); // "el stringo"
..much come la persona nella prima risposta doveva. Inoltre, l'obiettivo è quello di avere file facilmente modificabili, così posso darli ai traduttori per correzioni, aggiornamenti e così via. Mi rendo conto che potrei facilmente farlo con una soluzione personalizzata attraverso un semplice file di testo che viene analizzato e salvato in memcache alla prima richiesta, dove poi persiste e viene servito senza dover rileggere i file .dat, ma preferirei prendi il percorso suggerito qui.
Modifica: Solo per ottenerlo - Ho implementato la stessa cosa con gettext correttamente ed è stato semplice: salva un bug che persiste nei sistemi Linux (http://www.php.net/manual/en/book.gettext.php#91187) - ma mi piacerebbe fare affidamento su più estensione intl moderna e all-inclusive, se possibile.
Grazie, basta così. Dal momento che questo dovrebbe essere thread-safe, ritengo che sia la soluzione che stavo cercando. Ora ho solo bisogno di scrivere il mio estrattore di corde e questo dovrebbe funzionare. – Swader
Sarebbe molto utile se potessi condividere la tua esperienza con esso, anche con il tuo estrattore di corde (forse potresti persino aprirlo?). Grazie in anticipo! – akirk
Poed poedit può auto-estrarre per gettext, ho pensato che potevo semplicemente dargli un altro pattern da cercare come $ t -> _ ($ string), che poi creerebbe i file .mo e .po anche per quelle stringhe. Tutto quello che dovrei fare è scrivere uno strumento che converta quelli in formato RES, il che sembra abbastanza facile. Scriverò un post sul blog sull'intera vicenda e collegherò qui. – Swader