首页 / 开发文档 / 多语言建站

多语言建站

语言变量、切换器、hreflang 标注,以及「地址前缀不要自己拼」这条最容易踩的规矩。

适用范围:页头页脚(切换器、hreflang)、全站地址。

语言变量

{lang.html}lang 属性的值(zh-CN / en)
{lang.dir}文字方向(ltr / rtl)
{lang.name} {lang.code}当前语言名 / 代码
{lang.prefix}地址前缀(如 /en)
{lang.on}是否开了多语言('1'/'0')
{lang.list}语言列表,配 {naicha:loop} 用

页头:声明语言 + hreflang

<html lang="{lang.html}" dir="{lang.dir}">
<head>
  {lang.hreflang html="1"}
</head>

⚠️ html="1" 不能省:它会输出一整串 <link rel="alternate">, 不带的话会被转义成文本显示在页面上,页头直接烂掉。

切换器

{naicha:if var="lang.on" eq="1"}
  <div class="lang-switch">
    {naicha:loop from="lang.list" as="L"}
      <a href="{L.url}" hreflang="{L.code}"
         class="{naicha:if var="L.current" eq="1"}on{/naicha:if}">{L.name}</a>
    {/naicha:loop}
  </div>
{/naicha:if}
⚠️ 站内地址一律用 {naicha:url} 生成,不要自己拼 /en/。 它会自动带上当前语言前缀 —— 手工再拼一次就会变成 /en/en/…, 而这种错不会报错,只是所有链接都 404。
没找到答案? 可以在 联系我们 留言说明使用场景,我们会补充进文档。