Slide 1

Slide 1 text

Internacionalización de temas y plugins (para desarrolladores) @NiloVelez

Slide 2

Slide 2 text

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]).

Slide 3

Slide 3 text

¿Qué se puede localizar? ● El core de WordPress ● Temas ● Plugins ● Meta (WordPress.org, WordCamp.org, Browse Happy) ● Aplicaciones (iOS y Android)

Slide 4

Slide 4 text

translate.wordpress.org

Slide 5

Slide 5 text

en_US ► es_ES

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Internacionaliza siempre https://developer.wordpress.org/plugins/internationalization/how-to-intern ationalize-your-plugin/ https://developer.wordpress.org/themes/functionality/internationalization/

Slide 12

Slide 12 text

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' ); });

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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' ); });

Slide 15

Slide 15 text

Internacionalizar temas > WP 4.6 /* en el style.css del tema */ Text Domain: mi_tema

Slide 16

Slide 16 text

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' )

Slide 17

Slide 17 text

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' );

Slide 18

Slide 18 text

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');

Slide 19

Slide 19 text

Los traductores necesitan contexto __('Single %1$s: #%2$d', 'mi_plugin');

Slide 20

Slide 20 text

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');

Slide 21

Slide 21 text

translate.wordpress.org

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Project Translation Editor (PTE) Request Below is an example of a request post on https://make.wordpress.org/polyglots/

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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/