Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [PHP] Generazione dinamica di un testo x multilingua

    Salve a tutti!
    Ciò di cui ho bisogno è sostituire degli appositi tag presenti nel codice html con delle stringhe. Tutto questo al fine di supportare diverse lingue nel mio sito. A seconda della lingua impostata in sessione verrà incluso uno specifico file con tutte le conversioni necessarie. Fin qui tutto facile: mi basta caricare due array e passarli a str_replace...

    I miei problemi arrivano quando il contenuto delle frasi ha delle parti dinamiche.
    Non devo cioè semplicemente sostituire una stringa a un tag, ad esempio @frase@
    Il mio tag potrà essere nella forma @frase(soggetto, complemento)@ dove soggetto e complemento ovviamente sono delle "variabili".

    Ad esempio, l'html iniziale conterrà "@dog(Mickey, Pluto)@"
    in italiano voglio leggere "il cane di Mickey è Pluto"
    in inglese ad esempio "Pluto is Mickey's dog"
    ..e così via

    Come si può ottenere questo, in modo abbastanza efficiente?
    Grazie in anticipo per l'aiuto!

  2. #2

  3. #3
    grazie, penso che mi hai messo sulla strada giusta. Per ora ho trovato questo codice sotto vsprintf() :

    Codice PHP:
    <?php
    $GLOBALS
    ['strings']['example'] = "There are %d people.";

    // Loads a phrase from the translations list in lang/$lang/phrases.php
    function t() {
        
    $args func_get_args();
        
    $nArgs func_num_args();
       
        
    $phrase array_shift($args);
        
    $nArgs--;
       
        include_once(
    "../lang/" lang() . "/phrases.php");
        if (isset(
    $GLOBALS['strings'][$phrase])) {
            return 
    vsprintf($GLOBALS['strings'][$phrase], $args);
        } else {
            return 
    '<span style="color: #ff0000">Untranslated string: ' $phrase '</span>';
        }
    }
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.