¿Cómo funciona printf (__ ()); ¿trabajo?

12

Hoy trabajo en un tema para comprender mejor WordPress y las plantillas. Descubrí esto:

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

Sé que muestra "Diseñado por Blub" (donde está vinculado Blub) Pero, ¿qué __()significa o por qué hay una inserción de cadena? ¿Para qué sirve Anyword?

¿Alguien puede explicarme exactamente esta línea?

Denny Mueller
fuente

Respuestas:

8

Se usa para traducir texto .

El segundo argumento es un tipo de espacio de nombres (llamado dominio aquí) para recuperar la traducción (por ejemplo, de un archivo dedicado u otra cosa).

Entonces Anyword, aquí debería ser el tipo detrás de la plantilla, o la compañía o lo que sea que pueda ser un dominio / espacio de nombres.

editar:

El documento de WordPress da más explicaciones sobre cómo internacionalizar un complemento :


Agregue esto al código del complemento para asegurarse de que los archivos de idioma estén cargados:

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

Para buscar una cadena simplemente use __('String name','your-unique-name');para devolver la traducción o _e('String name','your-unique-name');para hacer eco de la traducción. Las traducciones luego irán a la carpeta / idiomas de su plugin.


Para su plugin / tema, your-unique-nameparece ser Anyword.

j0k
fuente
Hay algunos archivos de idioma en el tema. ¿Cómo sabe el argumento usarlos solo para 'Anyword'?
He actualizado mi respuesta con una mejor parte del documento de WP.