Come funziona printf( __( ) )?

2 lug 2012, 17:56:39
Visualizzazioni: 21.8K
Voti: 12

Oggi sto lavorando su un tema per comprendere meglio WordPress e il templating. Ho scoperto questo:

<?php 
printf( 
    __('Designed by %s', 'Anyword'), 
    '<a href="http://www.example.com">Blub</a>'
); 
?>

So che mostra "Designed by Blub" (dove Blub è linkato) Ma cosa significa __() o perché c'è un inserimento di stringa? A cosa serve Anyword?

Qualcuno può spiegarmi esattamente questa riga?

0
Tutte le risposte alla domanda 1
2

Viene utilizzato per tradurre il testo.

Il secondo argomento è una sorta di namespace (chiamato dominio qui) per recuperare la traduzione (ad esempio da un file dedicato o altro).

Quindi Anyword qui, dovrebbe essere la persona dietro il template, o l'azienda o qualsiasi cosa che possa essere un dominio/namespace.

modifica:

La documentazione di WordPress fornisce maggiori spiegazioni su come internazionalizzare un plugin:


Aggiungi questo al codice del Plugin per assicurarti che il/i file di lingua vengano caricati:

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

Per recuperare una stringa usa semplicemente __('Nome stringa','your-unique-name'); per restituire la traduzione o _e('Nome stringa','your-unique-name'); per visualizzare direttamente la traduzione. Le traduzioni andranno poi nella cartella /languages del tuo plugin.


Per il tuo plugin/tema, il your-unique-name sembra essere Anyword.

2 lug 2012 18:03:01
Commenti

Ci sono alcuni file di lingua nel tema. Come fa l'argomento a sapere di usarli solo per 'Anyword'?

User User
2 lug 2012 18:17:14

Ho aggiornato la mia risposta con una parte migliore dalla documentazione di WP.

User User
2 lug 2012 18:21:03