Translate front page (WPML)

时间:2015-12-02 作者:dschenk

我正在建立一个有四种语言的网站。我想能够翻译根页面。我已设置网站,以便在不同目录下提供翻译内容:

www.domain。www.domain。中国/法国www.domain。ch/it www.domain。我已经在www.domain上设置了重定向。切换/重定向到用户浏览器语言,例如www.domain。ch/de

所有这些都很好。

如何创建直接在这些URL上提供服务的页面(及其翻译)?我在wpml选项中定义的根页面不可翻译。

为什么会这样?翻译登录页的正确方法是什么?

UPDATE:

我按照@ErezLieberman在接受的答案中的解释设置了主页。使重定向从www.domain.chwww.domain.ch/[currentLanguage] 我在设置中标记了“使用默认语言目录”,并选择了“页面”,但没有not 创建根页面。

此外,我还使用以下代码来实现重定向。(我还在做一个基本的浏览器语言/cookie检测)

global $sitepress;

// Redirect to language directory if we are on /
// e.g. domain.ch/ -> domain.ch/en
if (isset($sitepress)) {

    $activeLanguages = icl_get_languages();
    $onRootPage = !preg_match(\'/^\\/\' . implode(\'|\', array_keys($activeLanguages)) . \'/i\', $_SERVER[\'REQUEST_URI\']);

    if ($onRootPage) {
        $defaultLanguage = $sitepress->get_default_language();
        $desiredLang = isset($_SERVER[\'HTTP_ACCEPT_LANGUAGE\']) ? substr($_SERVER[\'HTTP_ACCEPT_LANGUAGE\'], 0, 2) : null;
        $langFromCookie = isset($_COOKIE[\'_icl_current_language\']) ? $_COOKIE[\'_icl_current_language\'] : null;

        // Language from previous cookie
        if (isset($langFromCookie) && array_key_exists($langFromCookie, $activeLanguages)) {
           $allGood = wp_redirect($activeLanguages[$langFromCookie][\'url\']);
        }

        // Language from browser settings
        else if (isset($desiredLang) && array_key_exists($desiredLang, $activeLanguages)) {
            $allGood = wp_redirect($activeLanguages[$desiredLang][\'url\']);
        }

        // Default language
        else {
           $allGood = wp_redirect($activeLanguages[$defaultLanguage][\'url\']);
        }

        // If no filter has aborted the redirect, we redirected and can exit now.
        if ($allGood) {
            exit();
        }
    }
}
注意:如果创建并设置根页面,整个系统将不再工作。即使稍后删除根页面,它仍将存储在设置中。我必须手动设置

\'root_html_file_path\' => null,
\'root_page\' => null,
在wp\\u options表中设置为null,以确保系统再次工作。

1 个回复
最合适的回答,由SO网友:Erez Lieberman 整理而成

您需要设置主页并将其翻译为所有4种语言,然后转到

设置->阅读->首页显示

选择第二个选项“静态页面(选择下方)”并选择此页面

这将把主页和根url设置为此页面,wpml将知道每种语言的根页面都是此页面的翻译

相关推荐