Node.js + Express.js.Google向我展示了服务器端翻译ID

Edu*_*rdo 3 translation node.js express pug

我用Node.js + Express.js制作的网页有一个非常奇怪的问题.我的网页是多语言(英语/西班牙语),因此在Jade模板中,我有翻译ID,这些ID对应于取决于所选语言的文本.好的,这很好用.

现在,当我在Google中搜索网页时,它会在第一个结果中显示没有问题,但在说明中它显示了翻译ID,而不是渲染文本.这很奇怪,因为翻译应该是在服务器端进行的,不是吗?

Jon*_*ski 5

问题似乎是没有默认语言,Google的网络抓取工具似乎没有指定首选项.

i18n似乎合理地基于Accept-Language请求标头:

curl --header 'Accept-Language: en-US,en' http://www.porcupinee.net
Run Code Online (Sandbox Code Playgroud)
<div id="why" class="row">
  <h2>Why should you choose us?</h2>
  <h3 class="text-center">We are young developers focused to the web</h3>
  <!-- ... -->
Run Code Online (Sandbox Code Playgroud)
curl --header 'Accept-Language: es' http://www.porcupinee.net
Run Code Online (Sandbox Code Playgroud)
<div id="why" class="row">
  <h2>¿Por qué debería elegirnos?</h2>
  <h3 class="text-center">Somos jóvenes desarrolladores enfocados a la web</h3>
  <!-- ... -->
Run Code Online (Sandbox Code Playgroud)

但是,如果没有该标头或指定了另一种语言,则不执行替换:

curl http://www.porcupinee.net
Run Code Online (Sandbox Code Playgroud)
curl --header 'Accept-Language: de' http://www.porcupinee.net
Run Code Online (Sandbox Code Playgroud)
<div id="why" class="row">
  <h2>why.title</h2>
  <h3 class="text-center">why.we.title</h3>
  <!-- ... -->
Run Code Online (Sandbox Code Playgroud)