Adding Language Switcher in header , WP

Currently, I’m building multi languages blog.
As I know, almost WP language translator plugins are based on .po & .mo files.
here is a problem.
A new language what I’m going to add does not exist with .po & .mo files, it’s just a dialect(local) language.

That’s why I defined in php and grab the language.php files as below code.

Read More

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
} ?>

the problem is it doesn’t work,
if I load to the new page, “new-language” is disappear and it automatically changes to the default language.

My question is Can someone guide me to the right way/codes with developer solution?

Related posts

Leave a Reply

2 comments

  1. http://wordpress.org/extend/plugins/wcm-user-language-switcher
    I tried wcm language switcher, it only supports for users, not for guest who are not logged in. anyway thanks to kaiser & brasofilo.

    Finally, I got a solution with theme switcher plugin
    http://wordpress.org/extend/plugins/theme-switcher
    I duplicate my theme and keep one is default, then create next one for new-language.
    even it takes more space in hosting, it was definitely what I need.

    just add to header.php as the follow codes
    <?php wp_theme_switcher(); ?> or <?php wp_theme_switcher('dropdown'); ?>

    it allowed for all users,guests and also eveyone can switch without logging in.
    theme switcher plugin also provide for sidebar widget with dropdown & lists style.

  2. Try https://wordpress.org/plugins/language-switcher/

    Language Switcher allows you to map urls of alternative languages for Post Types and Taxonomies.

    Additionally it allows you to filter archive pages by language.

    It is a good option if your multi-language architecture includes different wordpress installations but it also works for centralized architecture with all the content under the same installation.