在全球化日益盛行的今天,拥有一个支持多语言的网站已成为企业拓展国际市场、提升用户体验的关键。AnQiCMS作为一款高效、灵活的内容管理系统,充分考虑了这一需求,为您提供了便捷的多语言内容切换与显示方案。
不同于简单地在同一页面堆砌多种语言,AnQiCMS采用了一种更为灵活和强大的多站点管理模式来实现多语言支持。这意味着,您可以为每种目标语言创建一个独立的网站,它们共享AnQiCMS的核心系统,但内容、设置甚至域名都可以独立配置,从而更好地满足不同语言用户的个性化需求。
下面,我们将一同探索如何在AnQiCMS中轻松驾驭多语言内容的切换与显示。
第一步:构建多语言站点的基础架构
实现多语言内容切换的核心在于AnQiCMS的“多站点管理”功能。您可以将不同语言版本视为不同的站点,它们各自独立运营,但又通过AnQiCMS统一管理。
- 在后台创建独立的语言站点:
- 首先,登录您的AnQiCMS主站点后台。
- 找到“多站点管理”功能入口,点击“添加新站点”。
- 为每一种目标语言创建一个新站点。例如,如果您的主站是中文,现在希望增加英文版,您可以创建一个名为“英文站”的新站点。
- 在创建过程中,您需要为新站点配置以下关键信息:
- 站点名称:用于区分不同的语言站点。
- 站点根目录:指定一个独立的目录路径,用于存储该语言站点的缓存和其他数据。
- 网站地址:这是该语言版本站点的访问URL。您可以选择不同的域名(例如
en.yourdomain.com)或子目录(例如yourdomain.com/en/)来实现,这通常需要服务器(如Nginx或Apache)的反向代理配置来配合AnQiCMS的Go项目端口映射。 - 管理员账号密码:为新站点设置独立的后台管理凭据。
- 数据库名称:建议为每个语言站点配置一个独立的数据库,以确保内容和数据的完全隔离,避免混淆。
- 默认语言包:这是非常重要的一步,为新站点选择对应的语言包(例如,“英文站”选择“英文”)。这会影响AnQiCMS系统内置文字的显示,例如后台界面、某些系统提示等。但请注意,这不会自动翻译您网站的文章、产品等实际内容。
完成这些配置后,您就拥有了一个新的、独立的语言站点。重复此步骤,可以创建更多语言版本的站点。
第二步:发布和管理多语言内容
每个语言站点创建完成后,您就可以像管理任何普通网站一样,在各自的后台发布和管理对应语言的内容。
- 独立发布内容:
- 登录到您为特定语言创建的站点后台(例如,登录英文站的后台)。
- 在该站点下,发布所有您希望以该语言显示的文章、产品、单页面等内容。
- 确保所有内容的文本、图片描述、SEO标题、关键词和描述都使用该语言编写,以提供高质量的本地化体验。
- 保持内容同步与一致性:
- 虽然内容是独立管理的,但您可能希望不同语言版本的内容在主题和结构上保持一致。例如,一篇关于“公司简介”的中文文章,也应有对应的英文版本。
- AnQiCMS没有内置自动翻译或内容关联功能,因此内容的一致性需要您通过人工维护或内部工作流来确保。
第三步:优化前端的语言切换与显示
为了让用户能够方便地在不同语言版本之间切换,并提升搜索引擎对多语言内容的识别度,您需要对网站模板进行一些适配。
集成语言切换功能:
tag-languages.md文档中介绍的{% languages websites %}标签是实现语言切换的关键。这个标签能够获取您在AnQiCMS中配置的所有多语言站点信息。您可以在网站的页眉或页脚等显眼位置,添加一段代码来动态生成语言切换的链接:
{%- languages websites %} {%- if websites %} <div class="language-switcher"> <span>切换语言:</span> {%- for item in websites %} <a href="{{item.Link}}"> {%- if item.LanguageIcon %} <img src="{{item.LanguageIcon}}" alt="{{item.LanguageName}}"/> {%- else %} {{item.LanguageEmoji}} {% endif %} {{item.LanguageName}} </a> {%- endfor %} </div> {%- endif %} {%- endLanguages %}这段代码会遍历所有已配置的语言站点,并为每个站点生成一个链接,链接文字可以是语言名称,旁边还可以显示对应的国旗图标或Emoji表情,提升视觉效果。
翻译模板中的固定文字: 网站模板中除了您发布的内容,还有很多导航菜单、按钮、版权信息等固定文本。为了让它们也能根据当前语言站点的设置而变化,AnQiCMS提供了翻译标签
{% tr "关键词" %}。- 创建语言文件:在您的模板目录下,创建一个名为
locales的文件夹。然后在locales文件夹内,为每种语言创建一个子文件夹(例如zh-cn表示简体中文,en-us表示美式英语),并在每个子文件夹中创建一个default.yml文件。 例如,locales/zh-cn/default.yml:yourLocation: "您的位置" home: "首页" contactUs: "联系我们"locales/en-us/default.yml:yourLocation: "Your Location" home: "Home" contactUs: "Contact Us" - 在模板中使用翻译标签:
当用户访问中文站点时,<nav> <a href="/">{% tr "home" %}</a> <a href="/contact">{% tr "contactUs" %}</a> </nav> <p>{% tr "yourLocation" %}:XXX</p>{% tr "home" %}将显示“首页”;当访问英文站点时,则显示“Home”。
- 创建语言文件:在您的模板目录下,创建一个名为
提升搜索引擎友好度(Hreflang标签): 为了帮助搜索引擎更好地理解您网站的多语言