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.