JS-替换语言

JS - Replace language

本文关键字:语言 替换 JS-      更新时间:2023-09-26

我的JS文件中有以下行:

   language : (div.lang && div.lang != "") ? div.lang : "en",

我只想在中更改行

   language : (div.lang && div.lang != "") ? div.lang : "de",

   language : (div.lang && div.lang != "") ? div.lang : "es",

   language : (div.lang && div.lang != "") ? div.lang : "fr",

   language : (div.lang && div.lang != "") ? div.lang : "la",

   language : (div.lang && div.lang != "") ? div.lang : "it",

当我选择一种语言时,我想替换js文件中的行:

   <select id="type" name="type">
    <option value="en">English</option>
    <option value="de">German</option>
    <option value="es">Spanish</option>
    <option value="fr">French</option>
    <option value="la">Latin</option>
    <option value="it">Italian</option>
   </select>

但我不知道如何实现:/有人可以帮忙吗?还有一个提示:我不想更改前端访问者的语言。我只想更改它,使我的整个脚本使用选定的语言。

更新

我在JS文件中有以下内容:

   // Global Var in JS (placed on top)
   var LANGUAGE = "en";
   function languageChange(){ 
   LANGUAGE = document.getElementById("selectLanguage").value;
   }

我的HTML文件中有以下内容:

   <p style="float:left"><input style="border:1px solid #bbb" type="submit" value="Choose language" id="submit"></p>
   <p style="float:right; padding-right:20px">
   <select id="selectLanguage" onchange="languageChange">
   <option value="en">English</option>
   <option value="de">Deutsch</option>
   <option value="es">Español</option>
   <option value="fr">Français</option>
   <option value="la">Lingua latina</option>
   <option value="it">Italiano</option>
   </select>&nbsp;<input type="submit" value="Enter" id="submit"></p>

它不起作用。

var languageEnum = {
  english: "en",
  german: "de",
  spanish: "es",
  french: "fr",
  latin: "la",
  italian: "it"
};
var pageConfiguration = {
  language: languageEnum.english; // note that this could be a user preference too and you could check the browser's language
};
$(document).ready(function() {
  $("#type").change(function(){
    pageConfiguration.language = $(this).val();
  });
});
  //...
  language : (div.lang && div.lang != "") ? div.lang : pageConfiguration.language,
  //...
//GLOBAL
var LANGUAGE = "en"; // if english is default

//on bodyload
$("#type").change(function(){
  LANGUAGE = $(this).val();
});

//wherever you want to use it
language : (div.lang && div.lang != "") ? div.lang : LANGUAGE,

评论:

  1. enum只是浪费资源(在我看来===>顺便说一句,谢谢;)
  2. 使用我的代码是基于jquery
  3. 在bodyload上可以放入domready上的jquery,在bodyload上的html等

对于纯JS:

// HTML:
<select id="selectLanguage" onchange="languageChange">
// JS
//// Global Var in JS (placed on top)
var LANGUAGE = "en";
//// function placed anywhere
function languageChange(){
    LANGUAGE = document.getElementById("selectLanguage").value;
}
//// wherever you want to use the line
language : (div.lang && div.lang != "") ? div.lang : LANGUAGE

顺便说一句://加载事件////Html方式

//or
//// JQ way
$(document).ready(function{})
// etc...