Che cos'è un textdomain a tema?


19

Ho scoperto che qualsiasi tema di WordPress utilizza queste funzioni, ma non capisco quale sia lo scopo e che cos'è, in questo caso 'themify'? Ecco alcuni esempi in Themify functions.php:

1).

load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );

2).

if (function_exists('register_nav_menus')) {
        register_nav_menus( array(
            'main-nav' => __( 'Main Navigation', 'themify' ),
            'footer-nav' => __( 'Footer Navigation', 'themify' ),
        ) );
    }

E nel file temporaneo:

3). <?php _e( 'Sorry, nothing found.', 'themify' ); ?>

E molti altri! Il mio dubbio è cosa significa 'themify'? Qual è il loro scopo? Posso cambiarlo o cancellarlo? Qual è il posto 'themify', per?

Risposte:


23

In questo caso, 'themify'è il dominio di testo definito per il tema, utilizzato per rendere il tema traducibile . (Codice di riferimento:) load_theme_textdomain().

Preparare la traduzione di un tema richiede alcuni passaggi.

  1. Definisci il textdomain del tema :

    load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );
  2. Definire stringhe traducibili nel modello.

    Questo viene fatto usando una delle poche funzioni di traduzione: __()(per stringhe restituite ), _e()(per stringhe con eco ) e _x()/ _ex()(per stringhe di contesto gettext ). Ce ne sono altri, ma hai l'idea ...

    Una stringa di testo statica, ad esempio <p>Hello world!</p>, è racchiusa in un'apposita funzione di traduzione, ad esempio <p><?php _e( 'Hello World!', 'themify' ); ?></p>, per renderla disponibile per la traduzione.

  3. Generare il riferimento ai file .mo / .po
    su come modificare i file della lingua


@SokVanrithy, fai riferimento a queste domande e risposte per sapere come gestire i .mo/.pofile. (Chip, non ho aggiunto il link nella tua risposta perché potresti avere un'altra raccomandazione :)
brasofilo,

1
@brasofilo sentiti libero di aggiungerlo se lo desideri. Penso che sia fuori dalla portata della domanda, ma ancora utili informazioni.
Chip Bennett l'

Perché dovresti cambiarlo? Stai biforcando il tema?
Chip Bennett il

Sì, voglio liberarmene. Ho scaricato un tema da Webdesigndepot e lo chiama base theme. Ho chiesto all'autore che avrei potuto cambiare i codici originali? Sono ammessi perché è il tema vuoto di base per chi desidera avere la struttura per il tema personalizzato. Inoltre, è il regalo dell'autore lì da dare al lettore. Il mio dubbio è come sopra!
Sok Vanrithy,

1
Certo, si può sbarazzarsi di loro; ma non fa male solo lasciarli . Puoi anche cambiare il textdomaincon una stringa diversa, per fare riferimento al tuo tema biforcuto. Le migliori pratiche di sviluppo includono la possibilità di rendere i temi traducibili, quindi consiglierei di non eliminarli del tutto. Detto questo, sicuramente puoi , se lo desideri.
Chip Bennett,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.