跳至正文

多语言支持

www.u2btc.com 的多语言支持更符合常见网站的设计模式,即在导航栏中提供语言选择功能(例如下拉菜单或图标),用户点击后可以切换到对应语言的页面,文章内容也会自动显示为所选语言的版本。这种方式比当前 Polylang 默认的 URL 切换(如 /zh-cn/)更直观。以下是具体实现步骤,基于你当前的 Neve 主题(无论是 Neve 还是 Neve Child – U2BTC)和 Polylang 插件。


目标

  • 在导航栏添加语言选择器(例如下拉菜单),支持 英文、简体中文、繁体中文
  • 用户选择语言后,页面跳转到对应语言版本,文章内容自动切换。
  • 保持学术博客的简洁风格。

当前多语言状态

你已经安装了 Polylang,并为文章、分类和页脚注册了多语言字符串(英文、简体、繁体)。现在只需将语言切换器集成到导航栏,并优化用户体验。


实现步骤

1. 配置 Polylang 语言切换器

Polylang 内置了语言切换器功能,可以轻松添加到导航栏。

  • 设置语言切换器
    • 登录 www.u2btc.com/wp-admin。
    • 前往“语言” > “设置” > “语言切换器”(Language Switcher)。
    • 配置选项:
      • 显示所有语言:勾选(显示英文、简体、繁体)。
      • 显示方式:选择“下拉菜单”(Dropdown)或“横向列表”(Horizontal List)。
      • 显示名称:勾选“显示语言名称”(如 English、简体中文、繁體中文)。
      • 显示标志:可选(如果想加国旗,勾选“显示旗帜”)。
      • 隐藏当前语言:可选(建议取消勾选,让用户看到当前语言)。
    • 保存设置。

2. 将语言切换器添加到导航栏

Polylang 允许通过菜单或小工具添加切换器。我们选择导航栏集成:

  • 通过菜单添加
    • 前往“外观” > “菜单”。
    • 在菜单编辑页面:
      • 确保编辑的是主菜单(Primary Menu,通常在“Navigation & Branding Setup”中设为“Main”)。
      • 在左侧“添加菜单项”区域,找到“语言切换器”(Language Switcher)。
      • 点击展开,勾选“语言切换器”,然后点击“添加到菜单”。
      • 将其拖到导航栏右侧(例如在“关于”之后)。
      • 保存菜单。
    • 检查前端:刷新 www.u2btc.com,导航栏应显示语言切换器(例如下拉菜单:English、简体中文、繁體中文)。
  • 通过小工具添加(备用)
    如果菜单中无法添加:
    • 前往“外观” > “小工具”。
    • 找到“Header”或“Top Bar”区域(Neve 通常支持)。
    • 将“Polylang Language Switcher”小工具拖入,配置为下拉菜单。
    • 保存并检查。

3. 优化语言切换器样式

确保切换器与学术风格匹配,添加到 neve-child/style.css(或通过自定义器“附加 CSS”):

css收起自动换行复制

/* 语言切换器样式 */ .polylang-switcher { margin-left: 20px; display: inline-block; } .polylang-switcher select { padding: 5px; border: 1px solid #ddd; border-radius: 4px; background: #fff; font-family: 'Georgia', 'Noto Serif SC', 'Noto Serif TC', serif; color: #333; } .polylang-switcher option { padding: 5px; }

4. 验证多语言文章切换

  • 确保文章已翻译
    • 前往“文章” > “所有文章”。
    • 检查每篇文章是否有三种语言版本(英文、简体、繁体)。例如:
      • 英文:Game Theory in Blockchain
      • 简体:区块链中的博弈论
      • 繁体:區塊鏈中的博弈論
    • 如果未翻译,点击文章右侧“+”添加对应语言版本。
  • 测试切换
    • 访问 www.u2btc.com,选择导航栏中的“简体中文”。
    • 当前页面应跳转到简体版本(例如 www.u2btc.com/zh-cn/),文章标题和内容显示为中文。
    • 切换到“繁體中文”或“English”,确认内容正确切换。

5. 添加语言名称(可选优化)

默认情况下,Polylang 使用语言代码(如 en、zh-cn)。你可以自定义为完整名称:

  • 在“语言” > “语言”中编辑:
    • English → English
    • 简体中文 → 简体中文(代码 zh_CN)
    • 繁體中文 → 繁體中文(代码 zh_TW)
  • 或通过代码自定义(加到 functions.php): php收起自动换行复制add_filter( 'pll_the_languages', 'custom_language_names', 10, 2 ); function custom_language_names( $output, $args ) { $langs = pll_the_languages( array( 'raw' => 1 ) ); $output = '<select name="lang_choice" onchange="location.href=this.value;">'; foreach ( $langs as $lang ) { $name = $lang['slug'] === 'en' ? 'English' : ($lang['slug'] === 'zh-cn' ? '简体中文' : '繁體中文'); $output .= '<option value="' . $lang['url'] . '" ' . ($lang['current'] ? 'selected' : '') . '>' . $name . '</option>'; } $output .= '</select>'; return $output; }
  • 这会将切换器显示为“English、简体中文、繁體中文”。

测试与调整

  1. 检查导航栏
    • 打开 www.u2btc.com,确认语言切换器出现在导航栏(例如右侧)。
    • 点击下拉菜单,选择不同语言,页面应跳转并显示对应内容。
  2. 多语言验证
    • 确保文章、分类、页脚等已翻译的内容随语言切换正确显示。
  3. 样式确认
    • 检查切换器是否与导航栏风格一致(例如字体、颜色)。
    • 如果位置或外观不理想,告诉我具体需求(例如“放左边”或“更大一点”),我再调整 CSS。

如果使用子主题 Neve Child – U2BTC

  • 将上述代码(CSS 或 functions.php 修改)添加到 neve-child 文件:
    • style.css:追加样式。
    • functions.php:追加语言切换器或占位符代码。
  • 确保子主题激活后,导航栏功能正常。

效果预览

  • 导航栏:Home | Game Theory | Blockchain | BTC | About | [English ▼]
  • 切换后
    • 英文:www.u2btc.com/game-theory-in-blockchain
    • 简体:www.u2btc.com/zh-cn/区块链中的博弈论
    • 繁体:www.u2btc.com/zh-tw/區塊鏈中的博弈論

下一步

  • 实现后反馈:告诉我语言切换器是否按预期工作,或是否需要调整(如位置、样式)。
  • 搜索功能:如果你还想继续添加搜索框(主页或导航),我可以接着完善。
  • 菜单问题:如果以后想再解决子主题菜单差异,可以随时告诉我。

这种多语言切换方式是大多数网站的标配,你的学术博客 www.u2btc.com 会因此更专业和用户友好!

发表回复