web-dev-qa-db-fra.com

Ajout du sélecteur de langue dans l'en-tête, WP

Actuellement, je construis un blog multi-langues. Comme je le sais, presque WP plug-ins de traducteur de langue sont basés sur des fichiers .po et .mo. voici un problème. Une nouvelle langue que je vais ajouter n'existe pas avec les fichiers .po & .mo, c'est juste une langue dialectale (locale).

C'est pourquoi j'ai défini en php et récupéré les fichiers language.php comme ci-dessous.

header.php

<a href="<?php echo $_SERVER["HTTP_Host"] . $_SERVER["REQUEST_URI"]; ?>/?lang=newlanguage"> New Language</a>
<a href="<?php echo $_SERVER["HTTP_Host"] . $_SERVER["REQUEST_URI"]; ?>/?lang=eng">English</a>

function.php

<?php session_start();
$_SESSION['language'] = $_GET['lang'];
if ( $_SESSION['language'] == 'newlanguage' ) {
require (TEMPLATEPATH .'/languages/new-language.php');
}
else {
require (TEMPLATEPATH .'/languages/english.php');  // default language
} ?>

le problème est que cela ne fonctionne pas, si je charge dans la nouvelle page, "new-language" disparaît et il passe automatiquement à la langue par défaut.

Ma question est la suivante: Quelqu'un peut-il me guider de la bonne façon/codes avec la solution de développeur?

1
Ronald

http://wordpress.org/extend/plugins/wcm-user-language-switcher J'ai essayé le sélecteur de langue wcm, il ne prend en charge que les utilisateurs qui ne sont pas connectés. Quoi qu'il en soit, grâce à kaiser & brasofilo .

Enfin, j'ai une solution avec plugin thème http://wordpress.org/extend/plugins/theme-switcher Je duplique mon thème et en conserve un par défaut, puis crée le suivant pour new-language. même si cela prend plus d’espace en hébergement, c’était vraiment ce dont j'avais besoin.

il suffit d’ajouter à header.php en tant que code suivant <?php wp_theme_switcher(); ?> or <?php wp_theme_switcher('dropdown'); ?>

il a permis à tous les utilisateurs, invités et tout le monde peut changer sans s'identifier. Le plug-in thème switcher fournit également un widget de barre latérale avec un style liste déroulante et liste déroulante.

0
Ronald

Essayez https://wordpress.org/plugins/language-switcher/

Le sélecteur de langue vous permet de mapper les URL d'autres langues pour les types de publication et les taxonomies.

De plus, il vous permet de filtrer les pages d'archives par langue.

C'est une bonne option si votre architecture multilingue comprend différentes installations de wordpress, mais cela fonctionne également pour une architecture centralisée avec tout le contenu dans la même installation.

0
RafaSashi