diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index d462ef01..19ccf56d 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -1,8 +1,8 @@ { // Base File // i18n Info - "i18n.languageName": "English", // name of language in native language - "i18n.languageNameEnglish": "English", // name of language in English + "i18n.languageName": "English US", // name of language in native language + "i18n.languageNameEnglish": "English US", // name of language in English "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 @@ -97,6 +97,7 @@ "term.clearAll": "Clear All", "term.recentStations": "Recent Stations", "term.language": "Language", + "term.funLanguages": "Fun", "term.noLyrics": "Loading... / Lyrics not found./ Instrumental.", "term.copyright": "Copyright", "term.rightsReserved": "All Rights Reserved.", @@ -173,6 +174,13 @@ "action.playTracksLater": "Play ${app.selectedMediaItems.length} tracks later", "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.header.audio": "Audio", "settings.header.audio.description": "Adjust the audio settings for Cider.", diff --git a/src/main/base/win.ts b/src/main/base/win.ts index da304567..23fb9126 100644 --- a/src/main/base/win.ts +++ b/src/main/base/win.ts @@ -288,8 +288,6 @@ export class Win { event.returnValue = process.platform; }); - console.warn(path.join(__dirname, "../../src/i18n/en_US.jsonc")) - electron.ipcMain.on("get-i18n", (event, key) => { let i18nBase = fs.readFileSync(path.join(__dirname, "../../src/i18n/en_US.jsonc"), "utf8"); 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) => { event.returnValue = process.platform; }); diff --git a/src/renderer/index.js b/src/renderer/index.js index eb66e9f2..86c393cf 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -135,6 +135,7 @@ const app = new Vue({ mk: {}, quickPlayQuery: "", lz: ipcRenderer.sendSync("get-i18n", "en_US"), + lzListing: ipcRenderer.sendSync("get-i18n-listing"), search: { term: "", hints: [], diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 4183a90f..fb80ac96 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -534,16 +534,9 @@