Vamos falar de tradução?

3.061 visualizações

Publicada em

A experiência do usuário é muito melhor quando ocorre em seu próprio idioma.

Essa apresentação fala dos passos básicos para deixar um tema ou plugin traduzível, como traduzir as strings e onde isso deve ser feito.

Publicada em: Software
  • Seja o primeiro a comentar

Vamos falar de tradução?

  1. 1. Vamos falar de tradução?
  2. 2. @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
  3. 3. Rafael Funchal | Vamos falar de tradução? Qual a diferença entre internacionalização e localização ?
  4. 4. 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) .
  5. 5. 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) .
  6. 6. Rafael Funchal | Vamos falar de tradução? Internacionalização deixando seu código traduzível
  7. 7. Rafael Funchal | Vamos falar de tradução? Text Domain configurando seu tema ou plugin
  8. 8. 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 */
  9. 9. 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' ); }
  10. 10. 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 */
  11. 11. 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' ); }
  12. 12. Rafael Funchal | Vamos falar de tradução? Funções para facilitar sua vida
  13. 13. Rafael Funchal | Vamos falar de tradução? Funções básicas __() _e() _x() _ex() _n() _nx() _n_noop() _nx_noop() translate_nooped_plural()
  14. 14. 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()
  15. 15. Rafael Funchal | Vamos falar de tradução? Data e número number_format_i18n() date_i18n()
  16. 16. Rafael Funchal | Vamos falar de tradução? Exemplos como utilizar no seu código
  17. 17. Rafael Funchal | Vamos falar de tradução? Funções básicas __( 'Blog Options', 'my-textdomain' ); _e( 'WordPress is the best!', 'my-textdomain' );
  18. 18. Rafael Funchal | Vamos falar de tradução? Variáveis printf( __( 'Your city is %s.', 'my-textdomain' ), $city );
  19. 19. 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() ) );
  20. 20. Rafael Funchal | Vamos falar de tradução? Contexto _x( 'Post', 'noun', 'my-textdomain' ); _x( 'Post', 'verb', 'my-textdomain' );
  21. 21. Rafael Funchal | Vamos falar de tradução? Localização traduzindo do jeito certo
  22. 22. Rafael Funchal | Vamos falar de tradução? Sistemas online traduzindo na nuvem
  23. 23. 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.
  24. 24. 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.
  25. 25. 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.
  26. 26. Rafael Funchal | Vamos falar de tradução? Softwares traduzindo localmente
  27. 27. PoEdit Edita arquivos .po e gera o arquivo .mo toda vez que salva suas alterações.
  28. 28. Virtaal Funciona como o PoEdit, porém, com ele você consegue editar diretamente o arquivo .mo.
  29. 29. Rafael Funchal | Vamos falar de tradução? Plugins traduzindo no painel do site
  30. 30. Loco Translate Há alguns disponíveis no WordPress.org, porém, esse é o melhor
  31. 31. 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.
  32. 32. Rafael Funchal | Vamos falar de tradução? e meu conteúdo? traduzindo seus posts e páginas
  33. 33. WPML Crie versões em outros idiomas para todo seu conteúdo (posts, páginas e custom post types)
  34. 34. 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
  35. 35. 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/
  36. 36. Obrigado e vamos traduzir! :-)

×