Pregunta sobre Developing with WordPress de Wordpress:

Dominio de texto y traducción

Un usuario preguntó 👇

Hola. Sé que hay muchos documentos sobre este tema y quiero asegurarles a todos que he leído todo lo que pude encontrar. El problema es que todavía no lo entiendo. ¿Qué diablos es el dominio de texto, por qué es necesario?

Sé que uso _e () o __ () para el texto que quiero que sea traducible, pero ¿cómo sucede esto?

Me disculpo por hacer una pregunta sobre algo que está claramente documentado pero que no tiene ningún sentido para mí.

Estoy leyendo sobre la implementación de mi plugin y veo que el archivo Léame puede / debería incluir un directorio de «idiomas». Pero aquí hay otra cosa que no tiene ningún sentido para mí.

¿Alguien tendría la amabilidad de explicarme todo esto en los términos más simples posibles?

(@stephencottontail)

Hace 2 años, 11 meses

Muchas cosas diferentes podrían traducirse en un sitio de WordPress; WordPress mismo proporciona traducciones para sus propias cosas, su tema puede proporcionar traducciones, todos sus plugins pueden proporcionar traducciones, etc. Un dominio de texto es cómo PHP sabe qué traducciones utilizar.

Cuando traduzca su plugin, debe generar un archivo PO que contenga las cadenas transferibles y sus traductores lo usarán para crear un archivo MO que pueda leer PHP. Poeditar es una herramienta gratuita comúnmente utilizada para hacer esto.

Una vez que tenga todo traducido, pegará los archivos PO y MO en la carpeta de idioma de sus plugins; ahí es donde WordPress / PHP busca los archivos.

Consulte https://developer.wordpress.org/plugins/internationalization/localization/ y https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/ para obtener más información.

(@ chz516)

Hace 2 años, 10 meses

Lo siento, pero esto todavía no tiene sentido. Aquí hay algunas preguntas específicas de su respuesta:

“WordPress en sí mismo proporciona traducciones de sus propias cosas” ¿Cuáles son las cosas en sí mismas?

«Su tema podría proporcionar traducciones, todos sus plugins podrían proporcionar traducciones» ¿Cómo?

“Necesita generar un archivo PO que contenga las cadenas transferibles y sus traductores lo usarán para crear un archivo MO que pueda leer PHP” ¿Qué es el archivo PO? ¿Cada hilo y su traducción?

Supongo que con solo mirar el editor al que enlazaste responderá algunas de estas preguntas (tal vez). Así que gracias por el enlace. Lo comprobaré.

(@stephencottontail)

Hace 2 años, 10 meses

“WordPress en sí mismo proporciona traducciones de sus propias cosas” ¿Cuáles son las cosas en sí mismas?

Cosas como el panel en sí, la pantalla de edición de trabajos, los widgets predeterminados, etc.

«Su tema podría proporcionar traducciones, todos sus plugins podrían proporcionar traducciones» ¿Cómo?

Desde la perspectiva del usuario, no tiene que hacer nada. Puede seleccionar el idioma apropiado desde el Panel de WordPress y si su tema y plugins proporcionan traducciones para ese idioma, los verá.

Desde la perspectiva del desarrollador, usa una herramienta como Poedit para generar los archivos PO y MO apropiados e incluirlos con su tema / plugin.

“Necesita generar un archivo PO que contenga las cadenas transferibles y sus traductores lo usarán para crear un archivo MO que pueda leer PHP” ¿Qué es el archivo PO? ¿Cada hilo y su traducción?

Si. La forma en que está configurado el sistema, tendrá un archivo PO y MO para cada idioma diferente: fr-FR.po para traducción al francés, es-ES.po para traducción al español, etc.

(@ chz516)

Hace 2 años, 10 meses

Todavía estoy un poco confundido, pero haré algunas pruebas y errores con Poedit para tratar de resolverlo. Gracias por la ayuda.

Además, creo recordar, durante mi investigación, que otras personas a veces crean los archivos de traducción para un sitio, tema o plugin. ¿Es así como funciona? ¿Otros lo hacen según sea necesario? O como desarrollador de plugins, ¿crea todas las traducciones que necesita disponibles?

Ah, y otra pregunta. Todavía no entiendo el dominio de texto. ¿La palabra dominio tiene algo que ver con un dominio tal como se usa en la web? No lo creo. Pero, ¿alguien puede explicar cómo contribuyen los dominios de texto a esto y cómo se utilizan? No entiendo su función.

(@stephencottontail)

Hace 2 años, 10 meses

Además, creo recordar, durante mi investigación, que otras personas a veces crean los archivos de traducción para un sitio, tema o plugin. ¿Es así como funciona? ¿Otros lo hacen según sea necesario? O como desarrollador de plugins, ¿crea todas las traducciones que necesita que estén disponibles?

Claro, puede enviar archivos de PO a otras personas y pedirles que hagan las traducciones por usted. Si su plugin fue muy popular, es posible que la gente incluso se comunique con usted y se ofrezca a hacer una traducción.

Ah, y otra pregunta. Todavía no entiendo el dominio de texto. ¿La palabra dominio tiene algo que ver con un dominio tal como se usa en la web? No lo creo. Pero, ¿alguien puede explicar cómo contribuyen los dominios de texto a esto y cómo se utilizan? No entiendo su función.

El dominio de texto no tiene nada que ver con el dominio de su sitio. El dominio de texto se utiliza para que el analizador de PHP sepa dónde buscar para obtener las traducciones.

(@ chz516)

Hace 2 años, 10 meses

Bien, creo recordar haber leído que era algo abierto, que otros podían crear traducciones a voluntad. Pero debo haber leído mal. Supongo que tienen que agregar los archivos PO a SVN, por lo que tiene sentido que el creador del plugin tenga el control.

En cuanto al dominio de texto, supongo que no entiendo cómo se ven las traducciones:

El dominio de texto se utiliza para que el analizador de PHP sepa dónde buscar para obtener las traducciones.

Entonces, no busca en un subdirectorio del plugin. Diga textdomain = «myplugin», ¿qué hace el analizador con esa información?

(@stephencottontail)

Hace 2 años, 10 meses

Cada plugin tiene un caracol, que suele ser el nombre del plugin con toda la puntuación eliminada, los espacios convertidos en guiones y todas las letras convertidas a minúsculas. Un plugin llamado «Plugin de Steve» tendría un «plugin de Steve». Ese caracol se usa generalmente como un dominio de texto para ese plugin y como el nombre de la carpeta que contiene el plugin.

Cuando el analizador de PHP ve una función de traducción en uso:

<?php _e( 'Hello', 'steves-plugin' ); ?>

El analizador mira el dominio de texto (steves-plugin, en este caso) y busca la carpeta adecuada i wp-content. Cuando encuentra la carpeta apropiada, busca en el languages carpeta para el archivo MO apropiado. Si encuentra el archivo MO para el idioma actual, la cadena de traducción se reemplaza por «Hola».

(@bcworkz)

Hace 2 años, 10 meses

El dominio de texto debe coincidir con la primera parte del nombre del archivo .mo. Si textdomain = «myplugin» es alemán y la traducción que está buscando se busca en un archivo llamado myplugin-de_DE.mo. El archivo se buscará en wp-content / plugins content, luego en wp-content / plugins. Los plugins en el repositorio de WP deben usar un dominio de texto que coincida con su caracol de plugin asignado.

Probablemente sea demasiado optimista, pero no es realmente el analizador que busca archivos de traducción .mo, sino el módulo PHP gettext. Poedit usa un analizador para encontrar cadenas de traducción para generar un archivo .pot.

Tenga en cuenta también que para los plugins que residen en el repositorio de WP, el proceso de traducción informal en el que confiábamos anteriormente está siendo reemplazado por un proceso basado en la comunidad de WP más organizado. Ver https://make.wordpress.org/plugins/2015/12/06/plugin-translations-for-all-plugins/ La publicación tiene más de 2 años, la actualización mencionada ya está prometida. Los aditivos existentes deben solicitar la migración. Los nuevos plugins se registran automáticamente en IIRC.

(@choozler)

Hace 2 años, 10 meses

No es necesario responder como mi cuenta original. He creado uno nuevo para que coincida con mi plugin que usaré en todas las publicaciones después de este hilo.

Esta respuesta fue modificada hace 2 años, 10 meses por. Esta respuesta fue modificada hace 2 años, 10 meses por. Esta respuesta fue modificada hace 2 años, 10 meses por.

(@ chz516)

Hace 2 años, 10 meses

Esto me confunde increíblemente.

Si el nombre de mi plugin es, en la parte superior de mi archivo PHP: Mi primer plugin

Tengo que hacer mi dominio, usado en todas las llamadas _e () y __ (): my-very-first-plugin

Como en:
echo 'untranslated text and ' . __('translated text', 'my-very-first-plugin')

Si eso es correcto, definitivamente lo haré pero, para ser honesto, no tengo idea de lo que esto significa. Lo haré para que funcione correctamente cuando finalmente entienda esto.

Cambie los nombres de usuario como ve 🙂

(@bcworkz)

Hace 2 años, 10 meses

Gracias por ser claro sobre los nombres de usuario. Si bien los mods pueden ver que ambos son para el mismo usuario, solo les da un poco de altura adicional. Mientras tanto, el cambio puede ser una especie de bautismo.

Si está confundido, está en buena compañía. Es confuso. Básicamente lo tienes ahora, si lo haces, estará bien. Sin embargo, en realidad es aún más complicado. Como todos los objetos en WP, los plugins tienen un caracol y un nombre. Para la mayoría de los desarrolladores, estos dos dicen lo mismo. Nombre «Mi plugin» y Snail «Mi plugin». No hay ninguna razón técnica para que todos digan lo mismo. Su plugin puede llamarse «Plugin impresionante» aunque el caracol sea un «mi-plugin». Su dominio de texto para propósitos de gettext debe ser compatible con el caracol del plugin.

Ahora recuerde, no soy parte del equipo de revisión de plugins. Es posible que ahora necesiten nuevos aditivos y las babosas dicen lo mismo. Puede haber una razón social para reclamar esto incluso si no hay requisitos técnicos. También sugeriría que ambos digan lo mismo porque es más claro para los usuarios. No hay mucha diferencia entre un caracol diferente o cambiar de cuenta en los foros aquí. Puedes hacerlo, pero es un poco confuso al principio 🙂

Espero que eso ayude y que ya no sea confuso.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *