Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Internacionalización de temas y plugins para de...

Internacionalización de temas y plugins para desarrolladores

Si vas a publicar un tema o un plugin al repositorios de WordPress, hacer que traducible no solamente es una buena idea, para los que hablamos español es una absoluta necesidad. Al ser el inglés la "lingua franca" de WordPress, todo el código que subamos a los repositorios debe estar en inglés y preparado para traducción, pero ese es sólo el primer paso.

En esta charla vamos a dar un repaso al proceso de internacionalización (i18n) de un plugin o tema y vamos a ver la "burocracia" que hay que seguir para solicitar que la comunidad de traductores (o una empresa externa) lo traduzca y cómo hacer que esas traducciones lleguen al repositorio de WordPress.

Avatar for Nilo Vélez

Nilo Vélez

October 22, 2018
Tweet

More Decks by Nilo Vélez

Other Decks in Technology

Transcript

  1. i18n = internationalization (internacionalización) La internacionalización es el diseño y

    desarrollo de un producto, una aplicación o el contenido de un documento de modo tal que permita una fácil localización con destino a audiencias de diferentes culturas, regiones o idiomas. l10n = localization (localización) Se entiende por localización la adaptación de un producto, una aplicación o el contenido de un documento con el fin de adecuarlos a las necesidades (lingüísticas, culturales u otras) de un mercado destinatario concreto (una "localidad" o "local" [locale]).
  2. ¿Qué se puede localizar? • El core de WordPress •

    Temas • Plugins • Meta (WordPress.org, WordCamp.org, Browse Happy) • Aplicaciones (iOS y Android)
  3. Internacionalizar plugins /* en la cabecera del plugin */ Text

    Domain: mi_plugin Domain Path: /languages /* en el archivo principal del plugin */ add_action( 'init', function(){ load_plugin_textdomain( 'mi_plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); });
  4. Internacionalizar plugins > WP 4.6 /* en la cabecera del

    plugin */ Text Domain: mi_plugin /* en el readme.txt del plugin */ Requires at least: 4.6
  5. Internacionalizar temas /* en el style.css del tema */ Text

    Domain: mi_tema Domain Path: /languages /* en el functions.php del tema add_action( 'after_setup_theme', function(){ load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' ); });
  6. Hay vida más allá de _e() y __() _e( 'My

    text', 'mi_plugin' ) __( 'My text', 'mi_plugin' ) _x( 'My text', 'contexto', 'mi_plugin' ) _n( '%s coment', '%s coments', $count, 'mi_plugin' )
  7. No te repitas __( 'Click here to follow me on

    Twitter', 'mi_plugin' ); __( 'Click here to follow me on Facebook', 'mi_plugin' ); __( 'Click here to follow me on Instagram', 'mi_plugin' ); __( 'Click here to follow me on Dribbble', 'mi_plugin' );
  8. No te repitas sprintf( __( 'Click here to follow me

    on %s', 'mi_plugin' ), 'Twitter'); sprintf( __( 'Click here to follow me on %s', 'mi_plugin' ), 'Facebook'); sprintf( __( 'Click here to follow me on %s', 'mi_plugin' ), 'Instagram'); sprintf( __( 'Click here to follow me on %s', 'mi_plugin' ), 'Dribbble');
  9. Los traductores necesitan contexto __('Single %1$s: #%2$d', 'mi_plugin'); _x('Single %1$s:

    #%2$d', '1: Post type name, 2: Post ID', 'mi_plugin'); /* translators: 1: Post type name, 2: Post ID */ __('Single %1$s: #%2$d', 'mi_plugin');
  10. Jerarquía de traductores de cada locale Translator Puede proponer traducciones

    Project Translation Editor (PTE) puede moderar traducciones de un proyecto en un locale Cross Locale Project Translation Editor (CLPTE) puede moderar traducciones de un proyecto en todos los locales Global Translation Editor (GTE) puede nombrar PTEs y moderar traducciones de todos los proyectos en un locale Locale Manager Lo mismo que un GTE + puede nombrar CLPTEs y GTEs
  11. Project Translation Editor (PTE) Request Below is an example of

    a request post on https://make.wordpress.org/polyglots/
  12. La verdad verdadera 1. Entra en https://wpes.slack.com/signup 2. Crea una

    cuenta con tu usuario de WordPress.org 3. Conéctate al Slack de WordPress España 4. Pide ayuda en #traductores-plugins o en #traductores-temas
  13. Recursos para empezar a traducir a es_ES Translator Handbook (Inglés)

    Guía de Traductores (es_ES Español de España) Glosario del núcleo de WordPress GlotPress en Español Cómo ser PTE (Project Translation Editor) – How Spanish Community handles PTE requests. https://es.wordpress.org/colabora/traducciones/