内容相同的多语种网站

时间:2013-07-09 作者:Shimon S

我想做一个网站在2种语言,但所有的内容将是完全相同的(所有的帖子将不会被翻译)
唯一的区别在于主题消息(如“搜索”、“未找到页面”)等,这些消息将根据WPLANG. 此外,我必须有能力在主题中创造一些条件,根据WPLANG.我想通过URL添加一个标识(如www.mysite.com/?lang=en), 定义WPLANG 并将此变量存储在session, 通过这种方式,在主题中使用它<但是可能有更好的解决方案吗?

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

将其存储在会话中当然是可能的,但根本没有必要
除非您正在寻找一种不在随后访问的URL中包含查询字符串的方法。在这里,我宁愿使用cookie而不是会话,因为WP已经依赖cookie而不使用会话。但我想这是个人品味的问题。

总之:
在您的wp配置中。php,您可以定义WPLANG 有条件地类似于此(wp config.php很早就加载了,但除此之外,普通php文件与其他文件一样):

if ( isset( $_GET[\'lang\'] ) ) {
    define( \'WPLANG\', $_GET[\'lang\'] );
} else {
    define( \'WPLANG\', \'en_US\' );
}
或者,如果希望为查询参数使用两个字符标识符,并且/或者如果参数无效,则将其默认为某一语言(此处:英语):

$language = isset( $_GET[\'lang\'] ) ? $_GET[\'lang\'] : \'en\';
switch ( $language ) {
    case \'de\':
        define( \'WPLANG\', \'de_DE\' );
    break;

    case \'en\':
    default:
        define( \'WPLANG\', \'en_US\' );
}

结束

相关推荐

multi-language WordPress site

我正在制作由WordPress支持的多语言网站。WPML 不是免费的,而且它对数据库进行了太多额外的sql查询,所以对于我的站点来说,这不是一个好的解决方案。qTranslate 将所有语言保存在一个数据库行中,以后移动到另一个多语言插件非常复杂。<?php _e( \'<!--:en-->english text<!--:--><!--:de-->german text<!--:-->\' ); ?> xLanguage 两年多没有更新