在当今全球化的互联网环境中,网站支持多语言已成为拓展市场、服务不同用户群体的关键。安企CMS(AnQiCMS)凭借其灵活强大的功能,为网站的多语言内容切换与显示提供了行之有效的解决方案。本篇文章将详细介绍如何在AnQiCMS网站上配置多语言内容,帮助您轻松实现网站的国际化布局。
多语言策略的核心:理解AnQiCMS的多站点管理
AnQiCMS实现多语言功能的核心策略是充分利用其强大的多站点管理能力。这意味着,您通常会为每种目标语言创建一个独立的站点,而不是在同一个内容条目中直接切换语言版本。这种设计确保了每个语言站点内容的独立性、可定制性和SEO友好性,为不同语言的用户提供最精准、最原生的体验。
第一步:规划您的多语言站点结构
在着手配置之前,首先需要对多语言站点的结构进行规划。这主要涉及到域名策略,常见的有以下几种:
- 独立域名(如:
example.de,example.fr):这是最理想的模式,SEO效果**,但成本较高。 - 子域名(如:
en.example.com,de.example.com):较为常用,SEO效果良好,易于管理。 - 子目录(如:
example.com/en/,example.com/de/):部署和管理相对简单,但需要确保服务器配置支持URL重写,以便AnQiCMS能够正确解析。
无论选择哪种模式,您都需要为每种语言准备好相应的域名或路径,并提前进行域名解析工作,确保它们都能指向您的AnQiCMS服务器。
第二步:在AnQiCMS中创建语言站点
规划好站点结构后,我们便可以在AnQiCMS后台为每种语言创建对应的站点。AnQiCMS允许在同一套系统内管理多个站点,且每个站点可以拥有独立的配置和内容。
- 登录主站点后台: 使用您最初安装AnQiCMS时创建的管理员账号登录主站点的后台。
- 访问多站点管理: 在后台左侧菜单中找到“多站点管理”功能。
- 添加新站点: 点击“添加新站点”按钮,根据您的规划填写站点信息。
- 站点名称: 为您的语言站点命名,例如“英文站”、“德文站”。
- 站点根目录: 指定一个唯一的目录,例如
/app/en_anqicms_com或/www/wwwroot/en.anqicms.com。这个目录将用于独立存储该语言站点的缓存和其他数据,务必确保不与其他站点目录冲突。 - 网站地址: 填写该语言站点的完整URL,例如
https://en.yourdomain.com或https://yourdomain.com/en。 - 管理员账号密码: 为这个新语言站点设置独立的后台管理账号和密码。
- 数据库名称: 为新站点指定一个唯一的数据库,例如
en_anqicms_com。如果您是在Docker环境中安装并希望复用主站点的数据库连接信息,可以选择“复用默认数据库账号信息”,AnQiCMS会自动创建新的数据库表。 - 选择使用的模板: 您可以为每个语言站点选择不同的模板,或者使用同一套模板进行本地化修改。
值得注意的是,AnQiCMS后台的“全局功能设置”中有一个“默认语言包”选项。此选项主要用于切换AnQiCMS后台界面和系统内置提示信息的语言,并不会直接影响网站前台的内容语言。网站前台的内容本地化需要通过后续的内容管理和模板配置来实现。
第三步:内容本地化与管理
创建好语言站点后,接下来的核心任务是进行内容本地化。每个语言站点都将拥有自己独立的内容管理体系:
- 登录对应的语言站点后台: 使用您为该语言站点设置的管理员账号登录。
- 创建和翻译内容:
- 文档(文章、产品等)和分类: 您需要为每个语言站点独立创建或翻译相应的文档(如文章、产品信息)和分类。这意味着,一篇英文文章和它的中文版本将是两个独立的文档,分别发布在英文站点和中文站点。
- 单页面: 同样,像“关于我们”、“联系我们”等单页面也需要根据语言进行创建和翻译。
- 图片和多媒体: 考虑为不同语言的用户提供本地化的图片或视频,例如带有本地语言字幕的视频。
- SEO本地化:
- TDK(Title, Description, Keywords): 为每个语言站点的每篇文章、分类、页面设置符合当地语言习惯和搜索偏好的TDK。
- URL结构: 确保URL结构也符合多语言SEO**实践。
- Hreflang标签: 这是多语言网站SEO的关键。它告诉搜索引擎您的不同语言版本之间是互相对应的,避免内容重复的惩罚。在AnQiCMS中,您可以通过模板标签轻松实现。
第四步:实现网站前端的语言切换与显示
为了让用户能够方便地在不同语言版本之间切换,我们需要在网站前端添加语言切换功能,并配置hreflang标签以优化SEO。
- 获取多语言站点列表: AnQiCMS提供了一个名为
languages的模板标签,用于获取所有已配置的多语言站点信息。
这段代码会遍历所有语言站点,并为每个站点生成一个链接,显示语言名称或图标。您可以将其放置在网站的页眉或页脚等显眼位置。{%- languages websites %} {# websites 是一个包含所有语言站点信息的数组 #} {%- if websites %} <div> <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 %} - 配置Hreflang标签: Hreflang标签应放置在HTML的
<head>区域,它会告诉搜索引擎哪些页面是同一内容的替代语言版本。
通过这个标签,搜索引擎可以理解您的多语言内容结构,并将用户引导至其偏好语言版本的网站。{%- languages websites %} {%- for item in websites %} <link rel="alternate" href="{{item.Link}}" hreflang="{{item.Language}}"> {%- endfor %} {%- endLanguages %}
第五步:模板层面的多语言微调
除了内容本身的翻译,网站模板中可能还包含一些静态文本,例如导航菜单项、页脚版权声明、表单标签等。AnQiCMS提供了tr(translate)标签来处理这些模板内的静态文本翻译。
- 创建语言文件: 在您的模板目录下,创建一个名为
locales的文件夹,并在其中为每种语言创建子文件夹(例如zh-cn、en-us),每个子文件夹内包含一个default.yml文件。 例如,zh-cn/default.yml:
对应的"yourLocation": "您的位置" "home": "首页" "contactUs": "联系我们"en-us/default.yml:"yourLocation": "Your Location" "home": "Home" "contactUs": "Contact Us" - 在模板中使用
tr标签: 在模板文件中,您可以使用{% tr "键名" %}来调用对应的翻译文本。 “`twig