Javascript 使用HTML Select标记在多语言网站中的语言之间切换

Javascript 使用HTML Select标记在多语言网站中的语言之间切换,javascript,php,html,jquery,ajax,Javascript,Php,Html,Jquery,Ajax,以前 我有一个网站,我只需点击一个超链接,即 index.php <div align = "left"> <select name="lang" id="lang" onChange="window.location='index.php?lang='+this.value"> <option value="en" <?php if( $lang

以前 我有一个网站,我只需点击一个超链接,即 index.php

<div align = "left">
  <select  name="lang" id="lang" onChange="window.location='index.php?lang='+this.value">
    <option value="en" <?php if( $lang =='en'){echo "selected";}?>>English</option>
    <option value="fr" <?php if( $lang =='fr'){echo "selected";}?>>French</option>
    <option value="de" <?php if( $lang =='de'){echo "selected";}?>>Dutch</option>
    <option value="sp" <?php if( $lang =='sp'){echo "selected";}?>>Spanish</option>
    <option value="pt" <?php if( $lang =='pt'){echo "selected";}?>>Portugese</option>
  </select>
..... 现在,我需要添加其他语言,如法语、葡萄牙语和西班牙语。所以我准备好了 fr.php、pt.php和sp.php ` fr.php


以下是我在一个项目中所做的工作

在这个项目的基础上,我有我的语言部分/fr/,/en/,/esp/。。。每个目录都包含一个index.php文件,因此当我选择“我的语言”选项时,将加载所选的_language/index.php(如果有帮助的话)

功能//生命 { const defaultLang='en' ,langSelector=document.getElementById'lang-select' ,htmlTag=document.querySelector'html' ,langElms=[…document.queryselectoral'*[lang]'] ,docTitle= {en:'英文文件标题' ,fr:“法兰西文件标题” } //从langElms中删除 让i_html=langElms.findIndexel=>el==htmlTag 如果i_html>-1 langElms.stipi_html,则1 //根据浏览器语言设置初始语言,如果没有任何站点语言,则设置默认语言 让initLang=navigator.language | | | navigator.userLanguage | | defaultLang.substring0,2 if!docTitle[initLang]initLang=defaultLang langSelector.value=initLang 秀朗 函数showLang { 设lang=langSelector.value htmlTag.lang=lang document.title=docTitle[lang] langElms.forEachel=> { 如果el.lang==lang el.classList.remove'noDisplay' else el.classList.添加'noDisplay' } } //最后一击! langSelector.onchange=showLang } .noDisplay{ 显示:无!重要; } /*装饰部分*/ div{ 显示:内联块; 边框:1px纯灰; 边缘:.5em; 填充:.5em; } 英语 法国 法兰西语第二段

这一段是英文的

法国东部行政区
这个块是用英语写的如果你想知道它的本质是什么,你是想说你的语言翻译是通过在每个fr/index.php,en/index.php中添加相应的lang属性值来完成的吗,esp/index.php文件?是的,基本上我是用我当时能想到的最简单的方式来做的。谢谢@Axel Moriceau。你的建议对我有用。也许你还需要添加,或者……我不明白你的实际问题是什么。当请求index.php?lang=xy时,您已经有了显示正确内容的服务器端逻辑,对吗?现在所发生的变化是,您不再通过单击链接导航到这些URL,而是在用户在选择字段中做出不同选择后,通过JavaScript导航到这些URL。URL格式仍然完全相同,那么为什么现在需要在服务器端对其进行更多修改呢?