web-dev-qa-db-fra.com

Chaînes personnalisées pour la traduction à l'aide du plugin Polylang

J'utilise WP 3.5 et Polylang 0.9.8 plugin pour effectuer des traductions dans différentes langues.

Tout va bien, et le plugin fonctionne bien, mais maintenant je suis confronté à un problème - Je dois traduire des chaînes personnalisées , par exemple, des chaînes dans des widgets.

Que pouvez-vous me recommander pour résoudre ce problème?

ADDED: Par exemple (je parle de texte dans les widgets, mais pas dans l'en-tête), puis-je ajouter des constantes de chaîne ou plus et les écrire à partir du code php dans ma page - et les faire traduire sur String page de traduction de Polylang?

6
troyane

Utilisez ceci

pll_register_string ()

sur functions.php

Utilisez-le comme ceci:

pll_register_string

Allows plugins to add their own strings in the “strings translation” panel. The function must be called on admin side (the functions.php file is OK for themes).
Usage:

pll_register_string($name, $string, $multiline);
‘$name’ => (required) name provided for sorting convenience (ex: ‘myplugin’)
‘$string’ => (required) the string to translate
‘$multiline’ => (optional) if set to true, the translation text field will be multiline, defaults to false

Alors:

pll_register_string ('Titre de l'en-tête', 'Le titre que vous souhaitez voir apparaître');

Ensuite, sur la configuration du tableau de bord, sur les langues, vous allez trouver un robinet appelé "chaînes". Là, vous allez avoir cette nouvelle chaîne créée, et un texte d’entrée pour remplir le texte de traduction pour chaque langue active sur votre site. Écrivez les traductions, puis utilisez les fonctions:

pll_e () pour faire directement écho, ou pll __ () pour le faire écho manuellement. Vous allez l'utiliser comme:

pll_e('The title you want to appear'); or
echo pll__('The title you want to appear');

C'est tout! :)

11
Lightworker

J'ai le problème avec Troyane. Quelques fonctions d'échappement intégrées aux fonctions d'internationalisation, telles que: esc_html __ () et esc_html_e () pour obtenir les chaînes d'échappement. Mais comment puis-je faire cela quand j'utilise ploylang?

Échapper à des cordes

<a title="<?php esc_attr_e( 'Skip to content', 'my-theme' ); ?>" class="screen-reader-text skip-link" href="#content" >
  <?php _e( 'Skip to content', 'my-theme' ); ?>

Voici mon code

            <?php if (get_theme_mod('col_heading','') != '') { ?>

                    <h2 class="section-heading"><?php esc_html_e(get_theme_mod('col_heading')); ?></h2>

                    <?php } else { ?>

                        <h2 class="section-heading">Services</h2>

                    <?php } ?>

                    <?php if (get_theme_mod('col_sub','') != '') { ?>

                        <h3 class="section-subheading text-muted"><?php echo esc_html(get_theme_mod('col_sub','')); ?></h3>

                    <?php } else { ?>

                        <h3 class="section-subheading text-muted">Phasellus elementum odio faucibus diam sollicitudin</h3>

                    <?php } ?>
0
Jonah Weng