Slide 1

Slide 1 text

Vamos falar de tradução?

Slide 2

Slide 2 text

@RafaelFunchal @RafaelFunchal Web Developer, Publicitário e músico nas horas vagas. Desenvolve para WordPress desde 2009, é um dos administradores do grupo WordPress Brasil no Facebook, ajuda a organizar o WordCamp e meetups em São Paulo e é um Happiness Engineer no WordPress.com

Slide 3

Slide 3 text

Rafael Funchal | Vamos falar de tradução? Qual a diferença entre internacionalização e localização ?

Slide 4

Slide 4 text

Rafael Funchal | Vamos falar de tradução? Internacionalização Internacionalização é o processo de desenvolver seu plugin ou tema de uma forma que seja possível traduzi-lo facilmente. É comum abreviar o termo como i18n (por que há 18 letras entre as letras i e n na palavra internacionalization) .

Slide 5

Slide 5 text

Rafael Funchal | Vamos falar de tradução? Localização Localização se refere a todos os processos de tradução do seu tema ou plugin. Normalmente é abreviado como l10n (por que há 10 letras entre as letras l e n na palavra localization) .

Slide 6

Slide 6 text

Rafael Funchal | Vamos falar de tradução? Internacionalização deixando seu código traduzível

Slide 7

Slide 7 text

Rafael Funchal | Vamos falar de tradução? Text Domain configurando seu tema ou plugin

Slide 8

Slide 8 text

Rafael Funchal | Vamos falar de tradução? Text Domain no seu plugin /* * Plugin Name: Meu plugin * Author: Autor do plugin * Text Domain: meu-plugin * Domain Path: /languages */

Slide 9

Slide 9 text

Rafael Funchal | Vamos falar de tradução? Text Domain no seu plugin add_action( 'plugins_loaded', 'myplugin_load_textdomain' ); function myplugin_load_textdomain() { load_plugin_textdomain( 'meu-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); }

Slide 10

Slide 10 text

Rafael Funchal | Vamos falar de tradução? Text Domain no seu tema /* * Theme Name: Meu tema * Author: Autor do tema * Text Domain: meu-tema * Domain Path: /languages */

Slide 11

Slide 11 text

Rafael Funchal | Vamos falar de tradução? Text Domain no seu tema add_action( 'after_setup_theme', 'mytheme_load_textdomain' ); function mytheme_load_textdomain() { load_theme_textdomain( 'meu-tema', get_template_directory() . '/languages' ); }

Slide 12

Slide 12 text

Rafael Funchal | Vamos falar de tradução? Funções para facilitar sua vida

Slide 13

Slide 13 text

Rafael Funchal | Vamos falar de tradução? Funções básicas __() _e() _x() _ex() _n() _nx() _n_noop() _nx_noop() translate_nooped_plural()

Slide 14

Slide 14 text

Rafael Funchal | Vamos falar de tradução? Inserindo no HTML esc_html__() esc_html_e() esc_html_x() esc_attr__() esc_attr_e() esc_attr_x()

Slide 15

Slide 15 text

Rafael Funchal | Vamos falar de tradução? Data e número number_format_i18n() date_i18n()

Slide 16

Slide 16 text

Rafael Funchal | Vamos falar de tradução? Exemplos como utilizar no seu código

Slide 17

Slide 17 text

Rafael Funchal | Vamos falar de tradução? Funções básicas __( 'Blog Options', 'my-textdomain' ); _e( 'WordPress is the best!', 'my-textdomain' );

Slide 18

Slide 18 text

Rafael Funchal | Vamos falar de tradução? Variáveis printf( __( 'Your city is %s.', 'my-textdomain' ), $city );

Slide 19

Slide 19 text

Rafael Funchal | Vamos falar de tradução? Plural printf( _n( 'One comment', '%s comments', get_comments_number(), 'my-textdomain' ), number_format_i18n( get_comments_number() ) );

Slide 20

Slide 20 text

Rafael Funchal | Vamos falar de tradução? Contexto _x( 'Post', 'noun', 'my-textdomain' ); _x( 'Post', 'verb', 'my-textdomain' );

Slide 21

Slide 21 text

Rafael Funchal | Vamos falar de tradução? Localização traduzindo do jeito certo

Slide 22

Slide 22 text

Rafael Funchal | Vamos falar de tradução? Sistemas online traduzindo na nuvem

Slide 23

Slide 23 text

Rafael Funchal | Vamos falar de tradução? Transifex O Transifex é uma rede social para tradutores onde é possível colaborar com projetos já existentes ou então fazer upload do seu arquivo .pot e disponibilizá-lo para tradução.

Slide 24

Slide 24 text

Rafael Funchal | Vamos falar de tradução? GlotPress translate.WordPress.org Para traduzir você só precisa ter uma conta no WordPress.org, clicar em alguma string e inserir sua tradução.

Slide 25

Slide 25 text

Rafael Funchal | Vamos falar de tradução? GlotPress translate.WordPress.com Para traduzir você só precisa ter uma conta no WordPress.com, clicar em alguma string e inserir sua tradução.

Slide 26

Slide 26 text

Rafael Funchal | Vamos falar de tradução? Softwares traduzindo localmente

Slide 27

Slide 27 text

PoEdit Edita arquivos .po e gera o arquivo .mo toda vez que salva suas alterações.

Slide 28

Slide 28 text

Virtaal Funciona como o PoEdit, porém, com ele você consegue editar diretamente o arquivo .mo.

Slide 29

Slide 29 text

Rafael Funchal | Vamos falar de tradução? Plugins traduzindo no painel do site

Slide 30

Slide 30 text

Loco Translate Há alguns disponíveis no WordPress.org, porém, esse é o melhor

Slide 31

Slide 31 text

Rafael Funchal | Vamos falar de tradução? Conclusão Se você é uma empresa que precisa de um sistema para gerenciar vários idiomas e tradutores, escolha o Transifex. Se você é uma pessoa comum que precisa traduzir um plugin para uso pessoal, escolha o Loco Translate. É a maneira mais simples de traduzir. Se você é foda, traduza ajudando a comunidade no translate.WordPress.org e translate.WordPress.com.

Slide 32

Slide 32 text

Rafael Funchal | Vamos falar de tradução? e meu conteúdo? traduzindo seus posts e páginas

Slide 33

Slide 33 text

WPML Crie versões em outros idiomas para todo seu conteúdo (posts, páginas e custom post types)

Slide 34

Slide 34 text

Fontes https://codex.wordpress.org/I18n_for_WordPress_Developers https://developer.wordpress.org/plugins/internationalization/how-to-internati onalize-your-plugin/ https://developer.wordpress.org/plugins/internationalization/localization/ https://developer.wordpress.org/themes/functionality/localization/ https://developer.wordpress.org/themes/functionality/internationalization/ http://www.rafaelfunchal.com.br/blog/tutoriais/como-traduzir-temas-e-plugin s-do-wordpress/ http://www.rafaelfunchal.com.br/blog/tutoriais/como-inserir-suporte-a-tradu cao-em-temas-e-plugins-do-wordpress/ https://codex.wordpress.org/Function_Reference/load_theme_textdomain https://codex.wordpress.org/Function_Reference/load_plugin_textdomain https://codex.wordpress.org/Function_Reference/wp_localize_script

Slide 35

Slide 35 text

Fontes https://translate.wordpress.org/ https://translate.wordpress.com/ https://github.com/GlotPress/GlotPress https://poedit.net/ http://virtaal.translatehouse.org/ https://wordpress.org/plugins/loco-translate/ https://wpml.org/

Slide 36

Slide 36 text

Obrigado e vamos traduzir! :-)