languages now automatically populate in settings
This commit is contained in:
parent
20ccda2ea5
commit
6e34a72a09
4 changed files with 50 additions and 14 deletions
|
@ -1,8 +1,8 @@
|
||||||
{ // Base File
|
{ // Base File
|
||||||
|
|
||||||
// i18n Info
|
// i18n Info
|
||||||
"i18n.languageName": "English", // name of language in native language
|
"i18n.languageName": "English US", // name of language in native language
|
||||||
"i18n.languageNameEnglish": "English", // name of language in English
|
"i18n.languageNameEnglish": "English US", // name of language in English
|
||||||
"i18n.category": "main", // main = real language, fun = fun community languages
|
"i18n.category": "main", // main = real language, fun = fun community languages
|
||||||
"i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space
|
"i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space
|
||||||
|
|
||||||
|
@ -97,6 +97,7 @@
|
||||||
"term.clearAll": "Clear All",
|
"term.clearAll": "Clear All",
|
||||||
"term.recentStations": "Recent Stations",
|
"term.recentStations": "Recent Stations",
|
||||||
"term.language": "Language",
|
"term.language": "Language",
|
||||||
|
"term.funLanguages": "Fun",
|
||||||
"term.noLyrics": "Loading... / Lyrics not found./ Instrumental.",
|
"term.noLyrics": "Loading... / Lyrics not found./ Instrumental.",
|
||||||
"term.copyright": "Copyright",
|
"term.copyright": "Copyright",
|
||||||
"term.rightsReserved": "All Rights Reserved.",
|
"term.rightsReserved": "All Rights Reserved.",
|
||||||
|
@ -173,6 +174,13 @@
|
||||||
"action.playTracksLater": "Play ${app.selectedMediaItems.length} tracks later",
|
"action.playTracksLater": "Play ${app.selectedMediaItems.length} tracks later",
|
||||||
"action.removeTracks": "Remove ${self.selectedItems.length} tracks from queue",
|
"action.removeTracks": "Remove ${self.selectedItems.length} tracks from queue",
|
||||||
|
|
||||||
|
// Settings - General
|
||||||
|
"settings.header.general": "General",
|
||||||
|
"settings.option.general.language": "Language",
|
||||||
|
// Language optgroups
|
||||||
|
"settings.option.general.language.main": "Languages",
|
||||||
|
"settings.option.general.language.fun": "Fun Languages",
|
||||||
|
"settings.option.general.language.unsorted": "Unsorted",
|
||||||
// Settings - Audio
|
// Settings - Audio
|
||||||
"settings.header.audio": "Audio",
|
"settings.header.audio": "Audio",
|
||||||
"settings.header.audio.description": "Adjust the audio settings for Cider.",
|
"settings.header.audio.description": "Adjust the audio settings for Cider.",
|
||||||
|
|
|
@ -288,8 +288,6 @@ export class Win {
|
||||||
event.returnValue = process.platform;
|
event.returnValue = process.platform;
|
||||||
});
|
});
|
||||||
|
|
||||||
console.warn(path.join(__dirname, "../../src/i18n/en_US.jsonc"))
|
|
||||||
|
|
||||||
electron.ipcMain.on("get-i18n", (event, key) => {
|
electron.ipcMain.on("get-i18n", (event, key) => {
|
||||||
let i18nBase = fs.readFileSync(path.join(__dirname, "../../src/i18n/en_US.jsonc"), "utf8");
|
let i18nBase = fs.readFileSync(path.join(__dirname, "../../src/i18n/en_US.jsonc"), "utf8");
|
||||||
i18nBase = jsonc.parse(i18nBase)
|
i18nBase = jsonc.parse(i18nBase)
|
||||||
|
@ -306,6 +304,24 @@ export class Win {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
electron.ipcMain.on("get-i18n-listing", event => {
|
||||||
|
let i18nFiles = fs.readdirSync(path.join(__dirname, "../../src/i18n")).filter(file => file.endsWith(".jsonc"));
|
||||||
|
// read all the files and parse them
|
||||||
|
let i18nListing = []
|
||||||
|
for (let i = 0; i < i18nFiles.length; i++) {
|
||||||
|
let i18n = fs.readFileSync(path.join(__dirname, `../../src/i18n/${i18nFiles[i]}`), "utf8");
|
||||||
|
i18n = jsonc.parse(i18n)
|
||||||
|
i18nListing.push({
|
||||||
|
"code": i18nFiles[i].replace(".jsonc", ""),
|
||||||
|
"nameNative": i18n["i18n.languageName"] ?? i18nFiles[i].replace(".jsonc", ""),
|
||||||
|
"nameEnglish": i18n["i18n.languageNameEnglish"] ?? i18nFiles[i].replace(".jsonc", ""),
|
||||||
|
"category": i18n["i18n.category"] ?? "",
|
||||||
|
"authors": i18n["i18n.authors"] ?? ""
|
||||||
|
})
|
||||||
|
}
|
||||||
|
event.returnValue = i18nListing;
|
||||||
|
})
|
||||||
|
|
||||||
electron.ipcMain.on("get-gpu-mode", (event) => {
|
electron.ipcMain.on("get-gpu-mode", (event) => {
|
||||||
event.returnValue = process.platform;
|
event.returnValue = process.platform;
|
||||||
});
|
});
|
||||||
|
|
|
@ -135,6 +135,7 @@ const app = new Vue({
|
||||||
mk: {},
|
mk: {},
|
||||||
quickPlayQuery: "",
|
quickPlayQuery: "",
|
||||||
lz: ipcRenderer.sendSync("get-i18n", "en_US"),
|
lz: ipcRenderer.sendSync("get-i18n", "en_US"),
|
||||||
|
lzListing: ipcRenderer.sendSync("get-i18n-listing"),
|
||||||
search: {
|
search: {
|
||||||
term: "",
|
term: "",
|
||||||
hints: [],
|
hints: [],
|
||||||
|
|
|
@ -534,16 +534,9 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<select class="md-select" @change="$root.setLz('')" v-model="app.cfg.general.language">
|
<select class="md-select" @change="$root.setLz('')" v-model="app.cfg.general.language">
|
||||||
<option value="en_US">en_US</option>
|
<optgroup :label="index" v-for="(categories, index) in getLanguages()">
|
||||||
<option value="el_GR">el_GR</option>
|
<option v-for="lang in categories" :value="lang.code">{{lang.nameNative}} ({{ lang.nameEnglish }})</option>
|
||||||
<option value="ja_JP">ja_JP</option>
|
</optgroup>
|
||||||
<option value="pt_BR">pt_BR</option>
|
|
||||||
<option value="tr_TR">tr_TR</option>
|
|
||||||
<option value="zh_CN">zh_CN</option>
|
|
||||||
<option value="zh_TW">zh_TW</option>
|
|
||||||
<option value="zh_HK">zh_HK</option>
|
|
||||||
<option value="en_HODOR">HODOR?</option>
|
|
||||||
<option value="en_SGA">Galactic</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -649,6 +642,24 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getLanguages: function () {
|
||||||
|
let langs = this.$root.lzListing
|
||||||
|
let categories = {
|
||||||
|
"main": [],
|
||||||
|
"fun": [],
|
||||||
|
"unsorted": []
|
||||||
|
}
|
||||||
|
// sort by category if category is undefined or empty put it in "unsorted"
|
||||||
|
for (let i = 0; i < langs.length; i++) {
|
||||||
|
if (langs[i].category === undefined || langs[i].category === "") {
|
||||||
|
categories.unsorted.push(langs[i])
|
||||||
|
} else {
|
||||||
|
categories[langs[i].category].push(langs[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// return
|
||||||
|
return categories
|
||||||
|
},
|
||||||
addExperiment(flag) {
|
addExperiment(flag) {
|
||||||
app.cfg.advanced.experiments.push(flag);
|
app.cfg.advanced.experiments.push(flag);
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue