Difference @site.lang and block "lang"

I’m making my blog multilingual.

I read the documentation at this link https://ghost.org/tutorials/multi-language-content/

I really can’t figure out what the difference is in using {{@ site.lang}} or {{{block "lang"}}} and it is not clear to me how to use {{#contentFor "lang"}} de {{/ contentFor}}

after configuring the router and setting the html tag like this {{@ site.lang}}, if I create a post with tag #de, and then I connect to my site https://example.com/de/ I already see all the #de posts and the translated texts thanks to the json files in the locales folder.

can anyone give me more information?

thanks

I managed to implement {{{block "lang"}}} but now the .json files in locales are no longer called

using {{@ site.lang}} instead, the translations are retrieved correctly.

some advice?

Hey @giacomosilli, the files in locales folder is used for the default site language which was set in “General settings”. To translate the parts of your site other than posts, you can use #has helper in the theme files.

Here is an already discussed topic on that. Multi-language blog with a multi-language theme

I missed this thread, thanks I keep going there, the problem is the same.