AddressForAll / site-v2

New AddressForAll website, version 3 of attempts to make it better
Apache License 2.0
1 stars 0 forks source link

Implement multi language #1

Closed danilohbp closed 2 years ago

danilohbp commented 2 years ago

Ideas

Consider using json's or multilanguage routes to direct the user to the page with content in the language of their choice

elpbatista commented 2 years ago

There is also another way to do it, better for SEO, using <spam lang="es">texto en Español</spam><spam lang="en">English text<spam> and show/hide the current language text adding a CSS class via JavaScript.

In this case it is a change (visible on/off) of static content driven by multilingual paths but the text will actually be embedded and available to indexing engines.

danilohbp commented 2 years ago

OK! So when the user chooses a language we pass this as props in the "lang" attribute and the textual part will be injected according to that attribute and another factor that precisely defines that text in that tag

elpbatista commented 2 years ago

The text will be displayed instead of being dynamically injected because it will already be embedded but hidden. This would make it easier for the search engine which would index only one page instead of three. This is ideal for websites with little static content, as is the case.

It is also easy to maintain, but of course we are open to any ideas. It should be interesting to have a look at the state of the art of modern content internationalization techniques.

danilohbp commented 2 years ago

Good!

ppKrauss commented 2 years ago

Vou especificar melhor em docs/generalSpec, mas por hora dois resultados importantes no detalhamento dos requisitos:

  1. apenas o menu de navegação e interfaces animadas (ex. mapas dinâmicos e seletores dinâmicos) podem ter o seu "template de língua" resolvido em client-side.
  2. As diferentes línguas do conteúdo institucional serão gerenciadas como páginas distintas e "montadas" em server-site
ppKrauss commented 2 years ago

resolvido com JSON, pendente com HTML ou Markdown