在内容全球化的今天,让网站支持多语言切换和显示,已经成为许多企业拓展国际市场的重要一环。AnQiCMS 凭借其灵活的架构,为我们提供了实现这一目标的高效途径。本文将深入探讨如何在 AnQiCMS 中配置和管理多语言内容,确保它们在前台网站上能够正确地切换和展示,从而为不同语种的用户提供优质的浏览体验。
AnQiCMS 多语言能力概览
AnQiCMS 将多语言内容的管理巧妙地融入其核心功能之中。其实现多语言的关键在于“多站点管理”与“语言包”及“模板标签”的紧密结合。这意味着,您可以将网站的每一个语言版本都视为一个独立的站点进行管理,每个站点都可以拥有自己独立的数据库内容、模板以及语言配置,从而实现了内容的高度定制化与隔离。
后台配置:奠定多语言基础
要确保 AnQiCMS 的多语言内容在前台正确切换和显示,首先需要在后台进行一系列基础配置。
设置默认语言包 在 AnQiCMS 后台的“全局功能设置”中,您可以找到“默认语言包”选项。这里内置了中文、英文等多种语言供您选择。选择一个语言包后,这会影响系统后台的界面显示以及前端一些内置的、非用户生成文本的语言。例如,一些系统提示、按钮文字等会按照所选语言进行显示。
然而,请务必注意,这项设置并不会自动翻译您网站上发布的文章、产品、单页面等具体内容。这些由用户创建的核心内容,需要针对每种语言独立进行创作和维护。
通过多站点管理创建不同语言版本 AnQiCMS 强大的“多站点管理”功能是实现多语言策略的核心。您可以为每一种目标语言创建一个独立的站点。例如,如果您的目标用户群包括英语和西班牙语使用者,您可以创建一个名为
en.yourdomain.com的英文站,以及一个名为es.yourdomain.com的西班牙文站。在后台“多站点管理”界面添加新站点时,您需要为每个语言站点配置以下信息:
- 站点名称:便于区分不同语言版本,如“英文站”、“西班牙文站”。
- 站点根目录:每个站点应有独立的根目录,用于存储缓存、上传文件等数据,避免冲突。通常以
/app/开头,后跟一个基于域名转换的名称,如/app/en_yourdomain_com。 - 网站地址:这是该语言版本的访问域名,例如
http://en.yourdomain.com。请确保该域名已正确解析到您的服务器。 - 管理员账号密码:为每个站点设置独立的后台管理权限。
- 数据库名称:每个语言站点拥有独立的数据库,用于存储其独特的内容。同样建议以域名转换的名称命名,如
en_yourdomain_com。 - 选择使用的模板:您可以为每个语言版本选择或定制专属的模板,以适应不同语言的排版和设计需求。
通过这种方式,每个语言站点都将拥有独立的后台、内容和模板,为精细化运营不同语言市场提供了坚实的基础。
前端模板实现:确保语言切换与内容匹配
在后台配置好不同语言的站点后,如何在网站前台实现语言的正确切换与内容展示是关键。这主要通过 AnQiCMS 提供的模板标签来完成。
构建前端语言切换器 为了让用户能够自由选择网站的语言版本,我们需要在网站前端提供一个语言切换菜单。AnQiCMS 的
languages标签可以帮助我们轻松实现这一点。这个标签会返回一个包含所有已配置语言站点信息的数组。在模板中,您可以这样使用
languages标签来构建语言切换器:{%- languages websites %} {%- if websites %} <div class="language-switcher"> <span>切换语言:</span> {%- for item in websites %} <a href="{{item.Link}}" title="{{item.LanguageName}}"> {%- if item.LanguageIcon %} {# 优先使用语言图标 #} <img src="{{item.LanguageIcon}}" alt="{{item.LanguageName}}" /> {%- else %} {# 否则使用 Emoji 表情符号 #} {{item.LanguageEmoji}} {% endif %} {{item.LanguageName}} </a> {%- endfor %} </div> {%- endif %} {%- endlanguages %}这段代码会遍历所有已设置的语言站点,并为每个站点生成一个链接。
item.Link会指向对应语言站点的根目录,确保用户点击后能正确跳转到该语言版本的首页。实现模板中的本地化文字翻译 对于网站界面上的固定文本,例如导航菜单项、页脚信息、表单提示等,您可以使用 AnQiCMS 的
tr(translate) 标签进行本地化。这避免了为每种语言复制整套模板,使得模板维护更加高效。要启用这项功能,您需要在模板的根目录下创建一个名为
locales的文件夹。在该文件夹内,为每种语言创建一个子文件夹(例如en-us、zh-cn等),并在这些子文件夹中放置一个default.yml文件。例如,您的
locales/zh-cn/default.yml文件内容可能是:yourLocation: "您的位置" contactUs: "联系我们"而
locales/en-us/default.yml文件内容则可能是: “`yaml yourLocation: “Your Location” contactUs: “Contact Us