Internacionalizando seu desenvolvimento @RafaelFunchal
@RafaelFunchal
Publicitário, Desenvolvedor e músico nas
horas vagas
Desenvolve com WordPress desde 2009
Administrador do grupo WordPress Brasil no
Facebook e demais grupos do GUWP
Support Guru na MailPoet.com
Slide 3
Slide 3 text
Internacionalizando seu desenvolvimento @RafaelFunchal
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 4
Slide 4 text
Internacionalizando seu desenvolvimento @RafaelFunchal
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).
Exemplos: GlotPress, Transifex, PoEdit e Virtaal
Slide 5
Slide 5 text
Text Domain
tornando seu código traduzível
Slide 6
Slide 6 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Text Domain no seu plugin
/*
* Plugin Name: Meu plugin
* Author: Autor do plugin
* Text Domain: meu-plugin
* Domain Path: /languages
*/
Slide 7
Slide 7 text
Internacionalizando seu desenvolvimento @RafaelFunchal
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 8
Slide 8 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Text Domain no seu tema
/*
* Theme Name: Meu tema
* Author: Autor do tema
* Text Domain: meu-tema
* Domain Path: /languages
*/
Slide 9
Slide 9 text
Internacionalizando seu desenvolvimento @RafaelFunchal
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 10
Slide 10 text
Funções
para facilitar sua vida
Slide 11
Slide 11 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Funções básicas
__()
_e()
_x()
_ex()
_n()
_nx()
_n_noop()
_nx_noop()
translate_nooped_plural()
Slide 12
Slide 12 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Inserindo no HTML
esc_html__()
esc_html_e()
esc_html_x()
esc_attr__()
esc_attr_e()
esc_attr_x()
Slide 13
Slide 13 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Data e número
number_format_i18n()
date_i18n()
Slide 14
Slide 14 text
Exemplos
como utilizar no seu código
Slide 15
Slide 15 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Funções básicas
__( 'Blog Options', 'my-textdomain' );
_e( 'WordPress is the best!', 'my-textdomain' );
Slide 16
Slide 16 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Variáveis
printf(
__( 'Your city is %s.', 'my-textdomain' ),
$city
);
Slide 17
Slide 17 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Plural
printf(
_n(
'One comment',
'%s comments',
get_comments_number(),
'my-textdomain'
),
number_format_i18n( get_comments_number() )
);
Slide 18
Slide 18 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Contexto
_x( 'Post', 'noun', 'my-textdomain' );
_x( 'Post', 'verb', 'my-textdomain' );
Slide 19
Slide 19 text
Internacionalizando seu desenvolvimento @RafaelFunchal
Mais conteúdo
http://codex.wordpress.org/I18n_for_WordPress_Developers
https://developer.wordpress.org/plugins/internationalization/how-to-
internationalize-your-plugin/
https://developer.wordpress.org/themes/functionality/internationalization/
https://codex.wordpress.org/Function_Reference/load_plugin_textdomain
http://codex.wordpress.org/Function_Reference/load_theme_textdomain
http://codex.wordpress.org/Function_Reference/wp_localize_script
Slide 20
Slide 20 text
Obrigado!
caso tenham mais perguntas,
essa é a hora!
:-)