Node.js + Express.js. Google shows me the server side translation IDs
express, node.js, pug, translation
Solution
The problem seems to be that there isn't a default language and Google's web crawlers don't seem to specify a preference.
The i18n seems to be reasonably based on the `Accept-Language` request header:
curl --header 'Accept-Language: en-US,en' http://www.porcupinee.net
<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>
<!-- ... -->
curl --header 'Accept-Language: es' http://www.porcupinee.net
<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>
<!-- ... -->
But, no substitution is performed without that header or when another language is specified:
curl http://www.porcupinee.net
curl --header 'Accept-Language: de' http://www.porcupinee.net
<div id="why" class="row">
<h2>why.title</h2>
<h3 class="text-center">why.we.title</h3>
<!-- ... -->
Problem
I have a very strange problem with a webpage I made with Node.js + Express.js. My webpage is multilanguage (English/Spanish), so in the Jade templates I have translations IDs which correspond to a text depending on the selected language. Ok, that works well. Now, when I search the webpage in Google, it appears on the first result without problems, but in the description it shows me the translation IDs, not the rendered text. It's very strange because the translation is supposed to be made on the server side, isn't it?