亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

能夠將一個或多個詞從一種語言映射到另一種語言的可靠國際化方法是什么樣子的?

能夠將一個或多個詞從一種語言映射到另一種語言的可靠國際化方法是什么樣子的?

DIEA 2023-06-09 15:27:26
我有一系列工作日 [“星期一”,“星期二”..等],我需要將每一天翻譯成另一種語言。let weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']; translatedArray = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi'];最好的方法是什么?我需要輸出一個帶有翻譯數組的新數組
查看完整描述

5 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

您可以使用Array reduce方法來制作結果對象。


let weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];


let translatedArray = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi"];


let ret = weekdays.reduce((p, c, i) => {

  p[c] = translatedArray[i];

  return p;

}, {});

console.log(ret);

console.log(ret["Tuesday"]); 


查看完整回答
反對 回復 2023-06-09
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

我的簡單方法是在這樣的對象中維護一個 json


let weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];

let anotherLanguageDays = {

   "Monday" : "星期一",

    "Tuesday" : "星期一",

    ... and so on

};

現在當你遍歷數組時你可以做這樣的事情


weekdays.forEach(d => {

   console.log(anotherLanguageDays[d]);

})

您的代碼的完整示例...


let weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];



let anotherLangauge = {

  Monday : "Lundi",

  Tuesday : "Mardi",

  Wednesday : "Mercredi",

  Thursday : "Jeudi",

  Friday : "Vendredi"

};



weekdays.forEach(d => {

  console.log(anotherLangauge[d]);

})


查看完整回答
反對 回復 2023-06-09
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

使用代表語言代碼的鍵創建一個對象。每種語言代碼都有另一個對象,其中包含單詞和該語言中單詞的翻譯。


編寫一個函數,該函數接受一個字符串數組作為您要翻譯的單詞,以及一個指示從哪種語言獲取翻譯的語言代碼。


確保將所有鍵都小寫以保持統一。這些值沒有小寫。


按照這種方法,您可以通過添加更多語言和單詞來輕松擴展。


const translations = {

  'en-US': {

    monday: 'Monday',

    tuesday: 'Tuesday',

    wednesday: 'Wednesday', 

    thursday: 'Thursday', 

    friday: 'Friday',

    saturday: 'Saturday',

    sunday: 'Sunday'

  },

  'fr-FR': {

    monday: 'Lundi',

    tuesday: 'Mardi',

    wednesday: 'Mecredi', 

    thursday: 'Jeudi', 

    friday: 'Vendredi',

    saturday: 'Samedi',

    sunday: 'Dimanche'

  },

  'nl-NL': {

    monday: 'Maandag',

    tuesday: 'Dinsdag',

    wednesday: 'Woensdag', 

    thursday: 'Donderdag', 

    friday: 'Vrijdag',

    saturday: 'Zaterdag',

    sunday: 'Zondag'

  }

};


const translate = (strings, language) => {

  if (!translations.hasOwnProperty(language)) {

    throw new Error(`Language ${language} does not exist in the translations object.`);

  }

  const set = translations[language];

  return Object.entries(set)

    .filter(([ key, value ]) => strings.includes(key))

    .map(([ key, value ]) => value);

};


let weekdays = [

  'monday', 

  'tuesday', 

  'wednesday', 

  'thursday', 

  'friday'

];


const frenchWeekdays = translate(weekdays, 'fr-FR');

const englishWeekdays = translate(weekdays, 'en-US');

const dutchWeekdays = translate(weekdays, 'nl-NL');


console.log(frenchWeekdays);

console.log(englishWeekdays);

console.log(dutchWeekdays);


// Example with non existent translations.

translate(weekdays, 'de-DE');


查看完整回答
反對 回復 2023-06-09
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

它主要歸結為選擇最方便的mapping 方法。一種可能的方法可能類似于下一個提供的示例代碼......

const i18nMap = {

? "en-GB": {

? ? weekdays: {

? ? ? monday: "Monday",

? ? ? tuesday: "Tuesday",

? ? ? wednesday: "Wednesday",

? ? ? thursday: "Thursday",

? ? ? friday: "Friday",

? ? },

? },

? "fr-FR": {

? ? weekdays: {

? ? ? monday: "Lundi",

? ? ? tuesday: "Mardi",

? ? ? wednesday: "Mercredi",

? ? ? thursday: "Jeudi",

? ? ? friday: "Vendredi",

? ? },

? },

? "de-DE": {

? ? weekdays: {

? ? ? monday: "Montag",

? ? ? tuesday: "Dienstag",

? ? ? wednesday: "Mittwoch",

? ? ? thursday: "Donnerstag",

? ? ? friday: "Freitag",

? ? },

? },

};


function getItemFromBoundLanguageMap(item) {

? return this[item];

}


// let weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];

const weekdaysKeyList = Object.keys(i18nMap["en-GB"].weekdays);


const weekdaysEnGB = weekdaysKeyList.map(

? getItemFromBoundLanguageMap,

? i18nMap["en-GB"].weekdays

);

const weekdaysFrFR = weekdaysKeyList.map(

? getItemFromBoundLanguageMap,

? i18nMap["fr-FR"].weekdays

);

const weekdaysDeDE = weekdaysKeyList.map(

? getItemFromBoundLanguageMap,

? i18nMap["de-DE"].weekdays

);


console.log("weekdaysKeyList :", weekdaysKeyList);


console.log("weekdaysEnGB :", weekdaysEnGB);

console.log("weekdaysFrFR :", weekdaysFrFR);

console.log("weekdaysDeDE :", weekdaysDeDE);

.as-console-wrapper { min-height: 100%!important; top: 0; }



查看完整回答
反對 回復 2023-06-09
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

您可以執行以下操作:


let arr = ["Mon", "Tue"]

let mapping = {

  "Mon":"aaa",

  "Tue":"sss"

}

newArr = arr.map((str) => {

  return mapping[str];

});

console.log(newArr) //["aaa","sss"]


查看完整回答
反對 回復 2023-06-09
  • 5 回答
  • 0 關注
  • 370 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號