制作多语言网站的最佳方式是什么?

What is the best way to make a multilingual site?

我需要制作 2 种语言的着陆页,通过点击旗帜来切换语言。

据我所知,我需要在用户的本地存储/cookie 中保存语言状态。

我在这里看到 3 个选项:

问题一:
哪种方式更好,何时以及为什么? (案例:一个页面着陆,网站有很多页面)

问题二:
当我复制页面时,根目录中根本没有 index.html 是否正常,但是:

/en/index.html  
/ru/index.html  
默认重定向到 /en/

.htaccess 文件,检查 lang 变量的 cookie,如果存在则将用户重定向到特定文件夹。

我会将每个翻译存储在 json 文件(en.json、ru.json)中,并使用 url 参数更改语言。 index.html?lang=ru(这样你就不必处理不同的路径)

如果 url 参数存在,将其保存在本地存储中,加载相应的 json 并用转换后的字符串填充页面。 如果没有 url 参数,请在本地存储中查找一种语言。如果那里什么都没有,假设一个默认值(例如 en)并加载翻译后的字符串。

问题一: 选项1: 如果您有某种前端框架(如 Angular 或 React),这是很好的做法。 但是如果你有一个静态(或只有服务器端渲染)的页面,那不是真正的方法。因为它给您的代码增加了不必要的复杂性。

选项 2: 如果您只有后端渲染(例如使用 PHP),这是一个很好的方法。

选项 3: 仅当您拥有不会更改的静态网页(仅 HTML/CSS)时才执行此操作。而且你根本没有编程经验。

问题二: 好吧,不,你总是有 index.html,但你可以重定向到默认语言的 index.html。