Aprenda a dar suporte a vários idiomas em seu plugin ou tema,
Essa apresentação faz parte da série de meetups do grupo wpSampa:
http://www.meetup.com/wpsampa/events/189143882/
2. @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
Internacionalizando seu desenvolvimento @RafaelFunchal
3. 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).
Internacionalizando seu desenvolvimento @RafaelFunchal
4. 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
Internacionalizando seu desenvolvimento @RafaelFunchal
6. Text Domain no seu plugin
/*
* Plugin Name: Meu plugin
* Author: Autor do plugin
* Text Domain: meu-plugin
* Domain Path: /languages
*/
Internacionalizando seu desenvolvimento @RafaelFunchal
7. 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'
);
}
Internacionalizando seu desenvolvimento @RafaelFunchal
8. Text Domain no seu tema
/*
* Theme Name: Meu tema
* Author: Autor do tema
* Text Domain: meu-tema
* Domain Path: /languages
*/
Internacionalizando seu desenvolvimento @RafaelFunchal
9. 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'
);
}
Internacionalizando seu desenvolvimento @RafaelFunchal
11. Funções básicas
__()
_e()
_x()
_ex()
_n()
_nx()
_n_noop()
_nx_noop()
translate_nooped_plural()
Internacionalizando seu desenvolvimento @RafaelFunchal
12. Inserindo no HTML
esc_html__()
esc_html_e()
esc_html_x()
esc_attr__()
esc_attr_e()
esc_attr_x()
Internacionalizando seu desenvolvimento @RafaelFunchal
13. Data e número
number_format_i18n()
date_i18n()
Internacionalizando seu desenvolvimento @RafaelFunchal
15. Funções básicas
__( 'Blog Options', 'my-textdomain' );
_e( 'WordPress is the best!', 'my-textdomain' );
Internacionalizando seu desenvolvimento @RafaelFunchal
16. Variáveis
printf(
__( 'Your city is %s.', 'my-textdomain' ),
$city
);
Internacionalizando seu desenvolvimento @RafaelFunchal
17. Plural
printf(
_n(
'One comment',
'%s comments',
get_comments_number(),
'my-textdomain'
),
number_format_i18n( get_comments_number() )
);
Internacionalizando seu desenvolvimento @RafaelFunchal
18. Contexto
_x( 'Post', 'noun', 'my-textdomain' );
_x( 'Post', 'verb', 'my-textdomain' );
Internacionalizando seu desenvolvimento @RafaelFunchal
19. 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
Internacionalizando seu desenvolvimento @RafaelFunchal