use toml for i18n

This commit is contained in:
Kamesuta 2023-09-03 03:34:04 +09:00
parent 386fe01d2f
commit 53aa67cf1a
5 changed files with 4283 additions and 4289 deletions

View File

@ -1,10 +1,11 @@
const fs = require('fs-extra')
const path = require('path')
const toml = require('toml')
let lang
exports.loadLanguage = function(id){
lang = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'lang', `${id}.json`))) || {}
lang = toml.parse(fs.readFileSync(path.join(__dirname, '..', 'lang', `${id}.toml`))) || {}
}
exports.query = function(id, placeHolders){

View File

@ -1,334 +0,0 @@
{
"ejs": {
"landing": {
"updateAvailableTooltip": "Update Available",
"usernamePlaceholder": "Username",
"usernameEditButton": "Edit",
"settingsTooltip": "Settings",
"mediaGitHubURL": "https://github.com/dscalzi/HeliosLauncher",
"mediaTwitterURL": "#",
"mediaInstagramURL": "#",
"mediaYouTubeURL": "#",
"mediaDiscordURL": "https://discord.gg/zNWUXdt",
"serverStatus": "SERVER",
"serverStatusPlaceholder": "OFFLINE",
"mojangStatus": "MOJANG STATUS",
"mojangStatusIcon": "•",
"mojangStatusTooltipTitle": "Services",
"mojangStatusNETitle": "Non Essential",
"newsButton": "NEWS",
"launchButton": "PLAY",
"launchButtonPlaceholder": "• No Server Selected",
"launchProgressLabel": "0%",
"launchDetails": "Please wait..",
"newsArticleTitle": "Lorem Ipsum",
"newsArticleDate": "Mar 15, 44 BC, 9:14 AM",
"newsArticleAuthor": "by Cicero",
"newsArticleComments": "0 Comments",
"newsNavigationStatus": "1 of 1",
"newsErrorLoadSpan": "Checking for News..",
"newsErrorFailedSpan": "Failed to Load News",
"newsErrorRetryButton": "Try Again",
"newsErrorNoneSpan": "No News"
},
"login": {
"loginCancelIcon": "X",
"loginCancelText": "Cancel",
"loginSubheader": "MINECRAFT LOGIN",
"loginEmailError": "* Invalid Value",
"loginEmailPlaceholder": "EMAIL OR USERNAME",
"loginPasswordError": "* Required",
"loginPasswordPlaceholder": "PASSWORD",
"loginForgotPasswordLink": "https://minecraft.net/password/forgot/",
"loginForgotPasswordText": "forgot password?",
"loginRememberMeText": "remember me?",
"loginButtonText": "LOGIN",
"loginNeedAccountLink": "https://minecraft.net/store/minecraft-java-edition/",
"loginNeedAccountText": "Need an Account?",
"loginPasswordDisclaimer1": "Your password is sent directly to mojang and never stored.",
"loginPasswordDisclaimer2": "Helios Launcher is not affiliated with Mojang AB."
},
"loginOptions": {
"loginOptionsTitle": "Login Options",
"loginWithMicrosoft": "Login with Microsoft",
"loginWithMojang": "Login with Mojang",
"cancelButton": "Cancel"
},
"overlay": {
"serverSelectHeader": "Available Servers",
"serverSelectConfirm": "Select",
"serverSelectCancel": "Cancel",
"accountSelectHeader": "Select an Account",
"accountSelectConfirm": "Select",
"accountSelectCancel": "Cancel",
"overlayTitle": "Lorem Ipsum:<br>Finis Illud",
"overlayDesc": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud..",
"overlayAcknowledge": "Conare Iterum",
"overlayDismiss": "Dismiss"
},
"settings": {
"navHeaderText": "Settings",
"navAccount": "Account",
"navMinecraft": "Minecraft",
"navMods": "Mods",
"navJava": "Java",
"navLauncher": "Launcher",
"navAbout": "About",
"navUpdates": "Updates",
"navDone": "Done",
"tabAccountHeaderText": "Account Settings",
"tabAccountHeaderDesc": "Add new accounts or manage existing ones.",
"microsoftAccount": "Microsoft",
"addMicrosoftAccount": "+ Add Microsoft Account",
"mojangAccount": "Mojang",
"addMojangAccount": "+ Add Mojang Account",
"minecraftTabHeaderText": "Minecraft Settings",
"minecraftTabHeaderDesc": "Options related to game launch.",
"gameResolutionTitle": "Game Resolution",
"gameResolutionCross": "&#10006;",
"launchFullscreenTitle": "Launch in fullscreen.",
"autoConnectTitle": "Automatically connect to the server on launch.",
"launchDetachedTitle": "Launch game process detached from launcher.",
"launchDetachedDesc": "If the game is not detached, closing the launcher will also close the game.",
"tabModsHeaderText": "Mod Settings",
"tabModsHeaderDesc": "Enable or disable mods.",
"switchServerButton": "Switch",
"requiredMods": "Required Mods",
"optionalMods": "Optional Mods",
"dropinMods": "Drop-in Mods",
"addMods": "Add Mods",
"dropinRefreshNote": "(F5 to Refresh)",
"shaderpacks": "Shaderpacks",
"shaderpackDesc": "Enable or disable shaders. Please note, shaders will only run smoothly on powerful setups. You may add custom packs here.",
"shaderpackButton": " + ",
"selectShaderpack": "Select Shaderpack",
"tabJavaHeaderText": "Java Settings",
"tabJavaHeaderDesc": "Manage the Java configuration (advanced).",
"memoryTitle": "Memory",
"maxRAM": "Maximum RAM",
"minRAM": "Minimum RAM",
"memoryDesc": "The recommended minimum RAM is 3 gigabytes. Setting the minimum and maximum values to the same value may reduce lag.",
"memoryTotalTitle": "Total",
"memoryTotalValue": "16G",
"memoryAvailableTitle": "Available",
"memoryAvailableValue": "7.3G",
"javaExecutableTitle": "Java Executable",
"javaExecDetails": "Selected: Java 8 Update 172 (x64)",
"javaExecVal": "null",
"javaExecSelDialogTitle": "Select Java Executable",
"javaExecSelButtonText": "Choose File",
"javaExecDesc": "The Java executable is validated before game launch.",
"javaReqDesc": "Requires Java 8 x64.",
"javaPathDesc": "The path should end with <strong>{pathSuffix}</strong>.",
"jvmOptsTitle": "Additional JVM Options",
"jvmOptsDesc": "Options to be provided to the JVM at runtime. <em>-Xms</em> and <em>-Xmx</em> should not be included.",
"jvmOptsLink": "https://docs.oracle.com/javase/8/docs/technotes/tools/<%= process.platform === 'win32' ? 'windows' : 'unix' %>/java.html",
"jvmOptsLinkText": "Available Options for Java 8.",
"launcherTabHeaderText": "Launcher Settings",
"launcherTabHeaderDesc": "Options related to the launcher itself.",
"allowPrereleaseTitle": "Allow Pre-Release Updates.",
"allowPrereleaseDesc": "Pre-Releases include new features which may have not been fully tested or integrated.<br>This will always be true if you are using a pre-release version.",
"dataDirectoryTitle": "Data Directory",
"selectDataDirectory": "Select Data Directory",
"chooseFolder": "Choose Folder",
"dataDirectoryDesc": "All game files and local Java installations will be stored in the data directory.<br>Screenshots and world saves are stored in the instance folder for the corresponding server configuration.",
"aboutTabHeaderText": "About",
"aboutTabHeaderDesc": "View information and release notes for the current version.",
"aboutTitle": "Helios Launcher",
"aboutCurrentVersionCheck": "Stable Release",
"versionCheck": "&#10003;",
"stableRelease": "Stable Release",
"versionText": "Version ",
"versionValue": "0.0.1-alpha.18",
"sourceGithub": "Source (GitHub)",
"sourceGithubLink": "https://github.com/dscalZi/HeliosLauncher",
"support": "Support",
"supportLink": "https://github.com/dscalZi/HeliosLauncher/issues",
"devToolsConsole": "DevTools Console",
"releaseNotes": "Release Notes",
"changelog": "Changelog",
"noReleaseNotes": "No Release Notes",
"viewReleaseNotes": "View Release Notes on GitHub",
"launcherUpdatesHeaderText": "Launcher Updates",
"launcherUpdatesHeaderDesc": "Download, install, and review updates for the launcher.",
"latestVersion": "You Are Running the Latest Version",
"checkForUpdates": "Check for Updates",
"whatsNew": "What's New",
"updateReleaseNotes": "Update Release Notes"
},
"waiting": {
"waitingText": "Waiting for Microsoft.."
},
"welcome": {
"welcomeHeader": "WELCOME TO WESTEROSCRAFT",
"welcomeDescription": "Our mission is to recreate the universe imagined by author George RR Martin in his fantasy series, A Song of Ice and Fire. Through the collaborative effort of thousands of community members, we have sought to create Westeros as accurately and precisely as possible within Minecraft. The world we are creating is yours to explore. Journey from Dorne to Castle Black, and if you arent afraid, beyond the Wall itself, but best not delay. As the words of House Stark ominously warn: Winter is Coming.",
"welcomeDescCTA": "You are just a few clicks away from Westeros.",
"continueButton": "CONTINUE"
}
},
"js": {
"login": {
"error": {
"invalidValue": "* Invalid Value",
"requiredValue": "* Required",
"unknown": {
"title": "Unknown Error During Login",
"desc": "An unknown error has occurred. Please see the console for details."
}
},
"login": "LOGIN",
"loggingIn": "LOGGING IN",
"success": "SUCCESS",
"tryAgain": "Try Again"
},
"landing": {
"launch": {
"pleaseWait": "Please wait..",
"failureTitle": "Error During Launch",
"failureText": "See console (CTRL + Shift + i) for more details.",
"okay": "Okay"
},
"selectedAccount": {
"noAccountSelected": "No Account Selected"
},
"selectedServer": {
"icon": "\u2022 ",
"noSelection": "No Server Selected",
"loading": "Loading.."
},
"mojangStatus": {
"icon": "&#8226;"
},
"serverStatus": {
"server": "SERVER",
"offline": "OFFLINE",
"players": "PLAYERS"
},
"systemScan": {
"checking": "Checking system info..",
"noCompatibleJava": "No Compatible<br>Java Installation Found",
"installJavaMessage": "In order to join WesterosCraft, you need a 64-bit installation of Java {major}. Would you like us to install a copy?",
"installJava": "Install Java",
"installJavaManually": "Install Manually",
"javaDownloadPrepare": "Preparing Java Download..",
"javaDownloadFailureTitle": "Error During Java Download",
"javaDownloadFailureText": "See console (CTRL + Shift + i) for more details.",
"javaRequired": "Java is Required<br>to Launch",
"javaRequiredMessage": "A valid x64 installation of Java {major} is required to launch.<br><br>Please refer to our <a href=\"https://github.com/dscalzi/HeliosLauncher/wiki/Java-Management#manually-installing-a-valid-version-of-java\">Java Management Guide</a> for instructions on how to manually install Java.",
"javaRequiredDismiss": "I Understand",
"javaRequiredCancel": "Go Back"
},
"downloadJava": {
"findJdkFailure": "Failed to find OpenJDK distribution.",
"javaDownloadCorruptedError": "Downloaded JDK has a bad hash, the file may be corrupted.",
"extractingJava": "Extracting Java",
"javaInstalled": "Java Installed!"
},
"dlAsync": {
"loadingServerInfo": "Loading server information..",
"fatalError": "Fatal Error",
"unableToLoadDistributionIndex": "Could not load a copy of the distribution index. See the console (CTRL + Shift + i) for more details.",
"pleaseWait": "Please wait..",
"errorDuringLaunchTitle": "Error During Launch",
"seeConsoleForDetails": "See console (CTRL + Shift + i) for more details.",
"validatingFileIntegrity": "Validating file integrity..",
"errorDuringFileVerificationTitle": "Error During File Verification",
"downloadingFiles": "Downloading files..",
"errorDuringFileDownloadTitle": "Error During File Download",
"preparingToLaunch": "Preparing to launch..",
"launchingGame": "Launching game..",
"launchWrapperNotDownloaded": "The main file, LaunchWrapper, failed to download properly. As a result, the game cannot launch.<br><br>To fix this issue, temporarily turn off your antivirus software and launch the game again.<br><br>If you have time, please <a href=\"https://github.com/dscalzi/HeliosLauncher/issues\">submit an issue</a> and let us know what antivirus software you use. We'll contact them and try to straighten things out.",
"doneEnjoyServer": "Done. Enjoy the server!",
"shuttingDownRPC": "Shutting down Discord Rich Presence..",
"checkConsoleForDetails": "Please check the console (CTRL + Shift + i) for more details."
},
"news": {
"checking": "Checking for News"
}
},
"settings": {
"fileSelectors": {
"executables": "Executables",
"allFiles": "All Files"
},
"mstfLogin": {
"errorTitle": "Something Went Wrong",
"errorMessage": "Microsoft authentication failed. Please try again.",
"okButton": "OK"
},
"mstfLogout": {
"errorTitle": "Something Went Wrong",
"errorMessage": "Microsoft logout failed. Please try again.",
"okButton": "OK"
},
"authAccountSelect": {
"selectButton": "Select Account",
"selectedButton": "Selected Account &#10004;"
},
"authAccountLogout": {
"lastAccountWarningTitle": "Warning<br>This is Your Last Account",
"lastAccountWarningMessage": "In order to use the launcher you must be logged into at least one account. You will need to login again after.<br><br>Are you sure you want to log out?",
"confirmButton": "I'm Sure",
"cancelButton": "Cancel"
},
"authAccountPopulate": {
"username": "Username",
"uuid": "UUID",
"selectAccount": "Select Account",
"selectedAccount": "Selected Account ✓",
"logout": "Log Out"
},
"dropinMods": {
"removeButton": "Remove",
"deleteFailedTitle": "Failed to Delete<br>Drop-in Mod {fullName}",
"deleteFailedMessage": "Make sure the file is not in use and try again.",
"failedToggleTitle": "Failed to Toggle<br>One or More Drop-in Mods",
"okButton": "Okay"
},
"serverListing": {
"mainServer": "Main Server"
},
"java": {
"selectedJava": "Selected: Java {version} ({vendor})",
"invalidSelection": "Invalid Selection",
"requiresJava": "Requires Java {major} x64.",
"availableOptions": "Available Options for Java {major} (HotSpot VM)"
},
"about": {
"preReleaseTitle": "Pre-release",
"stableReleaseTitle": "Stable Release",
"releaseNotesFailed": "Failed to load release notes."
},
"updates": {
"newReleaseTitle": "New Release Available",
"newPreReleaseTitle": "New Pre-release Available",
"downloadingButton": "Downloading..",
"downloadButton": "Download from GitHub<span style=\"font-size: 10px;color: gray;text-shadow: none !important;\">Close the launcher and run the dmg to update.</span>",
"latestVersionTitle": "You Are Running the Latest Version",
"checkForUpdatesButton": "Check for Updates",
"checkingForUpdatesButton": "Checking for Updates.."
}
},
"uibinder": {
"startup": {
"fatalErrorTitle": "Fatal Error: Unable to Load Distribution Index",
"fatalErrorMessage": "A connection could not be established to our servers to download the distribution index. No local copies were available to load. <br><br>The distribution index is an essential file which provides the latest server information. The launcher is unable to start without it. Ensure you are connected to the internet and relaunch the application.",
"closeButton": "Close"
},
"validateAccount": {
"failedMessageTitle": "Failed to Refresh Login",
"failedMessage": "We were unable to refresh the login for <strong>{account}</strong>. Please select another account or login again.",
"failedMessageSelectAnotherAccount": "We were unable to refresh the login for <strong>{account}</strong>. Please login again.",
"loginButton": "Login",
"selectAnotherAccountButton": "Select Another Account"
}
}
},
"uicore": {
"autoUpdate": {
"checkingForUpdateButton": "Checking for Updates...",
"installNowButton": "Install Now",
"checkForUpdatesButton": "Check for Updates"
}
}
}

320
app/assets/lang/en_US.toml Normal file
View File

@ -0,0 +1,320 @@
[ejs.landing]
updateAvailableTooltip = "Update Available"
usernamePlaceholder = "Username"
usernameEditButton = "Edit"
settingsTooltip = "Settings"
mediaGitHubURL = "https://github.com/dscalzi/HeliosLauncher"
mediaTwitterURL = "#"
mediaInstagramURL = "#"
mediaYouTubeURL = "#"
mediaDiscordURL = "https://discord.gg/zNWUXdt"
serverStatus = "SERVER"
serverStatusPlaceholder = "OFFLINE"
mojangStatus = "MOJANG STATUS"
mojangStatusIcon = "&#8226;"
mojangStatusTooltipTitle = "Services"
mojangStatusNETitle = "Non&nbsp;Essential"
newsButton = "NEWS"
launchButton = "PLAY"
launchButtonPlaceholder = "&#8226; No Server Selected"
launchProgressLabel = "0%"
launchDetails = "Please wait.."
newsArticleTitle = "Lorem Ipsum"
newsArticleDate = "Mar 15, 44 BC, 9:14 AM"
newsArticleAuthor = "by Cicero"
newsArticleComments = "0 Comments"
newsNavigationStatus = "1 of 1"
newsErrorLoadSpan = "Checking for News.."
newsErrorFailedSpan = "Failed to Load News"
newsErrorRetryButton = "Try Again"
newsErrorNoneSpan = "No News"
[ejs.login]
loginCancelIcon = "X"
loginCancelText = "Cancel"
loginSubheader = "MINECRAFT LOGIN"
loginEmailError = "* Invalid Value"
loginEmailPlaceholder = "EMAIL OR USERNAME"
loginPasswordError = "* Required"
loginPasswordPlaceholder = "PASSWORD"
loginForgotPasswordLink = "https://minecraft.net/password/forgot/"
loginForgotPasswordText = "forgot password?"
loginRememberMeText = "remember me?"
loginButtonText = "LOGIN"
loginNeedAccountLink = "https://minecraft.net/store/minecraft-java-edition/"
loginNeedAccountText = "Need an Account?"
loginPasswordDisclaimer1 = "Your password is sent directly to mojang and never stored."
loginPasswordDisclaimer2 = "Helios Launcher is not affiliated with Mojang AB."
[ejs.loginOptions]
loginOptionsTitle = "Login Options"
loginWithMicrosoft = "Login with Microsoft"
loginWithMojang = "Login with Mojang"
cancelButton = "Cancel"
[ejs.overlay]
serverSelectHeader = "Available Servers"
serverSelectConfirm = "Select"
serverSelectCancel = "Cancel"
accountSelectHeader = "Select an Account"
accountSelectConfirm = "Select"
accountSelectCancel = "Cancel"
overlayTitle = "Lorem Ipsum:<br>Finis Illud"
overlayDesc = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.."
overlayAcknowledge = "Conare Iterum"
overlayDismiss = "Dismiss"
[ejs.settings]
navHeaderText = "Settings"
navAccount = "Account"
navMinecraft = "Minecraft"
navMods = "Mods"
navJava = "Java"
navLauncher = "Launcher"
navAbout = "About"
navUpdates = "Updates"
navDone = "Done"
tabAccountHeaderText = "Account Settings"
tabAccountHeaderDesc = "Add new accounts or manage existing ones."
microsoftAccount = "Microsoft"
addMicrosoftAccount = "+ Add Microsoft Account"
mojangAccount = "Mojang"
addMojangAccount = "+ Add Mojang Account"
minecraftTabHeaderText = "Minecraft Settings"
minecraftTabHeaderDesc = "Options related to game launch."
gameResolutionTitle = "Game Resolution"
gameResolutionCross = "&#10006;"
launchFullscreenTitle = "Launch in fullscreen."
autoConnectTitle = "Automatically connect to the server on launch."
launchDetachedTitle = "Launch game process detached from launcher."
launchDetachedDesc = "If the game is not detached, closing the launcher will also close the game."
tabModsHeaderText = "Mod Settings"
tabModsHeaderDesc = "Enable or disable mods."
switchServerButton = "Switch"
requiredMods = "Required Mods"
optionalMods = "Optional Mods"
dropinMods = "Drop-in Mods"
addMods = "Add Mods"
dropinRefreshNote = "(F5 to Refresh)"
shaderpacks = "Shaderpacks"
shaderpackDesc = "Enable or disable shaders. Please note, shaders will only run smoothly on powerful setups. You may add custom packs here."
shaderpackButton = " + "
selectShaderpack = "Select Shaderpack"
tabJavaHeaderText = "Java Settings"
tabJavaHeaderDesc = "Manage the Java configuration (advanced)."
memoryTitle = "Memory"
maxRAM = "Maximum RAM"
minRAM = "Minimum RAM"
memoryDesc = "The recommended minimum RAM is 3 gigabytes. Setting the minimum and maximum values to the same value may reduce lag."
memoryTotalTitle = "Total"
memoryTotalValue = "16G"
memoryAvailableTitle = "Available"
memoryAvailableValue = "7.3G"
javaExecutableTitle = "Java Executable"
javaExecDetails = "Selected: Java 8 Update 172 (x64)"
javaExecVal = "null"
javaExecSelDialogTitle = "Select Java Executable"
javaExecSelButtonText = "Choose File"
javaExecDesc = "The Java executable is validated before game launch."
javaReqDesc = "Requires Java 8 x64."
javaPathDesc = "The path should end with <strong>{pathSuffix}</strong>."
jvmOptsTitle = "Additional JVM Options"
jvmOptsDesc = "Options to be provided to the JVM at runtime. <em>-Xms</em> and <em>-Xmx</em> should not be included."
jvmOptsLink = "https://docs.oracle.com/javase/8/docs/technotes/tools/<%= process.platform === 'win32' ? 'windows' : 'unix' %>/java.html"
jvmOptsLinkText = "Available Options for Java 8."
launcherTabHeaderText = "Launcher Settings"
launcherTabHeaderDesc = "Options related to the launcher itself."
allowPrereleaseTitle = "Allow Pre-Release Updates."
allowPrereleaseDesc = "Pre-Releases include new features which may have not been fully tested or integrated.<br>This will always be true if you are using a pre-release version."
dataDirectoryTitle = "Data Directory"
selectDataDirectory = "Select Data Directory"
chooseFolder = "Choose Folder"
dataDirectoryDesc = "All game files and local Java installations will be stored in the data directory.<br>Screenshots and world saves are stored in the instance folder for the corresponding server configuration."
aboutTabHeaderText = "About"
aboutTabHeaderDesc = "View information and release notes for the current version."
aboutTitle = "Helios Launcher"
aboutCurrentVersionCheck = "Stable Release"
versionCheck = "&#10003;"
stableRelease = "Stable Release"
versionText = "Version "
versionValue = "0.0.1-alpha.18"
sourceGithub = "Source (GitHub)"
sourceGithubLink = "https://github.com/dscalZi/HeliosLauncher"
support = "Support"
supportLink = "https://github.com/dscalZi/HeliosLauncher/issues"
devToolsConsole = "DevTools Console"
releaseNotes = "Release Notes"
changelog = "Changelog"
noReleaseNotes = "No Release Notes"
viewReleaseNotes = "View Release Notes on GitHub"
launcherUpdatesHeaderText = "Launcher Updates"
launcherUpdatesHeaderDesc = "Download, install, and review updates for the launcher."
latestVersion = "You Are Running the Latest Version"
checkForUpdates = "Check for Updates"
whatsNew = "What's New"
updateReleaseNotes = "Update Release Notes"
[ejs.waiting]
waitingText = "Waiting for Microsoft.."
[ejs.welcome]
welcomeHeader = "WELCOME TO WESTEROSCRAFT"
welcomeDescription = "Our mission is to recreate the universe imagined by author George RR Martin in his fantasy series, A Song of Ice and Fire. Through the collaborative effort of thousands of community members, we have sought to create Westeros as accurately and precisely as possible within Minecraft. The world we are creating is yours to explore. Journey from Dorne to Castle Black, and if you arent afraid, beyond the Wall itself, but best not delay. As the words of House Stark ominously warn: Winter is Coming."
welcomeDescCTA = "You are just a few clicks away from Westeros."
continueButton = "CONTINUE"
[js.login]
login = "LOGIN"
loggingIn = "LOGGING IN"
success = "SUCCESS"
tryAgain = "Try Again"
[js.login.error]
invalidValue = "* Invalid Value"
requiredValue = "* Required"
[js.login.error.unknown]
title = "Unknown Error During Login"
desc = "An unknown error has occurred. Please see the console for details."
[js.landing.launch]
pleaseWait = "Please wait.."
failureTitle = "Error During Launch"
failureText = "See console (CTRL + Shift + i) for more details."
okay = "Okay"
[js.landing.selectedAccount]
noAccountSelected = "No Account Selected"
[js.landing.selectedServer]
icon = "• "
noSelection = "No Server Selected"
loading = "Loading.."
[js.landing.mojangStatus]
icon = "&#8226;"
[js.landing.serverStatus]
server = "SERVER"
offline = "OFFLINE"
players = "PLAYERS"
[js.landing.systemScan]
checking = "Checking system info.."
noCompatibleJava = "No Compatible<br>Java Installation Found"
installJavaMessage = "In order to join WesterosCraft, you need a 64-bit installation of Java {major}. Would you like us to install a copy?"
installJava = "Install Java"
installJavaManually = "Install Manually"
javaDownloadPrepare = "Preparing Java Download.."
javaDownloadFailureTitle = "Error During Java Download"
javaDownloadFailureText = "See console (CTRL + Shift + i) for more details."
javaRequired = "Java is Required<br>to Launch"
javaRequiredMessage = 'A valid x64 installation of Java {major} is required to launch.<br><br>Please refer to our <a href="https://github.com/dscalzi/HeliosLauncher/wiki/Java-Management#manually-installing-a-valid-version-of-java">Java Management Guide</a> for instructions on how to manually install Java.'
javaRequiredDismiss = "I Understand"
javaRequiredCancel = "Go Back"
[js.landing.downloadJava]
findJdkFailure = "Failed to find OpenJDK distribution."
javaDownloadCorruptedError = "Downloaded JDK has a bad hash, the file may be corrupted."
extractingJava = "Extracting Java"
javaInstalled = "Java Installed!"
[js.landing.dlAsync]
loadingServerInfo = "Loading server information.."
fatalError = "Fatal Error"
unableToLoadDistributionIndex = "Could not load a copy of the distribution index. See the console (CTRL + Shift + i) for more details."
pleaseWait = "Please wait.."
errorDuringLaunchTitle = "Error During Launch"
seeConsoleForDetails = "See console (CTRL + Shift + i) for more details."
validatingFileIntegrity = "Validating file integrity.."
errorDuringFileVerificationTitle = "Error During File Verification"
downloadingFiles = "Downloading files.."
errorDuringFileDownloadTitle = "Error During File Download"
preparingToLaunch = "Preparing to launch.."
launchingGame = "Launching game.."
launchWrapperNotDownloaded = "The main file, LaunchWrapper, failed to download properly. As a result, the game cannot launch.<br><br>To fix this issue, temporarily turn off your antivirus software and launch the game again.<br><br>If you have time, please <a href=\"https://github.com/dscalzi/HeliosLauncher/issues\">submit an issue</a> and let us know what antivirus software you use. We'll contact them and try to straighten things out."
doneEnjoyServer = "Done. Enjoy the server!"
shuttingDownRPC = "Shutting down Discord Rich Presence.."
checkConsoleForDetails = "Please check the console (CTRL + Shift + i) for more details."
[js.landing.news]
checking = "Checking for News"
[js.settings.fileSelectors]
executables = "Executables"
allFiles = "All Files"
[js.settings.mstfLogin]
errorTitle = "Something Went Wrong"
errorMessage = "Microsoft authentication failed. Please try again."
okButton = "OK"
[js.settings.mstfLogout]
errorTitle = "Something Went Wrong"
errorMessage = "Microsoft logout failed. Please try again."
okButton = "OK"
[js.settings.authAccountSelect]
selectButton = "Select Account"
selectedButton = "Selected Account &#10004;"
[js.settings.authAccountLogout]
lastAccountWarningTitle = "Warning<br>This is Your Last Account"
lastAccountWarningMessage = "In order to use the launcher you must be logged into at least one account. You will need to login again after.<br><br>Are you sure you want to log out?"
confirmButton = "I'm Sure"
cancelButton = "Cancel"
[js.settings.authAccountPopulate]
username = "Username"
uuid = "UUID"
selectAccount = "Select Account"
selectedAccount = "Selected Account ✓"
logout = "Log Out"
[js.settings.dropinMods]
removeButton = "Remove"
deleteFailedTitle = "Failed to Delete<br>Drop-in Mod {fullName}"
deleteFailedMessage = "Make sure the file is not in use and try again."
failedToggleTitle = "Failed to Toggle<br>One or More Drop-in Mods"
okButton = "Okay"
[js.settings.serverListing]
mainServer = "Main Server"
[js.settings.java]
selectedJava = "Selected: Java {version} ({vendor})"
invalidSelection = "Invalid Selection"
requiresJava = "Requires Java {major} x64."
availableOptions = "Available Options for Java {major} (HotSpot VM)"
[js.settings.about]
preReleaseTitle = "Pre-release"
stableReleaseTitle = "Stable Release"
releaseNotesFailed = "Failed to load release notes."
[js.settings.updates]
newReleaseTitle = "New Release Available"
newPreReleaseTitle = "New Pre-release Available"
downloadingButton = "Downloading.."
downloadButton = 'Download from GitHub<span style="font-size: 10px;color: gray;text-shadow: none !important;">Close the launcher and run the dmg to update.</span>'
latestVersionTitle = "You Are Running the Latest Version"
checkForUpdatesButton = "Check for Updates"
checkingForUpdatesButton = "Checking for Updates.."
[js.uibinder.startup]
fatalErrorTitle = "Fatal Error: Unable to Load Distribution Index"
fatalErrorMessage = "A connection could not be established to our servers to download the distribution index. No local copies were available to load. <br><br>The distribution index is an essential file which provides the latest server information. The launcher is unable to start without it. Ensure you are connected to the internet and relaunch the application."
closeButton = "Close"
[js.uibinder.validateAccount]
failedMessageTitle = "Failed to Refresh Login"
failedMessage = "We were unable to refresh the login for <strong>{account}</strong>. Please select another account or login again."
failedMessageSelectAnotherAccount = "We were unable to refresh the login for <strong>{account}</strong>. Please login again."
loginButton = "Login"
selectAnotherAccountButton = "Select Another Account"
[uicore.autoUpdate]
checkingForUpdateButton = "Checking for Updates..."
installNowButton = "Install Now"
checkForUpdatesButton = "Check for Updates"

8
package-lock.json generated
View File

@ -21,7 +21,8 @@
"helios-core": "~2.0.5",
"helios-distribution-types": "^1.2.0",
"jquery": "^3.7.0",
"semver": "^7.5.4"
"semver": "^7.5.4",
"toml": "^3.0.0"
},
"devDependencies": {
"electron": "^26.0.0",
@ -3652,6 +3653,11 @@
"tmp": "^0.2.0"
}
},
"node_modules/toml": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz",
"integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w=="
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",

View File

@ -35,7 +35,8 @@
"helios-core": "~2.0.5",
"helios-distribution-types": "^1.2.0",
"jquery": "^3.7.0",
"semver": "^7.5.4"
"semver": "^7.5.4",
"toml": "^3.0.0"
},
"devDependencies": {
"electron": "^26.0.0",