Merge branch 'neutralino' into 'main'
Merge neutralino to main See merge request KRypt0n_/an-anime-game-launcher!20
31
.gitignore
vendored
|
@ -1,16 +1,17 @@
|
|||
node_modules
|
||||
dist
|
||||
|
||||
public/css/*
|
||||
!public/css/hint.min.css
|
||||
|
||||
public/js
|
||||
|
||||
repository-pics/logo.xcf
|
||||
repository-pics/logos
|
||||
|
||||
package-lock.json
|
||||
.lite_workspace.lua
|
||||
yarn.lock
|
||||
wineprefix-installation.log
|
||||
deletefiles.txt
|
||||
predownload_resources.json
|
||||
package-lock.json
|
||||
Audio_English(US)_2.3.0.zip
|
||||
*.AppImage
|
||||
|
||||
/bin
|
||||
/dist
|
||||
/bundle
|
||||
/node_modules
|
||||
/repository-pics/**/*.xcf
|
||||
|
||||
neutralino.js
|
||||
|
||||
.storage
|
||||
.tmp
|
||||
*.log
|
||||
|
|
148
README.md
|
@ -14,7 +14,7 @@
|
|||
|
||||
| Game version | Launcher version | Patch version |
|
||||
| :---: | :---: | :---: |
|
||||
| 2.3.0 | 1.9.1 | 2.3.0 stable ✅ |
|
||||
| 2.4.0 | 2.0.0 beta | 2.4.0 stable ✅ |
|
||||
|
||||
We have our own [An Anime Game](https://discord.gg/ck37X6UWBp) discord server where you can ask any questions
|
||||
|
||||
|
@ -24,7 +24,7 @@ Download AppImage from [Releases](https://gitlab.com/KRypt0n_/an-anime-game-laun
|
|||
|
||||
### For arch users
|
||||
|
||||
This launcher is also available as the [an-anime-game-launcher](https://aur.archlinux.org/packages/an-anime-game-launcher) AUR repository
|
||||
This launcher is also available as the [an-anime-game-launcher-bin](https://aur.archlinux.org/packages/an-anime-game-launcher-bin) AUR repository
|
||||
|
||||
<br>
|
||||
|
||||
|
@ -34,7 +34,7 @@ This launcher is also available as the [an-anime-game-launcher](https://aur.arch
|
|||
|
||||
<img src="repository-pics/stats/2.2.0.png">
|
||||
|
||||
### 2.3.0 — 73 total
|
||||
### 2.3.0 — 99 total
|
||||
|
||||
<img src="repository-pics/stats/2.3.0.png">
|
||||
|
||||
|
@ -48,24 +48,34 @@ To work this launcher requires
|
|||
|
||||
| Name | Description |
|
||||
| --- | --- |
|
||||
| webkit2gtk | To run Neutralino apps |
|
||||
| libappindicator-gtk3 | To run Neutralino apps |
|
||||
| unzip | To unpack zip archives (DXVKs / wines) |
|
||||
| tar | To unpack tar archives (DXVKs / wines) |
|
||||
| git | To check for new versions of the launcher |
|
||||
| curl | To download archives with game, voice data, runners and so on |
|
||||
| xdelta3 | To apply the patch to the game |
|
||||
| cabextract | To install fonts to the wine prefix |
|
||||
| notify-send | To send system notifications |
|
||||
|
||||
## Install
|
||||
|
||||
### apt-get
|
||||
|
||||
```sh
|
||||
sudo apt-get install unzip tar git xdelta3 cabextract
|
||||
sudo apt-get install unzip tar git curl xdelta3 cabextract notify-send
|
||||
```
|
||||
|
||||
### pacman
|
||||
|
||||
```sh
|
||||
sudo pacman -Syu unzip tar git xdelta3 cabextract
|
||||
sudo pacman -Syu unzip tar git curl xdelta3 cabextract notify-send
|
||||
```
|
||||
|
||||
### dnf
|
||||
|
||||
```sh
|
||||
sudo dnf install unzip tar git curl xdelta cabextract notify-send
|
||||
```
|
||||
|
||||
### dnf
|
||||
|
@ -88,65 +98,103 @@ They're required only for some specific functions
|
|||
|
||||
# Development
|
||||
|
||||
## Build from source
|
||||
## Download
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
git clone https://gitlab.com/KRypt0n_/an-anime-game-launcher
|
||||
cd an-anime-game-launcher
|
||||
yarn
|
||||
yarn neu update
|
||||
```
|
||||
|
||||
## Run from source
|
||||
## Run
|
||||
|
||||
```sh
|
||||
npm start
|
||||
yarn dev
|
||||
```
|
||||
|
||||
## Build
|
||||
|
||||
```sh
|
||||
yarn build
|
||||
```
|
||||
|
||||
## Bundle to AppImage
|
||||
|
||||
```sh
|
||||
yarn bundle
|
||||
```
|
||||
|
||||
# Roadmap
|
||||
|
||||
### ✓ <s>To 1.0.0 release</s>
|
||||
This is our current roadmap goals. You can find older ones [here](ROADMAP.md)
|
||||
|
||||
* <s>Fix AppImage builds</s> *(0.3.0)*
|
||||
* <s>Parse background banners from the game's API ([notabug issue #1](https://notabug.org/nobody/an-anime-game-launcher/issues/1), [notabug pull request #2](https://notabug.org/nobody/an-anime-game-launcher/pulls/2))</s> *(0.3.0)*
|
||||
* <s>Update launcher logo</s> *(0.4.0)*
|
||||
* <s>Cache launcher background picture ([notabug pull request #6](https://notabug.org/nobody/an-anime-game-launcher/pulls/6))</s> *(0.4.0)*
|
||||
* <s>Make Proton-GE default compatibility tool and fix game input issues</s> (added runners manager) *(0.5.0)*
|
||||
* <s>Add preferences menu</s> *(0.5.0)*
|
||||
* <s>Add additional telemetry checking</s> *(0.6.0)*
|
||||
* <s>Add DXVK downloading in settings</s> *(0.6.0)*
|
||||
* <s>Make participation in the anonymous analytics request</s> *(0.8.0)*
|
||||
* <s>Add launcher updates notifications</s> *(1.0.0-rc1)*
|
||||
* <s>Make automatic patch state parsing</s> *(1.0.0-rc1)*
|
||||
## ➤ To 3.0.0 release
|
||||
|
||||
### ➤ To 2.0.0 release
|
||||
### 2.0.0 release goals - moving launcher to Neutralino
|
||||
|
||||
* <s>Add runners environmental variables manager</s> *(1.1.0)*
|
||||
* <s>Add outdated files deletion when new game's update releases</s> *(1.1.0)*
|
||||
* <s>Add installed packages deletion</s> *(1.2.0)*
|
||||
* <s>Add voice packs support</s> (Thank @Maroxy for the developments in the previous versions) *(1.3.0)*
|
||||
* <s>Color variants for progress bar's downloading text dependent on the background picture primary color</s> *(1.4.0, LAB-based in 1.5.3)*
|
||||
* <s>Playing statistics</s> *(1.4.1)*
|
||||
* <s>MangoHud support</s> (added HUD selector) *(1.5.0)*
|
||||
* <s>Add vkBasalt support and "shaders library"</s> *(1.5.0)*
|
||||
- [yagocl's](https://notabug.org/Krock/GI-on-Linux/src/master/static/vkBasalt_yagocl.conf) basic sharpening preset *(without pictures)*
|
||||
- [notahuman's](https://notabug.org/Krock/GI-on-Linux/src/master/static/vkBasalt_notahuman.conf) prime preset v2
|
||||
* <s>Make shaders manager hidden if vkBasalt is not installed</s> *(1.5.4)*
|
||||
* <s>Make MangoHud option hidden if it is not installed</s> *(1.5.4)*
|
||||
* <s>GameMode integration ([notabug issue 28](https://notabug.org/nobody/an-anime-game-launcher/issues/28), [notabug pull request 30](https://notabug.org/nobody/an-anime-game-launcher/pulls/30))</s> *(1.5.8)*
|
||||
* <s>Hybrid GPU integration ([notabug issue 29](https://notabug.org/nobody/an-anime-game-launcher/issues/29), [notabug pull request 33](https://notabug.org/nobody/an-anime-game-launcher/pulls/33))</s> *(1.6.0)*
|
||||
* <s>Add winetricks auto-downloading when new prefix creates so it is no longer required</s> *(1.6.0)*
|
||||
* <s>DXVK logs auto-deletion option</s> *(1.6.0)*
|
||||
* <s>Add default wine version to download</s> (Proton-6.20-GE-1) *(1.6.0)*
|
||||
* <s>Add dark theme support for settings menu</s> *(1.7.0)*
|
||||
* <s>Add winetricks and winecfg buttons to settings ([notabug issue 35](https://notabug.org/nobody/an-anime-game-launcher/issues/35))</s> *(1.8.0)*
|
||||
* <s>Wine prefix folder selection ([notabug issue 37](https://notabug.org/nobody/an-anime-game-launcher/issues/37))</s> *(1.8.0)*
|
||||
* <s>Use auto-downloaded winetricks in settings menu</s> *(1.9.0, !14)*
|
||||
* <s>Use `winecfg.exe` from the installed runner in settings menu</s> *(1.9.0, !14)*
|
||||
* <s>Fix voice data installation</s> *(1.9.0, !15)*
|
||||
* <s>Add fps unlocker option</s> *(1.9.0, !15)*
|
||||
#### Core functionality
|
||||
|
||||
* <s>Make `constants` class to store launcher's constants</s>
|
||||
* <s>Make `Downloader` class to download files</s>
|
||||
* <s>Make `Archive` class to work with archives</s>
|
||||
* <s>Make `DXVK` class to manage DXVK installations</s>
|
||||
* <s>Make `Runners` class to manage wines installations</s>
|
||||
* <s>Make `Configs` class to manage launcher's configs</s>
|
||||
* <s>Make `Game` class to control game-related features</s>
|
||||
* <s>Ability to parse current installed version</s>
|
||||
* <s>Ability to get latest available version</s>
|
||||
* <s>Ability to download and install updates</s>
|
||||
* <s>Make `Voice` class to control voice packages-related features</s>
|
||||
* <s>Ability to parse current installed voice packs and get selected one</s>
|
||||
* <s>Ability to get latest available voice packs</s>
|
||||
* <s>Ability to download and install updates</s>
|
||||
* <s>Make `Patch` class to control patch-related features</s>
|
||||
* <s>Ability to get current installed patch</s>
|
||||
* <s>Ability to get latest available patch</s>
|
||||
* <s>Ability to download and install it</s>
|
||||
* <s>Add project binaries bundling</s>
|
||||
* <s>AppImage</s>
|
||||
|
||||
#### Launcher functions
|
||||
|
||||
* <s>Make `Launcher` class to manage launcher-related features</s>
|
||||
* <s>Downloading progress</s>
|
||||
* <s>Launcher state functionality</s>
|
||||
* <s>Game launch available</s>
|
||||
* <s>Game update (installation) required</s>
|
||||
* <s>Voice data update (installation) required</s>
|
||||
* <s>Patch unavailable</s>
|
||||
* <s>Test patch available</s>
|
||||
* Make Svelte components
|
||||
* <s>Checkbox</s>
|
||||
* <s>Selectbox</s>
|
||||
* <s>SelectionList</s>
|
||||
* <s>PropertiesEditor</s>
|
||||
* <s>Add `svelte-i18n`</s>
|
||||
* <s>Telemetry checking</s>
|
||||
* <s>Tooltips for some options</s>
|
||||
* <s>Debugger</s>
|
||||
* <s>Splash screen</s>
|
||||
* <s>Theming system</s>
|
||||
* <s>Game pre-installation</s>
|
||||
* <s>Default runner and DXVK auto-installation</s>
|
||||
* <s>Discord RPC settings</s>
|
||||
* <s>Proper wine process monitoring</s>
|
||||
* <s>Ability to hide some runners families</s>
|
||||
* <s>Ability to change the temp directory where the launcher should download some files</s>
|
||||
* <s>Shaders menu</s>
|
||||
* Dark progress bar design
|
||||
* Statistics window
|
||||
* Launcher auto-updates
|
||||
* Changelog window
|
||||
* Rewrite sass code, provide more flexible theming ability
|
||||
|
||||
### Features
|
||||
|
||||
* <s>Use `LauncherLib.getGameVersion` function instead of the `config.json`'s `version` property</s> *(deprecated due to the new core functions)*
|
||||
* <s>Fix button flickering at start when the launcher's state updates</s> *(fixed due to the new framework usage and proper state updating)*
|
||||
* Add downloading pause button
|
||||
* Move project to Vue
|
||||
* Use `LauncherLib.getGameVersion` function instead of the `config.json`'s `version` property
|
||||
* Fix button flickering at start when the launcher's state updates
|
||||
* Game's update pre-installation
|
||||
* Screenshots explorer
|
||||
* Add Patch category in settings menu with
|
||||
- Always participate in patches testing
|
||||
|
|
46
ROADMAP.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
# Roadmap
|
||||
|
||||
This file is a roadmap archive. You can see here which journey we made to make the launcher looks like it looks
|
||||
|
||||
And that's not a final! Our future goals you can find in [readme](README.md)
|
||||
|
||||
## ✓ <s>To 1.0.0 release</s>
|
||||
|
||||
* <s>Fix AppImage builds</s> *(0.3.0)*
|
||||
* <s>Parse background banners from the game's API ([notabug issue #1](https://notabug.org/nobody/an-anime-game-launcher/issues/1), [notabug pull request #2](https://notabug.org/nobody/an-anime-game-launcher/pulls/2))</s> *(0.3.0)*
|
||||
* <s>Update launcher logo</s> *(0.4.0)*
|
||||
* <s>Cache launcher background picture ([notabug pull request #6](https://notabug.org/nobody/an-anime-game-launcher/pulls/6))</s> *(0.4.0)*
|
||||
* <s>Make Proton-GE default compatibility tool and fix game input issues</s> (added runners manager) *(0.5.0)*
|
||||
* <s>Add preferences menu</s> *(0.5.0)*
|
||||
* <s>Add additional telemetry checking</s> *(0.6.0)*
|
||||
* <s>Add DXVK downloading in settings</s> *(0.6.0)*
|
||||
* <s>Make participation in the anonymous analytics request</s> *(0.8.0)*
|
||||
* <s>Add launcher updates notifications</s> *(1.0.0-rc1)*
|
||||
* <s>Make automatic patch state parsing</s> *(1.0.0-rc1)*
|
||||
|
||||
## ✓ <s>To 2.0.0 release</s>
|
||||
|
||||
* <s>Add runners environmental variables manager</s> *(1.1.0)*
|
||||
* <s>Add outdated files deletion when new game's update releases</s> *(1.1.0)*
|
||||
* <s>Add installed packages deletion</s> *(1.2.0)*
|
||||
* <s>Add voice packs support</s> (Thank @Maroxy for the developments in the previous versions) *(1.3.0)*
|
||||
* <s>Color variants for progress bar's downloading text dependent on the background picture primary color</s> *(1.4.0, LAB-based in 1.5.3)*
|
||||
* <s>Playing statistics</s> *(1.4.1)*
|
||||
* <s>MangoHud support</s> (added HUD selector) *(1.5.0)*
|
||||
* <s>Add vkBasalt support and "shaders library"</s> *(1.5.0)*
|
||||
- [yagocl's](https://notabug.org/Krock/GI-on-Linux/src/master/static/vkBasalt_yagocl.conf) basic sharpening preset *(without pictures)*
|
||||
- [notahuman's](https://notabug.org/Krock/GI-on-Linux/src/master/static/vkBasalt_notahuman.conf) prime preset v2
|
||||
* <s>Make shaders manager hidden if vkBasalt is not installed</s> *(1.5.4)*
|
||||
* <s>Make MangoHud option hidden if it is not installed</s> *(1.5.4)*
|
||||
* <s>GameMode integration ([notabug issue 28](https://notabug.org/nobody/an-anime-game-launcher/issues/28), [notabug pull request 30](https://notabug.org/nobody/an-anime-game-launcher/pulls/30))</s> *(1.5.8)*
|
||||
* <s>Hybrid GPU integration ([notabug issue 29](https://notabug.org/nobody/an-anime-game-launcher/issues/29), [notabug pull request 33](https://notabug.org/nobody/an-anime-game-launcher/pulls/33))</s> *(1.6.0)*
|
||||
* <s>Add winetricks auto-downloading when new prefix creates so it is no longer required</s> *(1.6.0)*
|
||||
* <s>DXVK logs auto-deletion option</s> *(1.6.0)*
|
||||
* <s>Add default wine version to download</s> (Proton-6.20-GE-1) *(1.6.0)*
|
||||
* <s>Add dark theme support for settings menu</s> *(1.7.0)*
|
||||
* <s>Add winetricks and winecfg buttons to settings ([notabug issue 35](https://notabug.org/nobody/an-anime-game-launcher/issues/35))</s> *(1.8.0)*
|
||||
* <s>Wine prefix folder selection ([notabug issue 37](https://notabug.org/nobody/an-anime-game-launcher/issues/37))</s> *(1.8.0)*
|
||||
* <s>Use auto-downloaded winetricks in settings menu</s> *(1.9.0, !14)*
|
||||
* <s>Use `winecfg.exe` from the installed runner in settings menu</s> *(1.9.0, !14)*
|
||||
* <s>Fix voice data installation</s> *(1.9.0, !15)*
|
||||
* <s>Add fps unlocker option</s> *(1.9.0, !15)*
|
178
entry.js
|
@ -1,178 +0,0 @@
|
|||
const {
|
||||
app,
|
||||
BrowserWindow,
|
||||
ipcMain,
|
||||
Notification,
|
||||
shell,
|
||||
nativeImage,
|
||||
nativeTheme,
|
||||
dialog
|
||||
} = require('electron');
|
||||
|
||||
const path = require('path');
|
||||
|
||||
require('electron-store').initRenderer();
|
||||
|
||||
let mainWindow, analyticsWindow, settingsWindow, splashWindow;
|
||||
|
||||
ipcMain.handle('hide-window', () => mainWindow.hide());
|
||||
ipcMain.handle('show-window', () => mainWindow.show());
|
||||
|
||||
ipcMain.on('notification', (event, args) => {
|
||||
args.icon = nativeImage.createFromPath(args.icon ?? path.join(__dirname, 'public', 'images', 'baal64-transparent.png'));
|
||||
|
||||
new Notification(args).show();
|
||||
});
|
||||
|
||||
ipcMain.on('is-window-dark', (e) => e.returnValue = nativeTheme.shouldUseDarkColors);
|
||||
|
||||
ipcMain.handle('open-settings', () => {
|
||||
settingsWindow = new BrowserWindow ({
|
||||
width: 900,
|
||||
height: 600,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
contextIsolation: false
|
||||
},
|
||||
icon: path.join(__dirname, 'public', 'images', 'icons', '64x64.png'),
|
||||
autoHideMenuBar: true,
|
||||
resizable: false,
|
||||
parent: mainWindow,
|
||||
modal: true,
|
||||
show: false
|
||||
});
|
||||
|
||||
settingsWindow.loadFile(path.join(__dirname, 'public', 'html', 'settings.html'));
|
||||
settingsWindow.once('ready-to-show', settingsWindow.show);
|
||||
});
|
||||
|
||||
ipcMain.handle('open-analytics-participation', () => {
|
||||
analyticsWindow = new BrowserWindow ({
|
||||
width: 700,
|
||||
height: 500,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
contextIsolation: false
|
||||
},
|
||||
icon: path.join(__dirname, 'public', 'images', 'icons', '64x64.png'),
|
||||
autoHideMenuBar: true,
|
||||
resizable: false,
|
||||
parent: mainWindow,
|
||||
modal: true,
|
||||
show: false
|
||||
});
|
||||
|
||||
analyticsWindow.loadFile(path.join(__dirname, 'public', 'html', 'analytics.html'));
|
||||
analyticsWindow.once('ready-to-show', analyticsWindow.show);
|
||||
});
|
||||
|
||||
ipcMain.handle('hide-analytics-participation', () => analyticsWindow.close());
|
||||
|
||||
// https://www.electronjs.org/docs/latest/api/browser-window/#class-browserwindow
|
||||
function createWindow ()
|
||||
{
|
||||
// Launcher
|
||||
mainWindow = new BrowserWindow ({
|
||||
width: 1280,
|
||||
height: 700,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
contextIsolation: false
|
||||
},
|
||||
icon: path.join(__dirname, 'public', 'images', 'icons', '64x64.png'),
|
||||
autoHideMenuBar: true,
|
||||
resizable: false,
|
||||
show: false
|
||||
});
|
||||
|
||||
mainWindow.loadFile(path.join(__dirname, 'public', 'html', 'index.html'));
|
||||
|
||||
// open URLs in Browser instead of an pop-up in electron app.
|
||||
mainWindow.webContents.setWindowOpenHandler(({ url }) => {
|
||||
shell.openExternal(url);
|
||||
|
||||
return { action: 'deny' };
|
||||
});
|
||||
|
||||
// mainWindow.webContents.openDevTools();
|
||||
|
||||
// Splash
|
||||
splashWindow = new BrowserWindow({
|
||||
width: 250,
|
||||
height: 320,
|
||||
transparent: true,
|
||||
frame: false,
|
||||
icon: path.join(__dirname, 'public', 'images', 'icons', '64x64.png'),
|
||||
autoHideMenuBar: true
|
||||
});
|
||||
|
||||
splashWindow.loadFile(path.join(__dirname, 'public', 'splash', 'index.html'));
|
||||
splashWindow.center();
|
||||
}
|
||||
|
||||
|
||||
// This method will be called when Electron has finished
|
||||
// initialization and is ready to create browser windows.
|
||||
// Some APIs can only be used after this event occurs.
|
||||
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
|
||||
app.on('activate', () => {
|
||||
// On macOS it's common to re-create a window in the app when the
|
||||
// dock icon is clicked and there are no other windows open.
|
||||
if (BrowserWindow.getAllWindows().length === 0)
|
||||
createWindow();
|
||||
});
|
||||
|
||||
ipcMain.handle('loaded', () => {
|
||||
setTimeout(() => {
|
||||
splashWindow.close();
|
||||
mainWindow.show();
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
// This has to be here otherwise webContents is invalid
|
||||
ipcMain.on('change-lang', (event, args) => {
|
||||
mainWindow.webContents.send('change-lang', { 'lang': args.lang });
|
||||
});
|
||||
|
||||
ipcMain.on('change-voicepack', () => {
|
||||
mainWindow.webContents.send('change-voicepack');
|
||||
});
|
||||
|
||||
ipcMain.on('prefix-select', async () => {
|
||||
const result = await dialog.showOpenDialog({
|
||||
properties: ['openDirectory']
|
||||
});
|
||||
|
||||
if (result.filePaths.length > 0)
|
||||
{
|
||||
mainWindow.webContents.send('change-prefix', {
|
||||
'type': 'change',
|
||||
'dir': result.filePaths[0]
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('prefix-reset', async () => {
|
||||
mainWindow.webContents.send('change-prefix', {
|
||||
'type': 'reset'
|
||||
});
|
||||
});
|
||||
|
||||
ipcMain.on('prefix-changed', async () => {
|
||||
settingsWindow.webContents.send('prefix-changed');
|
||||
});
|
||||
|
||||
ipcMain.on('rpc-toggle', () => mainWindow.webContents.send('rpc-toggle'));
|
||||
});
|
||||
|
||||
// Quit when all windows are closed, except on macOS. There, it's common
|
||||
// for applications and their menu bar to stay active until the user quits
|
||||
// explicitly with Cmd + Q.
|
||||
|
||||
app.on('window-all-closed', () => {
|
||||
if (process.platform !== 'darwin')
|
||||
app.quit();
|
||||
});
|
17
index.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<link rel="stylesheet" lang="sass" href="/src/sass/index.sass" />
|
||||
<link rel="stylesheet" href="/src/css/hint.min.css" />
|
||||
</head>
|
||||
|
||||
<body data-theme="light">
|
||||
<div id="app"></div>
|
||||
|
||||
<script src="neutralino.js"></script>
|
||||
<script type="module" src="/src/pages/index.ts" lang="ts"></script>
|
||||
</body>
|
||||
</html>
|
43
neutralino.config.json
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"applicationId": "com.krypt0nn.an-anime-game-launcher",
|
||||
"version": "2.0.0-rc1",
|
||||
"defaultMode": "window",
|
||||
"port": 0,
|
||||
"documentRoot": "/bundle/",
|
||||
"url": "/",
|
||||
"enableServer": true,
|
||||
"enableNativeAPI": true,
|
||||
"exportAuthInfo": true,
|
||||
"logging": {
|
||||
"enabled": false,
|
||||
"writeToLogFile": false
|
||||
},
|
||||
"nativeBlockList": [],
|
||||
"globalVariables": {},
|
||||
"modes": {
|
||||
"window": {
|
||||
"title": "An Anime Game Launcher",
|
||||
"width": 1280,
|
||||
"height": 700,
|
||||
"fullScreen": false,
|
||||
"alwaysOnTop": false,
|
||||
"icon": "/public/icons/64x64.png",
|
||||
"enableInspector": false,
|
||||
"borderless": false,
|
||||
"maximize": false,
|
||||
"hidden": true,
|
||||
"resizable": false,
|
||||
"exitProcessOnClose": false
|
||||
},
|
||||
"browser": {},
|
||||
"cloud": {}
|
||||
},
|
||||
"cli": {
|
||||
"binaryName": "an-anime-game-launcher",
|
||||
"resourcesPath": "/bundle/",
|
||||
"extensionsPath": "/extensions/",
|
||||
"clientLibrary": "/public/neutralino.js",
|
||||
"binaryVersion": "4.1.0",
|
||||
"clientVersion": "3.0.0"
|
||||
}
|
||||
}
|
91
package.json
|
@ -1,62 +1,33 @@
|
|||
{
|
||||
"name": "an-anime-game-launcher",
|
||||
"version": "1.9.1",
|
||||
"description": "An Anime Game Linux Launcher",
|
||||
"author": "Nikita Podvirnyy <suimin.tu.mu.ga.mi@gmail.com>",
|
||||
"contributors": [
|
||||
"Marie Piontek <marie@kaifa.ch> (https://marie.omg.lol)"
|
||||
],
|
||||
"license": "GPL-3.0",
|
||||
"main": "entry.js",
|
||||
"scripts": {
|
||||
"dev": "tsc && sass src/sass:public/css -s compressed --no-source-map",
|
||||
"clear": "rm -r ./public/js",
|
||||
"start": "npm run dev && electron .",
|
||||
"build": "npm run clear && npm run dev && electron-builder --linux"
|
||||
},
|
||||
"build": {
|
||||
"productName": "An Anime Game Linux Launcher",
|
||||
"artifactName": "${productName}-${version}.${ext}",
|
||||
"appId": "com.krypt0nn.an-anime-game-linux-launcher",
|
||||
"directories": {
|
||||
"output": "dist"
|
||||
},
|
||||
"files": [
|
||||
"public/**/*",
|
||||
"entry.js",
|
||||
"package.json"
|
||||
],
|
||||
"linux": {
|
||||
"icon": "public/images/icons",
|
||||
"category": "Game",
|
||||
"target": [
|
||||
{
|
||||
"target": "AppImage",
|
||||
"arch": [
|
||||
"x64"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/command-exists": "^1.2.0",
|
||||
"@types/discord-rpc": "^4.0.0",
|
||||
"@types/semver": "^7.3.9",
|
||||
"electron": "^16.0.4",
|
||||
"electron-builder": "^22.14.5",
|
||||
"sass": "^1.45.0",
|
||||
"typescript": "^4.5.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"cash-dom": "^8.1.0",
|
||||
"command-exists": "^1.2.9",
|
||||
"discord-rpc": "^4.0.1",
|
||||
"dbus-next": "^0.10.2",
|
||||
"electron-store": "^8.0.1",
|
||||
"follow-redirects": "^1.14.6",
|
||||
"get-pixels": "^3.3.3",
|
||||
"got": "^11.8.3",
|
||||
"semver": "^7.3.5"
|
||||
}
|
||||
"name": "an-anime-game-launcher",
|
||||
"version": "2.0.0-rc1",
|
||||
"license": "GPL-3.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"neu": "neu",
|
||||
"dev": "vite build && neu run --disable-auto-reload",
|
||||
"build": "vite build && rm -rf dist/an-anime-game-launcher/public && mkdir -p dist/an-anime-game-launcher/public && cp -r public dist/an-anime-game-launcher && neu build --release",
|
||||
"bundle": "node scripts/bundle-appimage.cjs",
|
||||
"check": "svelte-check --tsconfig ./tsconfig.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"js-md5": "^0.7.3",
|
||||
"semver": "^7.3.5",
|
||||
"svelte-i18n": "^3.3.13",
|
||||
"yaml": "^1.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@neutralinojs/neu": "^9.0.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^1.0.0-next.34",
|
||||
"@tsconfig/svelte": "^3.0.0",
|
||||
"@types/js-md5": "^0.4.3",
|
||||
"neutralino-appimage-bundler": "^1.3.2",
|
||||
"sass": "^1.47.0",
|
||||
"svelte": "^3.45.0",
|
||||
"svelte-check": "^2.2.12",
|
||||
"svelte-preprocess": "^4.10.1",
|
||||
"tslib": "^2.3.1",
|
||||
"typescript": "^4.5.4",
|
||||
"vite": "^2.7.10"
|
||||
}
|
||||
}
|
||||
|
|
BIN
public/discord-rpc/discord-rpc
Executable file
BIN
public/discord-rpc/libdiscord-rpc.so
Normal file
|
@ -1,57 +1,62 @@
|
|||
[
|
||||
{
|
||||
"version": "1.9.3",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.3/dxvk-1.9.3.tar.gz",
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"version": "1.9.2",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.2/dxvk-1.9.2.tar.gz",
|
||||
"recommendable": true
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"version": "1.9.1",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.1/dxvk-1.9.1.tar.gz",
|
||||
"recommendable": true
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"version": "1.9",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9/dxvk-1.9.tar.gz",
|
||||
"recommendable": true
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"version": "1.8.1",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8.1/dxvk-1.8.1.tar.gz",
|
||||
"recommendable": true
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"version": "1.8",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8/dxvk-1.8.tar.gz",
|
||||
"recommendable": true
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"version": "1.7.3",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7.3/dxvk-1.7.3.tar.gz",
|
||||
"recommendable": false
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"version": "1.7.2",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7.2/dxvk-1.7.2.tar.gz",
|
||||
"recommendable": false
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"version": "1.7.1",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7.1/dxvk-1.7.1.tar.gz",
|
||||
"recommendable": false
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"version": "1.7",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7/dxvk-1.7.tar.gz",
|
||||
"recommendable": false
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"version": "1.6.1",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.6.1/dxvk-1.6.1.tar.gz",
|
||||
"recommendable": false
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"version": "1.6",
|
||||
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.6/dxvk-1.6.tar.gz",
|
||||
"recommendable": false
|
||||
"recommended": false
|
||||
}
|
||||
]
|
|
@ -1,51 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<!-- CSS styles -->
|
||||
<link rel="stylesheet" href="../css/components.css">
|
||||
<link rel="stylesheet" href="../css/analytics.css">
|
||||
<link rel="stylesheet" href="../css/hint.min.css">
|
||||
|
||||
<!-- JS scripts -->
|
||||
<script>require('../js/lib/components.js');</script>
|
||||
<script>require('../js/analytics.js');</script>
|
||||
|
||||
<title i18id="AnalyticsTitle">Yanfei's commission...</title>
|
||||
</head>
|
||||
|
||||
<body theme="light">
|
||||
<div class="header">
|
||||
<img src="../images/yanfei.png">
|
||||
|
||||
<h2 i18id="ParticipateInAnalytics">Participate in anonymous data collection</h2>
|
||||
</div>
|
||||
|
||||
<p i18id="AnalyticsText1">To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates</p>
|
||||
<p i18id="AnalyticsText2">The IP address will be hashed for security purpose</p>
|
||||
|
||||
<div class="footer">
|
||||
<div class="hint--top hint--large" data-hint="Allow Yanfei to store the country your IP address registered in to make statistics more detailed. No other data than the country will be stored">
|
||||
<div class="checkbox checkbox-active selectable-checkbox" id="share-country">
|
||||
<span i18id="AnalyticsShareCountry">Share country</span>
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<button class="button button-primary" id="participate" i18id="Participate">Participate</button>
|
||||
|
||||
<div class="actions-right">
|
||||
<button class="button" id="skip" i18id="Skip">Skip</button>
|
||||
<button class="button" id="skip-and-ignore" i18id="SkipAndDontAsk">Skip and don't ask again</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,44 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<!-- CSS styles -->
|
||||
<link rel="stylesheet" href="../css/index.css">
|
||||
<link rel="stylesheet" href="../css/hint.min.css">
|
||||
|
||||
<!-- JS scripts -->
|
||||
<script>require('../js/index.js');</script>
|
||||
|
||||
<title>An Anime Game Linux Launcher</title>
|
||||
</head>
|
||||
|
||||
<body theme="light">
|
||||
<img class="background">
|
||||
|
||||
<div id="downloader-panel" class="dark" style="display: none">
|
||||
<div id="downloader-label">
|
||||
<span id="downloaded">Downloading</span>
|
||||
<span id="speed"></span>
|
||||
<span id="eta"></span>
|
||||
</div>
|
||||
|
||||
<div class="progress-bar" id="downloader">
|
||||
<div class="progress"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="launcher-content">
|
||||
<iframe id="social" scrolling="no" style="position: absolute; border: 0; top: 0; left: 0;" width="100%" height="100%"></iframe>
|
||||
</div>
|
||||
|
||||
<div id="settings">
|
||||
<img src="../images/gear.png" class="unactive">
|
||||
<img src="../images/gear-active.png" class="active">
|
||||
</div>
|
||||
|
||||
<button class="button" id="launch" i18id="Launch">Launch</button>
|
||||
</body>
|
||||
</html>
|
|
@ -1,360 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<!-- CSS styles -->
|
||||
<link rel="stylesheet" href="../css/components.css">
|
||||
<link rel="stylesheet" href="../css/settings.css">
|
||||
<link rel="stylesheet" href="../css/hint.min.css">
|
||||
|
||||
<!-- JS scripts -->
|
||||
<script>require('../js/lib/components.js');</script>
|
||||
<script>require('../js/settings.js');</script>
|
||||
|
||||
<title i18id="SettingsTitle">Settings</title>
|
||||
</head>
|
||||
|
||||
<body theme="light">
|
||||
<div class="menu">
|
||||
<div class="menu-item menu-item-active" anchor="general" i18id="General">General</div>
|
||||
<div class="menu-item" anchor="enhancements" i18id="Enhancements">Enhancements</div>
|
||||
<div class="menu-item" anchor="runners" i18id="WineVersion">Wine version</div>
|
||||
<div class="menu-item" anchor="dxvks" i18id="DXVK">DXVK</div>
|
||||
<div class="menu-item" anchor="shaders" i18id="Shaders">Shaders</div>
|
||||
<div class="menu-item" anchor="environment" i18id="Environment">Environment</div>
|
||||
<div class="menu-item" id="discord-rpc-conf-btn" anchor="discord-rpc-conf" i18id="DRPConf" style="display: none;">Discord RPC</div>
|
||||
</div>
|
||||
|
||||
<div class="settings">
|
||||
<div class="settings-item" id="general">
|
||||
<h2 i18id="General">General</h2>
|
||||
|
||||
<div class="launcher-stats">
|
||||
<img src="../images/rank.png">
|
||||
|
||||
<div class="level hint--bottom hint--medium">1</div>
|
||||
|
||||
<div class="stats">
|
||||
<p i18id="Statistics">Statistics</p>
|
||||
|
||||
<div class="time-spent">
|
||||
<span i18id="YouPlayedFor">You've played for</span>
|
||||
<span id="play-hours"></span>
|
||||
<span i18id="hours">hours</span>
|
||||
<span id="play-minutes"></span>
|
||||
<span i18id="minutes">minutes</span>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
This is an instrument-surprise which will be used later :D
|
||||
Please, don't mention it in our discord server
|
||||
I wanna make a great update at christmas
|
||||
-->
|
||||
<!-- <div class="badges">
|
||||
<div class="hint--bottom hint--medium" data-hint="Pioneer: be one of the first launcher users">
|
||||
<img src="../images/badges/torch.png">
|
||||
</div>
|
||||
|
||||
<div class="hint--bottom hint--medium" data-hint="Pioneer: be one of the first launcher users">
|
||||
<img src="../images/badges/torch.png">
|
||||
</div>
|
||||
|
||||
<div class="hint--bottom hint--medium" data-hint="Pioneer: be one of the first launcher users">
|
||||
<img src="../images/badges/torch.png">
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="select" id="language">
|
||||
<span i18id="Language">Language</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
<li value="en-us">English (US)</li>
|
||||
<li value="zh-cn">中文(简化)(Chinese Simplified)</li>
|
||||
<li value="de-de">Deutsch (German)</li>
|
||||
<li value="fr-fr">Français (French)</li>
|
||||
<li value="id-id">Indonesia (Indonesian)</li>
|
||||
<li value="ja-jp">日本語 (Japanese)</li>
|
||||
<li value="ko-kr">한국어 (Korean)</li>
|
||||
<li value="pt-pt">Português (Portuguese)</li>
|
||||
<li value="ru-ru">Pусский (Russian)</li>
|
||||
<li value="es-es">Español (Spanish)</li>
|
||||
<li value="th-th">ภาษาไทย (Thai)</li>
|
||||
<li value="zh-tw">中文(繁體)(Chinese Traditional)</li>
|
||||
<li value="vi-vn">Tiếng Việt (Vietnamese)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selected-item">
|
||||
<span>English (US)</span>
|
||||
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 330.002 330.002" xml:space="preserve"><path d="M233.252,155.997L120.752,6.001c-4.972-6.628-14.372-7.97-21-3c-6.628,4.971-7.971,14.373-3,21 l105.75,140.997L96.752,306.001c-4.971,6.627-3.627,16.03,3,21c2.698,2.024,5.856,3.001,8.988,3.001 c4.561,0,9.065-2.072,12.012-6.001l112.5-150.004C237.252,168.664,237.252,161.33,233.252,155.997z"/></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="select" id="voicepack">
|
||||
<span i18id="Voice">Voice Pack</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
<li value="en-us">English (US)</li>
|
||||
<li value="zh-cn">汉语 (Chinese)</li>
|
||||
<li value="ja-jp">日本語 (Japanese)</li>
|
||||
<li value="ko-kr">한국어 (Korean)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selected-item hint--top hint--medium">
|
||||
<span>English (US)</span>
|
||||
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 330.002 330.002" xml:space="preserve"><path d="M233.252,155.997L120.752,6.001c-4.972-6.628-14.372-7.97-21-3c-6.628,4.971-7.971,14.373-3,21 l105.75,140.997L96.752,306.001c-4.971,6.627-3.627,16.03,3,21c2.698,2.024,5.856,3.001,8.988,3.001 c4.561,0,9.065-2.072,12.012-6.001l112.5-150.004C237.252,168.664,237.252,161.33,233.252,155.997z"/></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="select" id="gpu">
|
||||
<span>GPU</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
<li value="default">Default</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selected-item">
|
||||
<span>Default</span>
|
||||
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 330.002 330.002" xml:space="preserve"><path d="M233.252,155.997L120.752,6.001c-4.972-6.628-14.372-7.97-21-3c-6.628,4.971-7.971,14.373-3,21 l105.75,140.997L96.752,306.001c-4.971,6.627-3.627,16.03,3,21c2.698,2.024,5.856,3.001,8.988,3.001 c4.561,0,9.065-2.072,12.012-6.001l112.5-150.004C237.252,168.664,237.252,161.33,233.252,155.997z"/></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="select" id="theme">
|
||||
<span i18id="Theme">Theme</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
<li value="light" i18id="Light">Light</li>
|
||||
<li value="dark" i18id="Dark">Dark</li>
|
||||
<li value="system" i18id="System">System</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="selected-item">
|
||||
<span i18id="System">System</span>
|
||||
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 330.002 330.002" xml:space="preserve"><path d="M233.252,155.997L120.752,6.001c-4.972-6.628-14.372-7.97-21-3c-6.628,4.971-7.971,14.373-3,21 l105.75,140.997L96.752,306.001c-4.971,6.627-3.627,16.03,3,21c2.698,2.024,5.856,3.001,8.988,3.001 c4.561,0,9.065-2.072,12.012-6.001l112.5-150.004C237.252,168.664,237.252,161.33,233.252,155.997z"/></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="checkbox" id="discord-rpc">
|
||||
Discord RPC
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="directory-selector" id="prefix">
|
||||
<span i18id="Prefix">Prefix</span>
|
||||
|
||||
<input readonly>
|
||||
|
||||
<div>
|
||||
<button class="button hint--top hint--small" id="choose-location">
|
||||
<svg width="21px" height="21px" viewBox="0 0 21 21" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" transform="translate(3 4)"><path d="m.5 1.5v9c0 1.1045695.8954305 2 2 2h10c1.1045695 0 2-.8954305 2-2v-6.00280762c.0007656-1.05436179-.8150774-1.91816512-1.8499357-1.99451426l-.1500643-.00468356-5 .00200544-2-2h-4c-.55228475 0-1 .44771525-1 1z"/><path d="m.5 2.5h7"/></g></svg>
|
||||
</button>
|
||||
|
||||
<button class="button hint--top hint--small" id="reset-location">
|
||||
<svg width="15px" height="15px" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.85355 2.14645C5.04882 2.34171 5.04882 2.65829 4.85355 2.85355L3.70711 4H9C11.4853 4 13.5 6.01472 13.5 8.5C13.5 10.9853 11.4853 13 9 13H5C4.72386 13 4.5 12.7761 4.5 12.5C4.5 12.2239 4.72386 12 5 12H9C10.933 12 12.5 10.433 12.5 8.5C12.5 6.567 10.933 5 9 5H3.70711L4.85355 6.14645C5.04882 6.34171 5.04882 6.65829 4.85355 6.85355C4.65829 7.04882 4.34171 7.04882 4.14645 6.85355L2.14645 4.85355C1.95118 4.65829 1.95118 4.34171 2.14645 4.14645L4.14645 2.14645C4.34171 1.95118 4.65829 1.95118 4.85355 2.14645Z" fill="currentColor"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div id="general-action-buttons">
|
||||
<button class="button" id="launcher-folder" i18id="LauncherFolder">launcher folder</button>
|
||||
<button class="button" id="winetricks">winetricks</button>
|
||||
<button class="button" id="winecfg">winecfg</button>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="settings-item" id="enhancements">
|
||||
<h2 i18id="Enhancements">Enhancements</h2>
|
||||
|
||||
<div class="select" id="hud">
|
||||
<span>HUD</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
<li value="none">None</li>
|
||||
<li value="dxvk">DXVK</li>
|
||||
<li value="mangohud">MangoHud</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selected-item">
|
||||
<span>None</span>
|
||||
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 330.002 330.002" xml:space="preserve"><path d="M233.252,155.997L120.752,6.001c-4.972-6.628-14.372-7.97-21-3c-6.628,4.971-7.971,14.373-3,21 l105.75,140.997L96.752,306.001c-4.971,6.627-3.627,16.03,3,21c2.698,2.024,5.856,3.001,8.988,3.001 c4.561,0,9.065-2.072,12.012-6.001l112.5-150.004C237.252,168.664,237.252,161.33,233.252,155.997z"/></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="checkbox" id="gamemode">
|
||||
GameMode
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="checkbox" id="fps-unlocker">
|
||||
FPS Unlocker
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="checkbox" id="autodelete-dxvk-logs">
|
||||
<span i18id="AutoDeleteDXVKLogs">Auto-delete DXVK logs</span>
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="settings-item" id="runners">
|
||||
<h2 i18id="WineVersion">Wine version</h2>
|
||||
|
||||
<div class="checkbox" id="wine-recommendable">
|
||||
<span i18id="RecommendableOnly">Show recommendable versions</span>
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="list" id="runners-list"></div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="settings-item" id="dxvks">
|
||||
<h2>DXVK</h2>
|
||||
|
||||
<div class="checkbox" id="dxvk-recommendable">
|
||||
<span i18id="RecommendableOnly">Show recommendable versions</span>
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="list" id="dxvk-list"></div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="settings-item" id="shaders">
|
||||
<h2 i18id="Shaders">Shaders</h2>
|
||||
|
||||
<div class="select" id="shaders-list">
|
||||
<span i18id="Shaders">Shaders</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
<li value="none">None</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="selected-item hint--top hint--small">
|
||||
<span>None</span>
|
||||
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 330.002 330.002" xml:space="preserve"><path d="M233.252,155.997L120.752,6.001c-4.972-6.628-14.372-7.97-21-3c-6.628,4.971-7.971,14.373-3,21 l105.75,140.997L96.752,306.001c-4.971,6.627-3.627,16.03,3,21c2.698,2.024,5.856,3.001,8.988,3.001 c4.561,0,9.065-2.072,12.012-6.001l112.5-150.004C237.252,168.664,237.252,161.33,233.252,155.997z"/></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="settings-item" id="environment">
|
||||
<h2 i18id="EnvironmentalVariables">Environmental variables</h2>
|
||||
|
||||
<div class="properties-list" id="env-list">
|
||||
<table>
|
||||
<tr>
|
||||
<th i18id="Name">Name</th>
|
||||
<th i18id="Value">Value</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="properties-list-buttons">
|
||||
<button class="button" id="add" i18id="Add">Add</button>
|
||||
<button class="button" id="delete" i18id="Delete">Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<div class="settings-item" id="discord-rpc-conf" style="display: none;">
|
||||
<h2 i18id="DRPConf">Discord RPC</h2>
|
||||
|
||||
<h3>Launcher</h3>
|
||||
|
||||
<h4>Details/Information</h4>
|
||||
|
||||
<input type="text" id="rpc-launch-details" class="text-field" placeholder="Preparing to launch" />
|
||||
|
||||
<h3>In-Game</h3>
|
||||
|
||||
<div class="checkbox" id="rpc-game-elapsed">
|
||||
<span>Elapsed Time</span>
|
||||
|
||||
<div class="checkbox-mark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4>Details/Information</h4>
|
||||
|
||||
<input type="text" id="rpc-game-details" class="text-field" placeholder="In-Game" />
|
||||
|
||||
<h4>Extra Text</h4>
|
||||
|
||||
<input type="text" id="rpc-game-state" class="text-field" placeholder="" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
219
public/locales/de-de.yaml
Normal file
|
@ -0,0 +1,219 @@
|
|||
# Start Fenster
|
||||
splash:
|
||||
title: Starte Launcher
|
||||
phrases:
|
||||
- Bruder, lass uns Genshin Impact spielen...
|
||||
- Paimon am ärgern...
|
||||
- Versuche Yae zu ziehen...
|
||||
- Materialien farmen...
|
||||
- Abyss bewältigen...
|
||||
- Errungenschaften sammeln...
|
||||
- Phys Qiqi erstellen...
|
||||
- Opfer für 5* bringen...
|
||||
- Freunde für Koop finden...
|
||||
|
||||
# Launcher window
|
||||
launcher:
|
||||
# Progress bar
|
||||
progress:
|
||||
pause: Pausieren
|
||||
resume: Fortsetzen
|
||||
|
||||
# Game installation
|
||||
game:
|
||||
downloading: Spiel ist am herunterladen...
|
||||
unpacking: Spiel wird entpackt...
|
||||
deleting_outdated: Lösche veraltete dateien...
|
||||
|
||||
# Voice packages installation
|
||||
voice:
|
||||
deleting: Lösche Sprachpakete...
|
||||
downloading: Sprachpaket {voice} wird heruntergeladen...
|
||||
unpacking: Sprachpaket {voice} wird entpackt..
|
||||
|
||||
# Launcher states
|
||||
states:
|
||||
# When the game should be installed or updated
|
||||
installation:
|
||||
install_wine: Wine installieren
|
||||
install_dxvk: DXVK installieren
|
||||
install: Installieren
|
||||
update: Updaten
|
||||
|
||||
# When the game should be patched
|
||||
patching:
|
||||
# Patch unavailable
|
||||
unavailable:
|
||||
title: Patch nicht verfügbar
|
||||
hint: Diese Spielversion hat kein patch zu verfügung.
|
||||
Bitte warte ein paar Tage um zusehen ob ein test oder stabil Patch veröffentlicht worde.
|
||||
|
||||
# Patch is in testing
|
||||
test:
|
||||
title: Test Patch anwenden
|
||||
hint: Diese Spielversion hat ein Test Patch verfügbar.
|
||||
Sie können ein paar Tage warten um den Stabilen patch zu installieren oder sie können den Test Patch installieren und ihr Account riskieren.
|
||||
|
||||
# Patch is stable
|
||||
stable: Patch anwenden
|
||||
|
||||
# When the game is ready for playing
|
||||
ready:
|
||||
launch: Starten
|
||||
predownload: Update vorinstallieren
|
||||
|
||||
# Launcher update
|
||||
update:
|
||||
title: 'Launcher update verfügbar: {from} -> {to}'
|
||||
body: Sie können das update von {repository} herunterladen
|
||||
|
||||
# Einstellungs Fenster
|
||||
settings:
|
||||
# General
|
||||
general:
|
||||
title: General
|
||||
items:
|
||||
# Sprach-Auswahl
|
||||
lang:
|
||||
# Launcher sprache
|
||||
launcher:
|
||||
title: Launcher
|
||||
items:
|
||||
en-us: Englisch (US)
|
||||
ru-ru: Russisch
|
||||
de-de: Deutsch
|
||||
fr-fr: Français
|
||||
it-it: Italiano
|
||||
uwu: Engwish
|
||||
|
||||
# Spiel sprachpaket auswahl
|
||||
voice:
|
||||
title: Sprachpaket
|
||||
tooltip: Bitte wähle im Spiel das Sprachpaket aus um es zu benutzen
|
||||
items:
|
||||
en-us: Englisch (US)
|
||||
ja-jp: Japanisch
|
||||
ko-kr: Koreanische
|
||||
zn-cn: Chinesisch
|
||||
|
||||
# Launcher thema
|
||||
theme:
|
||||
title: Thema
|
||||
items:
|
||||
system: System
|
||||
light: Hell
|
||||
dark: Dunkel
|
||||
|
||||
# Discord RPC
|
||||
discord:
|
||||
title: Discord RPC
|
||||
settings:
|
||||
title: Discord RPC Einstellung
|
||||
items:
|
||||
timer: Zeige geschätzte Zeit
|
||||
in-launcher: Launcher text
|
||||
in-game: im Spiel text
|
||||
selectIcon: Icon auswählen
|
||||
|
||||
# Some buttons
|
||||
buttons:
|
||||
winetricks: winetricks
|
||||
winecfg: winecfg
|
||||
launcher: Launcher Ordner öffnen
|
||||
game: Spiel Ordner öffnen
|
||||
|
||||
# Verberssungen
|
||||
enhancements:
|
||||
title: Verbesserungen
|
||||
items:
|
||||
# HUD
|
||||
hud:
|
||||
title: HUD
|
||||
items:
|
||||
none: Aus
|
||||
dxvk: DXVK
|
||||
mangohud: MangoHUD
|
||||
|
||||
# GameMode
|
||||
gamemode:
|
||||
title: Benutze GameMode
|
||||
tooltip:
|
||||
enabled: GameMode ist ein Program welches die Leistung verbessert
|
||||
disabled: ⚠️ Sie haben GameMode nicht installiert
|
||||
|
||||
# AMD FSR
|
||||
fsr:
|
||||
title: AMD FSR
|
||||
tooltip: Diese Option aktiviert AMD FidelityFX Super Resolution (FSR),
|
||||
womit kleine Resolution hochskaliert wird um FPS-verlust zu vermeiden.
|
||||
|
||||
# Unlock FPS
|
||||
fps_unlocker:
|
||||
title: Entsperre FPS
|
||||
tooltip: Diese option entsperrt/entfernt die 60 FPS limiterung
|
||||
|
||||
# Delete logs
|
||||
purge_logs:
|
||||
# Game logs (DXVK)
|
||||
game:
|
||||
title: DXVK logs löschen
|
||||
tooltip: When diese option angeschaltet ist löscht
|
||||
der Launcher automatisch alle DXVK logs
|
||||
|
||||
# Launcher logs
|
||||
launcher:
|
||||
title: Launcher logs löschen
|
||||
tooltip: Launcher logs werden nach diese angegebenen Zeit gelöscht
|
||||
items:
|
||||
1d: 1 Tag
|
||||
3d: 3 Tage
|
||||
5d: 5 Tage
|
||||
7d: 1 Woche
|
||||
14d: 2 Wochen
|
||||
never: Niemals
|
||||
|
||||
# Runners
|
||||
runners:
|
||||
title: Wine version
|
||||
items:
|
||||
recommended:
|
||||
title: Nur empfohlene anzeigen
|
||||
tooltip: Falls diese option eingeschaltet ist werden nur Wine versionen angezeigt
|
||||
die funktioneren.
|
||||
|
||||
# DXVKs
|
||||
dxvks:
|
||||
title: DXVK
|
||||
items:
|
||||
recommended:
|
||||
title: Nur empfohlene anzeigen
|
||||
tooltip: Falls diese option eingeschaltet ist werden alte DXVK versionen nicht angezeigt
|
||||
|
||||
# Shaders
|
||||
shaders:
|
||||
title: Shaders
|
||||
items:
|
||||
shaders:
|
||||
title: Shaders
|
||||
tooltip: Benutze die Home/POS1 taste um die Shader in-spiel zu togglen
|
||||
items:
|
||||
none: Aus
|
||||
custom: Custom
|
||||
|
||||
author: 'Autor: {author}'
|
||||
no_images: Keine Bilder verfügbar
|
||||
not_installed: Sie haben vkBasalt und Reshade-Shader nicht installiert
|
||||
|
||||
# Environmantal variables manager
|
||||
environment:
|
||||
title: Umgebungsvariablen
|
||||
items:
|
||||
# Table rows
|
||||
table:
|
||||
name: Name
|
||||
value: Wert
|
||||
|
||||
# Table buttons
|
||||
buttons:
|
||||
add: Hinzufügen
|
||||
delete: Löschen
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Installieren",
|
||||
"Update": "Updaten",
|
||||
"Launch": "Starten",
|
||||
"ResumeDownload": "Download Fortsetzen",
|
||||
"Runners": "Runners",
|
||||
"Language": "Sprache",
|
||||
"Voice": "Sprachpaket",
|
||||
"VoiceNotification": "Für diese Funktion müssen Sie das neue Sprachpaket manuell im Spiel auswählen.",
|
||||
"Theme": "Farbschema",
|
||||
"Light": "Hell",
|
||||
"Dark": "Dunkel",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} ist nicht installiert",
|
||||
"PreInstallationRequired": "Vorinstallation erförderlich",
|
||||
"ToggleShadersText": "Verwenden Sie die Home-Taste (POS 1), um Shader im Spiel ein/aus-zuschalten",
|
||||
"Shaders": "Shadern",
|
||||
"ReshadeNotInstalled": "Sie haben vkBasalt und Reshade-Shader nicht installiert",
|
||||
"GameModeNotInstalled": "Sie haben GameMode nicht installiert",
|
||||
"SwitcherooNotInstalled": "Sie haben switcheroo-control nicht installiert",
|
||||
"AutoDeleteDXVKLogs": "DXVK-Logs automatisch löschen",
|
||||
"RecommendableOnly": "Empfohlene Versionen anzeigen",
|
||||
"LauncherFolder": "Launcher Ordner",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Ordner auswählen",
|
||||
"ResetDir": "Ordner zurücksetzen",
|
||||
"Author": "Autor",
|
||||
"NoImages": "Bilder sind nicht verfügbar",
|
||||
"SettingsTitle": "Einstellungen",
|
||||
"General": "Generell",
|
||||
"Enhancements": "Verbesserungen",
|
||||
"WineVersion": "Wine Version",
|
||||
"Environment": "Umgebung",
|
||||
"EnvironmentalVariables": "Umgebungsvariablen",
|
||||
"Name": "Name",
|
||||
"Value": "Wert",
|
||||
"Add": "Hinzufügen",
|
||||
"Delete": "Löschen",
|
||||
"Statistics": "Statistik",
|
||||
"YouPlayedFor": "Sie haben ungefähr",
|
||||
"hours": "Stunden und",
|
||||
"minutes": "Minuten gespielt",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Downloading": "wird Heruntergeladen",
|
||||
"Unpacking": "wird Entpackt",
|
||||
"GameDownloaded": "Spiel würde erfolgreich heruntergeladen",
|
||||
"ApplyPatch": "Patch wird angewendet",
|
||||
"PatchRequired": "Patch nicht verfügbar",
|
||||
"PatchRequiredHint": "Diese Spielversion hat noch kein anti-cheat patch, Bitte warten sie ein paar Tage bevor sie es erneut versuchen",
|
||||
"TestPatch": "Test Patch anwenden",
|
||||
"TestPatchHint": "Diese Spielversion hat ein anti-cheat patch aber es befindet sich noch in der Testphase. Sie können noch ein paar Tage warten bis es Stabil ist oder auf eigenen Risiko den Testpatch anwenden",
|
||||
"AnalyticsTitle": "Yanfei's Kommission...",
|
||||
"ParticipateInAnalytics": "Nehmen Sie an der anonymen Datenerhebung teil",
|
||||
"AnalyticsText1": "Um die aktive Nutzerbasis für Linux zu zählen, möchte Yanfei bei jedem Update des Spiels Ihre IP-Adresse erfassen,",
|
||||
"AnalyticsText2": "Die IP Adresse wird aus Sicherheitsgründen gehasht.",
|
||||
"AnalyticsShareCountry": "Land teilen",
|
||||
"Participate": "Teilnehmen",
|
||||
"Skip": "Überspringen",
|
||||
"SkipAndDontAsk": "Überspingen und nicht noch mal fragen",
|
||||
"LauncherUpdateTitle": "Launcher update verfügbar: ",
|
||||
"LauncherUpdateBody": "Sie können eine neue Version des Launchers aus dem Repository des Projekts unter {uri.launcher} herunterladen.",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company} Telemetrieserver sind nicht deaktiviert!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Install",
|
||||
"Update": "Update",
|
||||
"Launch": "Launch",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "Language",
|
||||
"Voice": "Voice Pack",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "Settings",
|
||||
"General": "General",
|
||||
"Enhancements": "Enhancements",
|
||||
"Downloading": "Downloading",
|
||||
"WineVersion": "Wine version",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Unpacking": "Unpacking",
|
||||
"GameDownloaded": "Game was successfully installed",
|
||||
"ApplyPatch": "Applying patch...",
|
||||
"PatchRequired": "Patch required",
|
||||
"PatchRequiredHint": "This game version doesn't have an anti-cheat patch. Please, wait a few days and try again",
|
||||
"TestPatch": "Apply test patch",
|
||||
"TestPatchHint": "This game version has an anti-cheat patch, but it is in the testing phase. You can wait a few days until it is stable or apply it at your own risk",
|
||||
"AnalyticsTitle": "Yanfei's commission...",
|
||||
"ParticipateInAnalytics": "Participate in anonymous data collection",
|
||||
"AnalyticsText1": "To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates",
|
||||
"AnalyticsText2": "The IP address will be hashed for security purpose",
|
||||
"AnalyticsShareCountry": "Share country",
|
||||
"Participate": "Participate",
|
||||
"Skip": "Skip",
|
||||
"SkipAndDontAsk": "Skip and don't ask again",
|
||||
"LauncherUpdateTitle": "Launcher update available: ",
|
||||
"LauncherUpdateBody": "You can download a new version of the launcher from the project's repository at {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
218
public/locales/en-us.yaml
Normal file
|
@ -0,0 +1,218 @@
|
|||
# Splash window
|
||||
splash:
|
||||
title: Loading launcher
|
||||
phrases:
|
||||
- Doing some important stuff...
|
||||
- Bullying Paimon...
|
||||
- Pulling for Yae...
|
||||
- Farming materials...
|
||||
- Passing Abyss...
|
||||
- Collecting achievements...
|
||||
- Building phys Qiqi...
|
||||
- Making sacrifices for 5*...
|
||||
- Finding friends for co-op...
|
||||
|
||||
# Launcher window
|
||||
launcher:
|
||||
# Progress bar
|
||||
progress:
|
||||
pause: Pause
|
||||
resume: Resume
|
||||
|
||||
# Game installation
|
||||
game:
|
||||
downloading: Downloading game...
|
||||
unpacking: Unpacking game...
|
||||
deleting_outdated: Deleting outdated files...
|
||||
|
||||
# Voice packages installation
|
||||
voice:
|
||||
deleting: Deleting voice packages...
|
||||
downloading: Downloading {voice} voice package...
|
||||
unpacking: Unpacking {voice} voice package...
|
||||
|
||||
# Launcher states
|
||||
states:
|
||||
# When the game should be installed or updated
|
||||
installation:
|
||||
install_wine: Install Wine
|
||||
install_dxvk: Install DXVK
|
||||
install: Install
|
||||
update: Update
|
||||
|
||||
# When the game should be patched
|
||||
patching:
|
||||
# Patch unavailable
|
||||
unavailable:
|
||||
title: Patch unavailable
|
||||
hint: This game version has no anti-cheat patch.
|
||||
Please, wait a few days before there will be a test or stable version
|
||||
|
||||
# Patch is in testing
|
||||
test:
|
||||
title: Apply test patch
|
||||
hint: This game version has an experimental anti-cheat patch.
|
||||
You can wait a few days until it is stable or apply it at your own risk
|
||||
|
||||
# Patch is stable
|
||||
stable: Apply patch
|
||||
|
||||
# When the game is ready for playing
|
||||
ready:
|
||||
launch: Launch
|
||||
predownload: Pre-download update
|
||||
|
||||
# Launcher update
|
||||
update:
|
||||
title: 'Launcher update available: {from} -> {to}'
|
||||
body: You can download a new version of the launcher from the project's repository at {repository}
|
||||
|
||||
# Settings window
|
||||
settings:
|
||||
# General
|
||||
general:
|
||||
title: General
|
||||
items:
|
||||
# Language selection
|
||||
lang:
|
||||
# Launcher language
|
||||
launcher:
|
||||
title: Launcher
|
||||
items:
|
||||
en-us: English (US)
|
||||
ru-ru: Русский
|
||||
de-de: Deutsch
|
||||
fr-fr: Français
|
||||
it-it: Italiano
|
||||
uwu: Engwish
|
||||
|
||||
# Game voice pack language
|
||||
voice:
|
||||
title: Voice pack
|
||||
tooltip: You will have to manually select the new voice pack in the game
|
||||
items:
|
||||
en-us: English (US)
|
||||
ja-jp: Japanese
|
||||
ko-kr: Korean
|
||||
zn-cn: Chinese
|
||||
|
||||
# Launcher theme
|
||||
theme:
|
||||
title: Theme
|
||||
items:
|
||||
system: System
|
||||
light: Light
|
||||
dark: Dark
|
||||
|
||||
# Discord RPC
|
||||
discord:
|
||||
title: Discord RPC
|
||||
settings:
|
||||
title: Discord RPC settings
|
||||
items:
|
||||
timer: Show estimated time spent
|
||||
in-launcher: Launcher text
|
||||
in-game: In-game text
|
||||
selectIcon: Select icon
|
||||
|
||||
# Some buttons
|
||||
buttons:
|
||||
winetricks: winetricks
|
||||
winecfg: winecfg
|
||||
launcher: launcher folder
|
||||
game: game folder
|
||||
|
||||
# Enhancements
|
||||
enhancements:
|
||||
title: Enhancements
|
||||
items:
|
||||
# HUD
|
||||
hud:
|
||||
title: HUD
|
||||
items:
|
||||
none: None
|
||||
dxvk: DXVK
|
||||
mangohud: MangoHUD
|
||||
|
||||
# GameMode
|
||||
gamemode:
|
||||
title: Use GameMode
|
||||
tooltip:
|
||||
enabled: It is a software that can improve the game performance
|
||||
disabled: ⚠️ You don't have gamemode package installed
|
||||
|
||||
# AMD FSR
|
||||
fsr:
|
||||
title: Enable AMD FSR
|
||||
tooltip: This option enables AMD FidelityFX Super Resolution (FSR)
|
||||
which will scale your game resolution without losing FPS
|
||||
|
||||
# Unlock FPS
|
||||
fps_unlocker:
|
||||
title: Unlock FPS
|
||||
tooltip: This option will unlock maximum of the 60 fps limitation
|
||||
|
||||
# Delete logs
|
||||
purge_logs:
|
||||
# Game logs (DXVK)
|
||||
game:
|
||||
title: Delete DXVK logs
|
||||
tooltip: With this option enabled your launcher will automatically
|
||||
delete DXVK log files
|
||||
|
||||
# Launcher logs
|
||||
launcher:
|
||||
title: Delete launcher logs
|
||||
tooltip: Amount of time after which launcher will delete its old log files
|
||||
items:
|
||||
1d: 1 day
|
||||
3d: 3 days
|
||||
5d: 5 days
|
||||
7d: 1 week
|
||||
14d: 2 weeks
|
||||
never: Never
|
||||
|
||||
# Runners
|
||||
runners:
|
||||
title: Wine version
|
||||
items:
|
||||
recommended:
|
||||
title: Show recommended only
|
||||
tooltip: This option will hide unplayable wine versions
|
||||
|
||||
# DXVKs
|
||||
dxvks:
|
||||
title: DXVK
|
||||
items:
|
||||
recommended:
|
||||
title: Show recommended only
|
||||
tooltip: This option will hide old DXVK versions
|
||||
|
||||
# Shaders
|
||||
shaders:
|
||||
title: Shaders
|
||||
items:
|
||||
shaders:
|
||||
title: Shaders
|
||||
tooltip: Use Home button to toggle shaders in the game
|
||||
items:
|
||||
none: None
|
||||
custom: Custom
|
||||
|
||||
author: 'Author: {author}'
|
||||
no_images: No images added
|
||||
not_installed: You haven't installed vkBasalt and reshade-shaders library
|
||||
|
||||
# Environmantal variables manager
|
||||
environment:
|
||||
title: Environment
|
||||
items:
|
||||
# Table rows
|
||||
table:
|
||||
name: Name
|
||||
value: Value
|
||||
|
||||
# Table buttons
|
||||
buttons:
|
||||
add: Add
|
||||
delete: Delete
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Install",
|
||||
"Update": "Update",
|
||||
"Launch": "Launch",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "Language",
|
||||
"Voice": "Voice Pack",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "Settings",
|
||||
"General": "General",
|
||||
"Enhancements": "Enhancements",
|
||||
"WineVersion": "Wine version",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Downloading": "Downloading",
|
||||
"Unpacking": "Unpacking",
|
||||
"GameDownloaded": "Game was successfully installed",
|
||||
"ApplyPatch": "Applying patch...",
|
||||
"PatchRequired": "Patch required",
|
||||
"PatchRequiredHint": "This game version doesn't have an anti-cheat patch. Please, wait a few days and try again",
|
||||
"TestPatch": "Apply test patch",
|
||||
"TestPatchHint": "This game version has an anti-cheat patch, but it is in the testing phase. You can wait a few days until it is stable or apply it at your own risk",
|
||||
"AnalyticsTitle": "Yanfei's commission...",
|
||||
"ParticipateInAnalytics": "Participate in anonymous data collection",
|
||||
"AnalyticsText1": "To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates",
|
||||
"AnalyticsText2": "The IP address will be hashed for security purpose",
|
||||
"AnalyticsShareCountry": "Share country",
|
||||
"Participate": "Participate",
|
||||
"Skip": "Skip",
|
||||
"SkipAndDontAsk": "Skip and don't ask again",
|
||||
"LauncherUpdateTitle": "Launcher update available: ",
|
||||
"LauncherUpdateBody": "You can download a new version of the launcher from the project's repository at {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Install",
|
||||
"Update": "Update",
|
||||
"Launch": "Launch",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "Language",
|
||||
"Voice": "Voice Pack",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "Settings",
|
||||
"General": "General",
|
||||
"Enhancements": "Enhancements",
|
||||
"WineVersion": "Wine version",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Downloading": "Downloading",
|
||||
"Unpacking": "Unpacking",
|
||||
"GameDownloaded": "Game was successfully installed",
|
||||
"ApplyPatch": "Applying patch...",
|
||||
"PatchRequired": "Patch required",
|
||||
"PatchRequiredHint": "This game version doesn't have an anti-cheat patch. Please, wait a few days and try again",
|
||||
"TestPatch": "Apply test patch",
|
||||
"TestPatchHint": "This game version has an anti-cheat patch, but it is in the testing phase. You can wait a few days until it is stable or apply it at your own risk",
|
||||
"AnalyticsTitle": "Yanfei's commission...",
|
||||
"ParticipateInAnalytics": "Participate in anonymous data collection",
|
||||
"AnalyticsText1": "To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates",
|
||||
"AnalyticsText2": "The IP address will be hashed for security purpose",
|
||||
"AnalyticsShareCountry": "Share country",
|
||||
"Participate": "Participate",
|
||||
"Skip": "Skip",
|
||||
"SkipAndDontAsk": "Skip and don't ask again",
|
||||
"LauncherUpdateTitle": "Launcher update available: ",
|
||||
"LauncherUpdateBody": "You can download a new version of the launcher from the project's repository at {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
224
public/locales/fr-fr.yaml
Normal file
|
@ -0,0 +1,224 @@
|
|||
# Splash window
|
||||
splash:
|
||||
title: Changement en cours
|
||||
phrases:
|
||||
- En train de faire des choses importantes...
|
||||
- Cuisson de Paimon en cours...
|
||||
- Invocation en masse pour Yae...
|
||||
- Collecte des matériaux...
|
||||
- Passage de l'Abysse..
|
||||
- Collecte des succès...
|
||||
- Équipage de Qiqi qu'en DGT...
|
||||
- Préparation de sacrifices pour un 5*...
|
||||
- Recherche d'amis pour de la Co-op...
|
||||
|
||||
# Launcher window
|
||||
launcher:
|
||||
# Progress bar
|
||||
progress:
|
||||
pause: Pause
|
||||
resume: Continuer
|
||||
|
||||
# Game installation
|
||||
game:
|
||||
downloading: Téléchargement du jeu...
|
||||
unpacking: Décompression du jeu...
|
||||
deleting_outdated: Suppression des fichiers non à jour...
|
||||
|
||||
# Voice packages installation
|
||||
voice:
|
||||
deleting: Suppression des pack de voix...
|
||||
downloading: 'Téléchargement du pack de voix : {voice}...'
|
||||
unpacking: 'Décompression du pack de voix : {voice}...'
|
||||
|
||||
# Launcher states
|
||||
states:
|
||||
# When the game should be installed or updated
|
||||
installation:
|
||||
install_wine: Installer Wine
|
||||
install_dxvk: Installer DXVK
|
||||
install: Installer
|
||||
update: Mise à jour
|
||||
|
||||
# When the game should be patched
|
||||
patching:
|
||||
# Patch unavailable
|
||||
unavailable:
|
||||
title: Patch non disponible
|
||||
hint: Cette version du jeu n'a pas de patch contre l'anti triche,
|
||||
merci de bien vouloir patienter quelques jours puis réessayez
|
||||
|
||||
# Patch is in testing
|
||||
test:
|
||||
title: Appliquer le patch en teste
|
||||
hint: Cette version du jeu a un patch contre l'anti triche,
|
||||
mais celui-ci est en période de teste.
|
||||
Vous pouvez patienter ou bien l'utilisé à vos risques et périls.
|
||||
|
||||
# Patch is stable
|
||||
stable: Appliquer le patch
|
||||
|
||||
# When the game is ready for playing
|
||||
ready:
|
||||
launch: Lancer
|
||||
predownload: Pre-téléchargement de mise à jour
|
||||
|
||||
# Launcher update
|
||||
update:
|
||||
title: 'Mise à jour du Launcher disponible: {from} -> {to}'
|
||||
body: Vous pouvez télécharger la nouvelle version du launcher via le dépôt ici {repository}
|
||||
|
||||
# Settings window
|
||||
settings:
|
||||
# General
|
||||
general:
|
||||
title: Générale
|
||||
items:
|
||||
# Language selection
|
||||
lang:
|
||||
# Launcher language
|
||||
launcher:
|
||||
title: Launcher
|
||||
items:
|
||||
en-us: English (US)
|
||||
ru-ru: Русский
|
||||
de-de: Deutsch
|
||||
fr-fr: Français
|
||||
it-it: Italiano
|
||||
uwu: Engwish
|
||||
|
||||
# Game voice pack language
|
||||
voice:
|
||||
title: Pack de voix
|
||||
tooltip: Le choix des voix utilisées sont à modifier
|
||||
manuellement dans le jeu
|
||||
items:
|
||||
en-us: Anglaise (US)
|
||||
ja-jp: Japonaise
|
||||
ko-kr: Coréen
|
||||
zn-cn: Chinoise
|
||||
|
||||
# Launcher theme
|
||||
theme:
|
||||
title: Thème
|
||||
items:
|
||||
system: Système
|
||||
light: Lumineux
|
||||
dark: Sombre
|
||||
|
||||
# Discord RPC
|
||||
discord:
|
||||
title: Intégration Discord
|
||||
settings:
|
||||
title: Intégration Discord paramètres
|
||||
items:
|
||||
timer: Afficher le temps écouler
|
||||
in-launcher: Texte dans le launcher
|
||||
in-game: Texte dans le jeu
|
||||
selectIcon: Sélection d'icone
|
||||
|
||||
# Some buttons
|
||||
buttons:
|
||||
winetricks: winetricks
|
||||
winecfg: winecfg
|
||||
launcher: Dossier du Launcher
|
||||
game: Dossier du jeu
|
||||
|
||||
# Enhancements
|
||||
enhancements:
|
||||
title: Améliorations
|
||||
items:
|
||||
# HUD
|
||||
hud:
|
||||
title: Interface
|
||||
items:
|
||||
none: None
|
||||
dxvk: DXVK
|
||||
mangohud: MangoHUD
|
||||
|
||||
# GameMode
|
||||
gamemode:
|
||||
title: Utiliser GameMode
|
||||
tooltip:
|
||||
enabled: C'est un logiciel qui permet d'améliorer les performances en jeu
|
||||
disabled: ⚠️ Vous n'avez pas le paquet "gamemode" d'installer
|
||||
|
||||
# AMD FSR
|
||||
fsr:
|
||||
title: Activer AMD FSR
|
||||
tooltip: Cette option active "AMD FidelityFX Super Resolution" (FSR)
|
||||
ce qui permet d'augmenter votre résolution sans perdre des FPS (images par secondes)
|
||||
|
||||
# Unlock FPS
|
||||
fps_unlocker:
|
||||
title: Débloquer les IPS (FPS)
|
||||
tooltip: Cette option permet de débloque le nombre d'image par
|
||||
secondes (IPS) au-delà de 60
|
||||
|
||||
# Delete logs
|
||||
purge_logs:
|
||||
# Game logs (DXVK)
|
||||
game:
|
||||
title: Supprimer automatiquement les logs de DXVK
|
||||
tooltip: Cette option supprime automatiquement les
|
||||
fichiers logs de DXVK
|
||||
|
||||
# Launcher logs
|
||||
launcher:
|
||||
title: Suppression des fichiers logs
|
||||
tooltip: Intervalle entre chaque suppression de fichier logs du launcher
|
||||
items:
|
||||
1d: Tous les jours
|
||||
3d: Tous les 3 jours
|
||||
5d: Tous les 5 jours
|
||||
7d: Toutes les semaines
|
||||
14d: Toutes les 2 semaines
|
||||
never: Jamais
|
||||
|
||||
# Runners
|
||||
runners:
|
||||
title: Version de Wine
|
||||
items:
|
||||
recommended:
|
||||
title: Afficher les versions recommandées seulement
|
||||
tooltip: Cette option masque les versions de Wine
|
||||
non testées ou qui ne fonctionnent pas
|
||||
|
||||
# DXVKs
|
||||
dxvks:
|
||||
title: DXVK
|
||||
items:
|
||||
recommended:
|
||||
title: Afficher les versions recommandées seulement
|
||||
tooltip: Cette option masque les versions de DXVK
|
||||
non testées ou qui ne fonctionnent pas
|
||||
|
||||
# Shaders
|
||||
shaders:
|
||||
title: Effets Visuels
|
||||
items:
|
||||
shaders:
|
||||
title: Effets Visuels
|
||||
tooltip: Utilisez la touche début (home) activer
|
||||
ou désactiver les effets visuels
|
||||
items:
|
||||
none: None
|
||||
custom: Custom
|
||||
|
||||
author: 'Auteur: {author}'
|
||||
no_images: Aucune image ajoutée
|
||||
not_installed: Vous n'avez les paquets "vkBasalt" et "reshade-shader library" d'installer
|
||||
|
||||
# Environmantal variables manager
|
||||
environment:
|
||||
title: Environnement
|
||||
items:
|
||||
# Table rows
|
||||
table:
|
||||
name: Nom
|
||||
value: Valeur
|
||||
|
||||
# Table buttons
|
||||
buttons:
|
||||
add: Ajouter
|
||||
delete: Supprimer
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Install",
|
||||
"Update": "Update",
|
||||
"Launch": "Launch",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "Language",
|
||||
"Voice": "Voice Pack",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "Settings",
|
||||
"General": "General",
|
||||
"Enhancements": "Enhancements",
|
||||
"WineVersion": "Wine version",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Downloading": "Downloading",
|
||||
"Unpacking": "Unpacking",
|
||||
"GameDownloaded": "Game was successfully installed",
|
||||
"ApplyPatch": "Applying patch...",
|
||||
"PatchRequired": "Patch required",
|
||||
"PatchRequiredHint": "This game version doesn't have an anti-cheat patch. Please, wait a few days and try again",
|
||||
"TestPatch": "Apply test patch",
|
||||
"TestPatchHint": "This game version has an anti-cheat patch, but it is in the testing phase. You can wait a few days until it is stable or apply it at your own risk",
|
||||
"AnalyticsTitle": "Yanfei's commission...",
|
||||
"ParticipateInAnalytics": "Participate in anonymous data collection",
|
||||
"AnalyticsText1": "To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates",
|
||||
"AnalyticsText2": "The IP address will be hashed for security purpose",
|
||||
"AnalyticsShareCountry": "Share country",
|
||||
"Participate": "Participate",
|
||||
"Skip": "Skip",
|
||||
"SkipAndDontAsk": "Skip and don't ask again",
|
||||
"LauncherUpdateTitle": "Launcher update available: ",
|
||||
"LauncherUpdateBody": "You can download a new version of the launcher from the project's repository at {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Pasang",
|
||||
"Update": "Perbarui",
|
||||
"Launch": "Luncurkan",
|
||||
"ResumeDownload": "Lanjutkan Unduh",
|
||||
"Runners": "Runners",
|
||||
"Language": "Bahasa",
|
||||
"Voice": "Paket Suara",
|
||||
"VoiceNotification": "Fitur ini memerlukan kamu untuk memilih paket suara baru di dalam Game",
|
||||
"Theme": "Tema",
|
||||
"Light": "Terang",
|
||||
"Dark": "Gelap",
|
||||
"System": "Sistem",
|
||||
"IsNotInstalled": "{0} belum terpasang",
|
||||
"PreInstallationRequired": "pra-pemasangan dibutuhkan",
|
||||
"ToggleShadersText": "Gunakan tombol Home untuk menyalakan/mematikan shader di dalam Game",
|
||||
"Shaders": "Shader",
|
||||
"ReshadeNotInstalled": "Kamu belum memasang vkBasalt dan library reshade-shaders",
|
||||
"GameModeNotInstalled": "Kamu belum memasang GameMode",
|
||||
"SwitcherooNotInstalled": "Kamu belum memasang switcheroo-control",
|
||||
"AutoDeleteDXVKLogs": "Otomatis hapus log DXVK",
|
||||
"RecommendableOnly": "Tampilkan pilihan yang disarankan",
|
||||
"LauncherFolder": "folder peluncur",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Pilih direktori",
|
||||
"ResetDir": "Setel ulang direktori",
|
||||
"Author": "Pembuat",
|
||||
"NoImages": "Tidak ada gambar ditambahkan",
|
||||
"SettingsTitle": "Pengaturan",
|
||||
"General": "Umum",
|
||||
"Enhancements": "Peningkatan",
|
||||
"WineVersion": "Versi Wine",
|
||||
"Environment": "Lingkungan",
|
||||
"EnvironmentalVariables": "Variabel Lingkungan",
|
||||
"Name": "Nama",
|
||||
"Value": "Nilai",
|
||||
"Add": "Tambah",
|
||||
"Delete": "Hapus",
|
||||
"Statistics": "Statistik",
|
||||
"YouPlayedFor": "Kamu sudah bermain selama",
|
||||
"hours": "jam",
|
||||
"minutes": "menit",
|
||||
"YourLauncherLevel": "Level peluncur kamu",
|
||||
"Downloading": "Mengunduh",
|
||||
"Unpacking": "Membuka paket",
|
||||
"GameDownloaded": "Game berhasil dipasang",
|
||||
"ApplyPatch": "Memasang patch...",
|
||||
"PatchRequired": "Patch dibutuhkan",
|
||||
"PatchRequiredHint": "Versi Game ini tidak memiliki patch anti-cheat. Mohon tunggu beberapa hari dan coba lagi",
|
||||
"TestPatch": "Pasang patch uji coba",
|
||||
"TestPatchHint": "Versi Game ini memiliki patch anti-cheat, tetapi masih dalam tahap uji coba. Kamu dapat menunggu beberapa hari hingga patch stabil atau memasangnya dengan risiko kamu sendiri",
|
||||
"AnalyticsTitle": "Komisi Yanfei...",
|
||||
"ParticipateInAnalytics": "Berpartisipasi dalam pengambilan data anonim",
|
||||
"AnalyticsText1": "Untuk menghitung pengguna aktif di Linux, Yanfei ingin mengumpulkan alamat IP tiap kali Game diperbarui",
|
||||
"AnalyticsText2": "Alamat IP akan diacak(hashed) untuk tujuan keamanan",
|
||||
"AnalyticsShareCountry": "Bagikan negara",
|
||||
"Participate": "Berpartisipasi",
|
||||
"Skip": "Lewati",
|
||||
"SkipAndDontAsk": "Lewati dan jangan tanya lagi",
|
||||
"LauncherUpdateTitle": "Pembaruan Peluncur tersedia: ",
|
||||
"LauncherUpdateBody": "Kamu dapat mengunduh versi baru peluncur dari repositori di {uri.launcher}",
|
||||
"TelemetryNotDisabled": "Peladen telemetri {placeholders.uppercase.company} tidak dimatikan!",
|
||||
"PatchRepoUnavailableTitle": "Repositori patch tidak tersedia",
|
||||
"PatchRepoUnavailableBody": "Sepertinya notabug sedang dalam serangan dan tidak merespon",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
217
public/locales/it-it.yaml
Normal file
|
@ -0,0 +1,217 @@
|
|||
# Splash window
|
||||
splash:
|
||||
title: Caricando il launcher
|
||||
phrases:
|
||||
- Facendo attività molto importanti...
|
||||
- Bullizzando Paimon...
|
||||
- Pullando per Yae...
|
||||
- Farmando materiali...
|
||||
- Superando l'Abisso...
|
||||
- Collezionando trofei...
|
||||
- Buildando Qiqi fisico...
|
||||
- Facendo sacrifici per un 5*...
|
||||
- Cercando amici per co-op...
|
||||
|
||||
# Launcher window
|
||||
launcher:
|
||||
# Progress bar
|
||||
progress:
|
||||
pause: Pausa
|
||||
resume: Riprendi
|
||||
|
||||
# Game installation
|
||||
game:
|
||||
downloading: Scaricando il gioco...
|
||||
unpacking: Decomprimendo il gioco...
|
||||
deleting_outdated: Cancellando file vecchi...
|
||||
|
||||
# Voice packages installation
|
||||
voice:
|
||||
deleting: Cancellando pacchetto voci...
|
||||
downloading: Scaricando {voice} pacchetto voci...
|
||||
unpacking: Decomprimendo {voice} pacchetto voci...
|
||||
|
||||
# Launcher states
|
||||
states:
|
||||
# When the game should be installed or updated
|
||||
installation:
|
||||
install_wine: Install Wine
|
||||
install_dxvk: Install DXVK
|
||||
install: Install
|
||||
update: Update
|
||||
|
||||
# When the game should be patched
|
||||
patching:
|
||||
# Patch unavailable
|
||||
unavailable:
|
||||
title: Patch unavailable
|
||||
hint: This game version has no anti-cheat patch.
|
||||
Please, wait a few days before there will be a test or stable version
|
||||
|
||||
# Patch is in testing
|
||||
test:
|
||||
title: Apply test patch
|
||||
hint: This game version has an experimental anti-cheat patch.
|
||||
You can wait a few days until it is stable or apply it at your own risk
|
||||
|
||||
# Patch is stable
|
||||
stable: Apply patch
|
||||
|
||||
# When the game is ready for playing
|
||||
ready:
|
||||
launch: Launch
|
||||
predownload: Pre-download update
|
||||
|
||||
# Launcher update
|
||||
update:
|
||||
title: 'Aggiornamento del launcher disponibile: {from} -> {to}'
|
||||
body: Puoi scaricare una nuova versione del launcher dalla repository del progetto {repository}
|
||||
|
||||
# Settings window
|
||||
settings:
|
||||
# General
|
||||
general:
|
||||
title: Generale
|
||||
items:
|
||||
# Language selection
|
||||
lang:
|
||||
# Launcher language
|
||||
launcher:
|
||||
title: Launcher
|
||||
items:
|
||||
en-us: English (US)
|
||||
ru-ru: Русский
|
||||
de-de: Deutsch
|
||||
fr-fr: Français
|
||||
es-es: Español
|
||||
it-it: Italiano
|
||||
uwu: Engwish
|
||||
|
||||
# Game voice pack language
|
||||
voice:
|
||||
title: Doppiaggio
|
||||
tooltip: Dovrai manualmente configurare il voice pack in gioco
|
||||
items:
|
||||
en-us: Inglese (US)
|
||||
ja-jp: Giapponese
|
||||
ko-kr: Coreano
|
||||
zn-cn: Cinese
|
||||
|
||||
# Launcher theme
|
||||
theme:
|
||||
title: Tema
|
||||
items:
|
||||
system: Sistema
|
||||
light: Chiaro
|
||||
dark: Scuro
|
||||
|
||||
# Discord RPC
|
||||
discord:
|
||||
title: Integrazione Discord
|
||||
settings:
|
||||
title: Impostazioni di integrazione con Discord
|
||||
items:
|
||||
timer: Mostra il tempo di gioco
|
||||
in-launcher: Testo nel launcher
|
||||
in-game: Testo in gioco
|
||||
|
||||
# Some buttons
|
||||
buttons:
|
||||
winetricks: winetricks
|
||||
winecfg: winecfg
|
||||
launcher: Cartella del launcher
|
||||
game: Cartella del gioco
|
||||
|
||||
# Enhancements
|
||||
enhancements:
|
||||
title: Miglioramenti
|
||||
items:
|
||||
# HUD
|
||||
hud:
|
||||
title: Interfaccia
|
||||
items:
|
||||
none: None
|
||||
dxvk: DXVK
|
||||
mangohud: MangoHUD
|
||||
|
||||
# GameMode
|
||||
gamemode:
|
||||
title: Usa GameMode
|
||||
tooltip:
|
||||
enabled: È un software che può migliorare le prestazioni in gioco
|
||||
disabled: ⚠️ Non hai il pacchetto gamemode installato
|
||||
|
||||
# AMD FSR
|
||||
fsr:
|
||||
title: Attiva AMD FSR
|
||||
tooltip: Questa opzione attiva AMD FidelityFX Super Resolution (FSR)
|
||||
che permetterà di scalare la risoluzione del gioco senza perdere FPS
|
||||
|
||||
# Unlock FPS
|
||||
fps_unlocker:
|
||||
title: Sblocca gli FPS
|
||||
tooltip: Questa opzione rimuoverà la limitazione di 60 FPS in gioco
|
||||
|
||||
# Delete DXVK logs
|
||||
purge_logs:
|
||||
# Game logs (DXVK)
|
||||
game:
|
||||
title: Cancella i log DXVK
|
||||
tooltip: Con questa opzione attiva, il launcher cancellerà automaticamente i file di log DXVK
|
||||
|
||||
# Launcher logs
|
||||
launcher:
|
||||
title: Cancella i log del launcher
|
||||
tooltip: Quantità di tempo dopo cui il launcher eliminerà i vecchi file di log
|
||||
items:
|
||||
1d: 1 giorno
|
||||
3d: 3 giorni
|
||||
5d: 5 giorni
|
||||
7d: 1 settimana
|
||||
14d: 2 settimane
|
||||
never: Mai
|
||||
|
||||
# Runners
|
||||
runners:
|
||||
title: Versione di Wine
|
||||
items:
|
||||
recommended:
|
||||
title: Mostra solo le consigliate
|
||||
tooltip: Questa opzione nasconderà le versioni di Wine non giocabili
|
||||
|
||||
# DXVKs
|
||||
dxvks:
|
||||
title: DXVK
|
||||
items:
|
||||
recommended:
|
||||
title: Mostra solo le consigliate
|
||||
tooltip: Questa opzione nasconderà le vecchie versioni di DXVK
|
||||
|
||||
# Shaders
|
||||
shaders:
|
||||
title: Shaders
|
||||
items:
|
||||
shaders:
|
||||
title: Shaders
|
||||
tooltip: Usa il bottone Home per attivare/disattivare le shaders in gioco
|
||||
items:
|
||||
none: None
|
||||
custom: Custom
|
||||
|
||||
author: 'Autore: {author}'
|
||||
no_images: Nessuna immagine aggiunta
|
||||
not_installed: Non hai installato le librerie vkBasalt e reshade-shaders
|
||||
|
||||
# Environmantal variables manager
|
||||
environment:
|
||||
title: Environment
|
||||
items:
|
||||
# Table rows
|
||||
table:
|
||||
name: Name
|
||||
value: Value
|
||||
|
||||
# Table buttons
|
||||
buttons:
|
||||
add: Add
|
||||
delete: Delete
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "インストール",
|
||||
"Update": "アップデート",
|
||||
"Launch": "打ち上げ",
|
||||
"ResumeDownload": "履歴書のダウンロード",
|
||||
"Runners": "Runners",
|
||||
"Language": "言語",
|
||||
"Voice": "ボイスパック",
|
||||
"VoiceNotification": "この機能を使用するには、ゲーム内の新しいボイスパックを手動で選択する必要があります",
|
||||
"Theme": "テーマ",
|
||||
"Light": "ライト",
|
||||
"Dark": "暗い",
|
||||
"System": "システム",
|
||||
"IsNotInstalled": "{0}がインストールされていない",
|
||||
"PreInstallationRequired": "事前インストールが必要",
|
||||
"ToggleShadersText": "ホームボタンを使用してゲーム内のシェーダを切り替えます",
|
||||
"Shaders": "シェーダ",
|
||||
"ReshadeNotInstalled": "vkBasaltとreshade-shadersライブラリをインストールしていません",
|
||||
"GameModeNotInstalled": "GameModeドがインストールされていません",
|
||||
"SwitcherooNotInstalled": "Switcheroo-controlがインストールされていません",
|
||||
"AutoDeleteDXVKLogs": "DXVKログの自動削除",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "著者",
|
||||
"NoImages": "画像は追加されていません",
|
||||
"SettingsTitle": "設定",
|
||||
"General": "一般",
|
||||
"Enhancements": "拡張機能",
|
||||
"Downloading": "ダウンロード中",
|
||||
"WineVersion": "ワインバージョン",
|
||||
"Environment": "環境",
|
||||
"EnvironmentalVariables": "環境変数",
|
||||
"Name": "名前",
|
||||
"Value": "バリュー",
|
||||
"Add": "加える",
|
||||
"Delete": "削除",
|
||||
"Statistics": "統計",
|
||||
"YouPlayedFor": "あなたはのためにプレーしてきました",
|
||||
"hours": "時間",
|
||||
"minutes": "分",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Unpacking": "開梱",
|
||||
"GameDownloaded": "ゲームのインストールに成功しました",
|
||||
"ApplyPatch": "パッチの適用...",
|
||||
"PatchRequired": "要パッチ",
|
||||
"PatchRequiredHint": "このゲームバージョンにはアンチチートパッチがありません。数日待ってから再度お試しください",
|
||||
"TestPatch": "テストパッチの適用",
|
||||
"TestPatchHint": "このゲームバージョンにはアンチチートパッチがありますが、テスト段階にあります。安定するまで数日お待ちいただくか、ご自身の責任で適用してください",
|
||||
"AnalyticsTitle": "ヤンフェイのコミッション...",
|
||||
"ParticipateInAnalytics": "匿名でのデータ収集に参加",
|
||||
"AnalyticsText1": "Linuxのアクティブユーザー数をカウントするために、YanfeiはゲームがアップデートされるたびにあなたのIPアドレスを収集したいと思います。",
|
||||
"AnalyticsText2": "IPアドレスはセキュリティのためにハッシュ化されます。",
|
||||
"AnalyticsShareCountry": "シェアカントリー",
|
||||
"Participate": "匿名でのデータ収集に参加",
|
||||
"Skip": "スキップ",
|
||||
"SkipAndDontAsk": "スキップして二度と聞かない",
|
||||
"LauncherUpdateTitle": "ランチャーのアップデートが可能 ",
|
||||
"LauncherUpdateBody": "ランチャーの新バージョンは、プロジェクトのリポジトリ({uri.launcher})からダウンロードできます。",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}のテレメトリサーバは無効になっていません!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "설치",
|
||||
"Update": "업데이트",
|
||||
"Launch": "발사",
|
||||
"ResumeDownload": "이력서 다운로드",
|
||||
"Runners": "주자",
|
||||
"Language": "언어",
|
||||
"Voice": "음성 팩",
|
||||
"VoiceNotification": "이 기능을 사용하려면 게임에서 새 음성 팩을 수동으로 선택해야합니다",
|
||||
"Theme": "테마",
|
||||
"Light": "빛",
|
||||
"Dark": "어두운",
|
||||
"System": "시스템",
|
||||
"IsNotInstalled": "{0} 설치되지 않았습니다",
|
||||
"PreInstallationRequired": "사전 설치 필요",
|
||||
"ToggleShadersText": "홈 버튼을 사용하여 게임에서 쉐이더를 전환하십시오",
|
||||
"Shaders": "쉐이더",
|
||||
"ReshadeNotInstalled": "vkBasalt 및 reshade-shaders 라이브러리를 설치하지 않았습니다",
|
||||
"GameModeNotInstalled": "GameMode 가 설치되어 있지 않습니다",
|
||||
"SwitcherooNotInstalled": "Switcheroo-control 이 설치되어 있지 않습니다",
|
||||
"AutoDeleteDXVKLogs": "DXVK 로그 자동 삭제",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "저자",
|
||||
"NoImages": "추가 된 이미지 없음",
|
||||
"SettingsTitle": "설정",
|
||||
"General": "일반",
|
||||
"Enhancements": "향상된 기능",
|
||||
"WineVersion": "와인 버전",
|
||||
"Environment": "환경",
|
||||
"EnvironmentalVariables": "환경 변수",
|
||||
"Name": "이름",
|
||||
"Value": "가치",
|
||||
"Add": "추가",
|
||||
"Delete": "삭제",
|
||||
"Statistics": "통계",
|
||||
"YouPlayedFor": "당신은 위해 연주했습니다",
|
||||
"hours": "시간",
|
||||
"minutes": "분",
|
||||
"YourLauncherLevel": "런처의 레벨",
|
||||
"Downloading": "다운로드 중",
|
||||
"Unpacking": "풀기",
|
||||
"GameDownloaded": "게임이 성공적으로 설치되었습니다",
|
||||
"ApplyPatch": "패치 적용...",
|
||||
"PatchRequired": "패치 필요",
|
||||
"PatchRequiredHint": "이 게임 버전에는 안티 치트 패치가 없습니다. 며칠 기다렸다가 다시 시도하십시오",
|
||||
"TestPatch": "테스트 패치 적용",
|
||||
"TestPatchHint": "이 게임 버전에는 안티 치트 패치가 있지만 테스트 단계에 있습니다. 안정 될 때까지 며칠을 기다리거나 자신의 위험에 따라 적용 할 수 있습니다",
|
||||
"AnalyticsTitle": "Yanfei 의위원회...",
|
||||
"ParticipateInAnalytics": "익명 데이터 수집에 참여",
|
||||
"AnalyticsText1": "리눅스에 대한 활성 사용자 기반을 계산하려면,Yanfei 는 게임 업데이트마다 IP 주소를 수집하고 싶습니다",
|
||||
"AnalyticsText2": "IP 주소는 보안 목적으로 해시됩니다",
|
||||
"AnalyticsShareCountry": "공유 국가",
|
||||
"Participate": "참여",
|
||||
"Skip": "건너 뛰기",
|
||||
"SkipAndDontAsk": "건너 뛰고 다시 묻지 마십시오",
|
||||
"LauncherUpdateTitle": "실행기 업데이트 가능: ",
|
||||
"LauncherUpdateBody": "에서 프로젝트의 저장소에서 실행기의 새 버전을 다운로드 할 수 있습니다 {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company} 의 원격 측정 서버가 비활성화되지 않음!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Install",
|
||||
"Update": "Update",
|
||||
"Launch": "Launch",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "Language",
|
||||
"Voice": "Voice Pack",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "Settings",
|
||||
"General": "General",
|
||||
"Enhancements": "Enhancements",
|
||||
"WineVersion": "Wine version",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Downloading": "Downloading",
|
||||
"Unpacking": "Unpacking",
|
||||
"GameDownloaded": "Game was successfully installed",
|
||||
"ApplyPatch": "Applying patch...",
|
||||
"PatchRequired": "Patch required",
|
||||
"PatchRequiredHint": "This game version doesn't have an anti-cheat patch. Please, wait a few days and try again",
|
||||
"TestPatch": "Apply test patch",
|
||||
"TestPatchHint": "This game version has an anti-cheat patch, but it is in the testing phase. You can wait a few days until it is stable or apply it at your own risk",
|
||||
"AnalyticsTitle": "Yanfei's commission...",
|
||||
"ParticipateInAnalytics": "Participate in anonymous data collection",
|
||||
"AnalyticsText1": "To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates",
|
||||
"AnalyticsText2": "The IP address will be hashed for security purpose",
|
||||
"AnalyticsShareCountry": "Share country",
|
||||
"Participate": "Participate",
|
||||
"Skip": "Skip",
|
||||
"SkipAndDontAsk": "Skip and don't ask again",
|
||||
"LauncherUpdateTitle": "Launcher update available: ",
|
||||
"LauncherUpdateBody": "You can download a new version of the launcher from the project's repository at {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
217
public/locales/ru-ru.yaml
Normal file
|
@ -0,0 +1,217 @@
|
|||
# Окно загрузки
|
||||
splash:
|
||||
title: Загрузка лаунчера
|
||||
phrases:
|
||||
- Делаем всякие важные штуки...
|
||||
- Издеваемся над Паймон...
|
||||
- Пытаемся получить Яэ...
|
||||
- Собираем материалы...
|
||||
- Проходим бездну...
|
||||
- Коллекционируем достижения...
|
||||
- Собираем физ чичу...
|
||||
- Делаем жертвоприношения ради 5*...
|
||||
- Ищем друзем для коопа...
|
||||
|
||||
# Окно лаунчера
|
||||
launcher:
|
||||
# Прогресс бар
|
||||
progress:
|
||||
pause: Пауза
|
||||
resume: Продолжить
|
||||
|
||||
# Установка игры
|
||||
game:
|
||||
downloading: Скачивание игры...
|
||||
unpacking: Распаковка игры...
|
||||
deleting_outdated: Удаление устаревших файлов...
|
||||
|
||||
# Установка звуковых пакетов
|
||||
voice:
|
||||
deleting: Удаление звуковых пакетов...
|
||||
downloading: Скачивание звукового пакета {voice}...
|
||||
unpacking: Распаковка звукового пакета {voice}...
|
||||
|
||||
# Launcher states
|
||||
states:
|
||||
# Когда игра должна быть установлена или обновлена
|
||||
installation:
|
||||
install_wine: Установить Wine
|
||||
install_dxvk: Установить DXVK
|
||||
install: Установить
|
||||
update: Обновить
|
||||
|
||||
# Когда игра должна быть пропатчена
|
||||
patching:
|
||||
# Патч недоступен
|
||||
unavailable:
|
||||
title: Патч недоступен
|
||||
hint: Эта версия игры не имеет патча анти-чита.
|
||||
Пожалуйста, подождите несколько дней пока не будет выпущена тестовая или стабильная версия
|
||||
|
||||
# Патч тестируется
|
||||
test:
|
||||
title: Применить тестовый патч
|
||||
hint: Эта версия игры имеет экспериментальный патч анти-чита.
|
||||
Вы можете подождать пару дней пока не выйдет стабильная версия, или применить этот патч на свой страх и риск
|
||||
|
||||
# Патч стабилен
|
||||
stable: Применить патч
|
||||
|
||||
# Когда всё готово
|
||||
ready:
|
||||
launch: Запустить
|
||||
predownload: Предзагрузить обновление
|
||||
|
||||
# Обновление лаунчера
|
||||
update:
|
||||
title: 'Доступно обновление лаунчера: {from} -> {to}'
|
||||
body: Вы можете загрузить новую версию лаунчера из репозитория проекта по ссылке {repository}
|
||||
|
||||
# Окно настроек
|
||||
settings:
|
||||
# Основное
|
||||
general:
|
||||
title: Основное
|
||||
items:
|
||||
# Выбор языка
|
||||
lang:
|
||||
# Лаунчер
|
||||
launcher:
|
||||
title: Лаунчер
|
||||
items:
|
||||
en-us: English (US)
|
||||
ru-ru: Русский
|
||||
de-de: Deutsch
|
||||
fr-fr: Français
|
||||
it-it: Italiano
|
||||
uwu: Engwish
|
||||
|
||||
# Язык озвучки в игре
|
||||
voice:
|
||||
title: Язык озвучки
|
||||
tooltip: Вам будет нужно вручную изменить язык озвучки в игре
|
||||
items:
|
||||
en-us: Английский (США)
|
||||
ja-jp: Японский
|
||||
ko-kr: Корейский
|
||||
zn-cn: Китайский
|
||||
|
||||
# Тема лаунчера
|
||||
theme:
|
||||
title: Тема
|
||||
items:
|
||||
system: Системная
|
||||
light: Светлая
|
||||
dark: Тёмная
|
||||
|
||||
# Discord RPC
|
||||
discord:
|
||||
title: Discord RPC
|
||||
settings:
|
||||
title: Настройки Discord RPC
|
||||
items:
|
||||
timer: Отображать потраченное время
|
||||
in-launcher: Текст в лаунчере
|
||||
in-game: Текст в игре
|
||||
selectIcon: Выберите иконку
|
||||
|
||||
# Some buttons
|
||||
buttons:
|
||||
winetricks: winetricks
|
||||
winecfg: winecfg
|
||||
launcher: папка лаунчера
|
||||
game: папка игры
|
||||
|
||||
# Улучшения
|
||||
enhancements:
|
||||
title: Улучшения
|
||||
items:
|
||||
# HUD
|
||||
hud:
|
||||
title: HUD
|
||||
items:
|
||||
none: Отключён
|
||||
dxvk: DXVK
|
||||
mangohud: MangoHUD
|
||||
|
||||
# GameMode
|
||||
gamemode:
|
||||
title: Использовать GameMode
|
||||
tooltip:
|
||||
enabled: Это программа, которая может улучшить производительность игры
|
||||
disabled: ⚠️ У вас не установлен пакет gamemode
|
||||
|
||||
# AMD FSR
|
||||
fsr:
|
||||
title: Включить AMD FSR
|
||||
tooltip: Эта опция включает AMD FidelityFX Super Resolution (FSR),
|
||||
который может увеличить разрешение игры без потери кадров
|
||||
|
||||
# Разблокировать FPS
|
||||
fps_unlocker:
|
||||
title: Разблокировать FPS
|
||||
tooltip: Эта опция позволит разблокировать лимит на отрисовку не более чем 60 кадров в секунду
|
||||
|
||||
# Удалять логи
|
||||
purge_logs:
|
||||
# Игры (DXVK)
|
||||
game:
|
||||
title: Удалять логи DXVK
|
||||
tooltip: Если включено, лаунчер будет автоматически удалять логи DXVK
|
||||
|
||||
# Лаунчера
|
||||
launcher:
|
||||
title: Удалять логи лаунчера
|
||||
tooltip: Время, после которого удалять старые логи лаунчера
|
||||
items:
|
||||
1d: 1 день
|
||||
3d: 3 дня
|
||||
5d: 5 дней
|
||||
7d: 1 неделя
|
||||
14d: 2 недели
|
||||
never: Никогда
|
||||
|
||||
# Версии Wine
|
||||
runners:
|
||||
title: Версия Wine
|
||||
items:
|
||||
recommended:
|
||||
title: Показывать только рекомендуемое
|
||||
tooltip: Эта опция будет скрывать неиграбельные версии Wine
|
||||
|
||||
# DXVK
|
||||
dxvks:
|
||||
title: DXVK
|
||||
items:
|
||||
recommended:
|
||||
title: Показывать только рекомендуемое
|
||||
tooltip: Эта опция будет скрывать устаревшие версии DXVK
|
||||
|
||||
# Шейдеры
|
||||
shaders:
|
||||
title: Шейдеры
|
||||
items:
|
||||
shaders:
|
||||
title: Шейдеры
|
||||
tooltip: Используйте кнопку Home чтобы переключать шейдеры в игре
|
||||
items:
|
||||
none: Отключены
|
||||
custom: Кастомные
|
||||
|
||||
author: 'Автор: {author}'
|
||||
no_images: Нет добавленных изображений
|
||||
not_installed: У вас не установлены пакеты vkBasalt и reshade-shaders
|
||||
|
||||
# Менеджер переменных среды
|
||||
environment:
|
||||
title: Переменные среды
|
||||
items:
|
||||
# Столбцы таблицы
|
||||
table:
|
||||
name: Имя
|
||||
value: Значение
|
||||
|
||||
# Кнопки таблицы
|
||||
buttons:
|
||||
add: Добавить
|
||||
delete: Удалить
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Установить",
|
||||
"Update": "Обновить",
|
||||
"Launch": "Запустить",
|
||||
"ResumeDownload": "Продолжить загрузку",
|
||||
"Runners": "Версии Wine",
|
||||
"Language": "Язык",
|
||||
"Voice": "Озвучка",
|
||||
"VoiceNotification": "Эта настройка требует ручного переключения языка озвучки в настройках игры",
|
||||
"Theme": "Тема",
|
||||
"Light": "Светлая",
|
||||
"Dark": "Тёмная",
|
||||
"System": "Системная",
|
||||
"IsNotInstalled": "{0} не установлен",
|
||||
"PreInstallationRequired": "требуется предустановка",
|
||||
"ToggleShadersText": "Используйте кнопку Home для переключения шейдеров в игре",
|
||||
"Shaders": "Шейдеры",
|
||||
"ReshadeNotInstalled": "Вы не установили vkBasalt и библиотеку reshade-shaders",
|
||||
"GameModeNotInstalled": "Вы не установили GameMode",
|
||||
"SwitcherooNotInstalled": "Вы не установили switcheroo-control",
|
||||
"AutoDeleteDXVKLogs": "Автоудаление логов DXVK",
|
||||
"RecommendableOnly": "Отображать только рекомендуемые",
|
||||
"LauncherFolder": "Папка лаунчера",
|
||||
"Prefix": "Префикс",
|
||||
"SelectDir": "Выбрать папку",
|
||||
"ResetDir": "Восстановить по умолчанию",
|
||||
"Author": "Автор",
|
||||
"NoImages": "Изображения не добавлены",
|
||||
"SettingsTitle": "Настройки",
|
||||
"General": "Общее",
|
||||
"Enhancements": "Улучшения",
|
||||
"WineVersion": "Версии Wine",
|
||||
"Environment": "Окружение",
|
||||
"EnvironmentalVariables": "Переменные окружения",
|
||||
"Name": "Название",
|
||||
"Value": "Значение",
|
||||
"Add": "Добавить",
|
||||
"Delete": "Удалить",
|
||||
"Statistics": "Статистика",
|
||||
"YouPlayedFor": "Вы играли",
|
||||
"hours": "часов",
|
||||
"minutes": "минут",
|
||||
"YourLauncherLevel": "Уровень вашего лаунчера",
|
||||
"Downloading": "Загрузка",
|
||||
"Unpacking": "Распаковка",
|
||||
"GameDownloaded": "Игра была успешно установлена",
|
||||
"ApplyPatch": "Применение патча...",
|
||||
"PatchRequired": "Необходим патч",
|
||||
"PatchRequiredHint": "Эта версия игры не имеет патча античита. Пожалуйста, подождите несколько дней и попробуйте снова",
|
||||
"TestPatch": "Применить тестовый патч",
|
||||
"TestPatchHint": "Эта версия игры имеет лишь тестовый патч античита. Вы можете подождать пару дней до того, как он станет стабильным, либо применить его на свой страх и риск",
|
||||
"AnalyticsTitle": "Просьба Янь Фэй...",
|
||||
"ParticipateInAnalytics": "Примите участие в анонимном сборе данных",
|
||||
"AnalyticsText1": "Чтобы посчитать число активных игроков на Linux, Янь Фэй просит их поделиться IP адресом после каждого обновления игры",
|
||||
"AnalyticsText2": "IP адрес будет хэширован для обеспечения его безопасности",
|
||||
"AnalyticsShareCountry": "Поделиться названием страны",
|
||||
"Participate": "Участвовать",
|
||||
"Skip": "Пропустить",
|
||||
"SkipAndDontAsk": "Пропустить и не спрашивать",
|
||||
"LauncherUpdateTitle": "Доступно обновление лаунчера: ",
|
||||
"LauncherUpdateBody": "Вы можете скачать новую версию лаунчера с репозитория проекта: {uri.launcher}",
|
||||
"TelemetryNotDisabled": "Серверы сбора телеметрии {placeholders.uppercase.company} не отключены!",
|
||||
"PatchRepoUnavailableTitle": "Репозиторий патча недоступен",
|
||||
"PatchRepoUnavailableBody": "Скорее всего notabug находится под атакой и не отвечает",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Install",
|
||||
"Update": "Update",
|
||||
"Launch": "Launch",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "Language",
|
||||
"Voice": "Voice Pack",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "Settings",
|
||||
"General": "General",
|
||||
"Enhancements": "Enhancements",
|
||||
"WineVersion": "Wine version",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Downloading": "Downloading",
|
||||
"Unpacking": "Unpacking",
|
||||
"GameDownloaded": "Game was successfully installed",
|
||||
"ApplyPatch": "Applying patch...",
|
||||
"PatchRequired": "Patch required",
|
||||
"PatchRequiredHint": "This game version doesn't have an anti-cheat patch. Please, wait a few days and try again",
|
||||
"TestPatch": "Apply test patch",
|
||||
"TestPatchHint": "This game version has an anti-cheat patch, but it is in the testing phase. You can wait a few days until it is stable or apply it at your own risk",
|
||||
"AnalyticsTitle": "Yanfei's commission...",
|
||||
"ParticipateInAnalytics": "Participate in anonymous data collection",
|
||||
"AnalyticsText1": "To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates",
|
||||
"AnalyticsText2": "The IP address will be hashed for security purpose",
|
||||
"AnalyticsShareCountry": "Share country",
|
||||
"Participate": "Participate",
|
||||
"Skip": "Skip",
|
||||
"SkipAndDontAsk": "Skip and don't ask again",
|
||||
"LauncherUpdateTitle": "Launcher update available: ",
|
||||
"LauncherUpdateBody": "You can download a new version of the launcher from the project's repository at {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
217
public/locales/uwu.yaml
Normal file
|
@ -0,0 +1,217 @@
|
|||
# Splash window
|
||||
splash:
|
||||
title: woading waunchew
|
||||
phrases:
|
||||
- d-doing some i-impowtant s-stuff.. (≧◡≦)
|
||||
- buwwying p-paimon.. xD
|
||||
- p-puwwing fow yae.. (o^▽^o)
|
||||
- fawming matewiaws.. uguu..
|
||||
- passing abyss.. (o^▽^o)
|
||||
- cowwecting achievements...
|
||||
- buiwding phys qiqi.. (* ^ ω ^)
|
||||
- making sacwifices fow 5*...
|
||||
- finding fwiends fow co-op.. (≧◡≦)
|
||||
|
||||
# Launcher window
|
||||
launcher:
|
||||
# Progress bar
|
||||
progress:
|
||||
pause: pause
|
||||
resume: wesume
|
||||
|
||||
# Game installation
|
||||
game:
|
||||
downloading: downwoading game... -.-
|
||||
unpacking: unpacking g-game (o^▽^o)
|
||||
deleting_outdated: deweting outdated fiwes...
|
||||
|
||||
# Voice packages installation
|
||||
voice:
|
||||
deleting: deweting voice packages...
|
||||
downloading: downwoading {voice} voice package...
|
||||
unpacking: u-unpacking {voice} voice package...
|
||||
|
||||
# Launcher states
|
||||
states:
|
||||
# When the game should be installed or updated
|
||||
installation:
|
||||
install_wine: install wine (^O^)
|
||||
install_dxvk: install DXVK (◕ ω ◕✿)
|
||||
install: install
|
||||
update: u-update (/≧ ω\)
|
||||
|
||||
# When the game should be patched
|
||||
patching:
|
||||
# Patch unavailable
|
||||
unavailable:
|
||||
title: patch unavaiwable
|
||||
hint: this game vewsion has no anti-cheat patch.
|
||||
pwease, w-wait a few days b-before there will b-be a t-test ow s-stable vewsion (⁄⁄>⁄▽⁄<⁄⁄)
|
||||
|
||||
# Patch is in testing
|
||||
test:
|
||||
title: appwy test patch
|
||||
hint: t-this game vewsion has an expewimentaw anti-cheat p-patch.
|
||||
you can wait a few days untiw i-it is stable ow appwy it at youw own w-wisk
|
||||
|
||||
# Patch is stable
|
||||
stable: appwy patch
|
||||
|
||||
# When the game is ready for playing
|
||||
ready:
|
||||
launch: launch (◕▿◕✿)
|
||||
predownload: pwe-downwoad update
|
||||
|
||||
# Launcher update
|
||||
update:
|
||||
title: 'waunchew update avaiwable: {from} -> {to}'
|
||||
body: you can downwoad the new vewsion of the waunchew fwom the pwoject's wepositowy at {repository}
|
||||
|
||||
# Settings window
|
||||
settings:
|
||||
# General
|
||||
general:
|
||||
title: genewaw
|
||||
items:
|
||||
# Language selection
|
||||
lang:
|
||||
# Launcher language
|
||||
launcher:
|
||||
title: waunchew
|
||||
items:
|
||||
en-us: English (US)
|
||||
ru-ru: Русский
|
||||
de-de: Deutsch
|
||||
fr-fr: Français
|
||||
it-it: Italiano
|
||||
uwu: Engwish
|
||||
|
||||
# Game voice pack language
|
||||
voice:
|
||||
title: voice pack
|
||||
tooltip: you will have to manuawwy sewect the new voice pack in the game
|
||||
items:
|
||||
en-us: engwish (us)
|
||||
ja-jp: japanese
|
||||
ko-kr: kowean
|
||||
zn-cn: chinese
|
||||
|
||||
# Launcher theme
|
||||
theme:
|
||||
title: theme
|
||||
items:
|
||||
system: system
|
||||
light: wight
|
||||
dark: dawk
|
||||
|
||||
# Discord RPC
|
||||
discord:
|
||||
title: discowd wpc
|
||||
settings:
|
||||
title: discowd wpc s-settings
|
||||
items:
|
||||
timer: show e-estimated time spent
|
||||
in-launcher: waunchew text
|
||||
in-game: In-game text
|
||||
selectIcon: s-sewect icon
|
||||
|
||||
# Some buttons
|
||||
buttons:
|
||||
winetricks: winetwicks
|
||||
winecfg: winecfg
|
||||
launcher: waunchew f-fowdew
|
||||
game: game f-fowdew
|
||||
|
||||
# Enhancements
|
||||
enhancements:
|
||||
title: enhancements
|
||||
items:
|
||||
# HUD
|
||||
hud:
|
||||
title: h-hud
|
||||
items:
|
||||
none: n-none
|
||||
dxvk: DXVK
|
||||
mangohud: MangoHUD
|
||||
|
||||
# GameMode
|
||||
gamemode:
|
||||
title: use G-GameMode
|
||||
tooltip:
|
||||
enabled: it i-is a software t-that can impwove the game pewfowmance
|
||||
disabled: ⚠️ you don't h-have g-gamemode package instawwed
|
||||
|
||||
# AMD FSR
|
||||
fsr:
|
||||
title: enable amd fsw
|
||||
tooltip: this option enables a-amd fidewityfx s-super wesowution (fsw) which will scale youw game wesowution without wosing fps
|
||||
|
||||
# Unlock FPS
|
||||
fps_unlocker:
|
||||
title: unwock FPS
|
||||
tooltip: this option w-will unwock 60 f-fps w-wimitation o-of the game
|
||||
|
||||
# Delete logs
|
||||
purge_logs:
|
||||
# Game logs (DXVK)
|
||||
game:
|
||||
title: dewete DXVK wogs
|
||||
tooltip: with this option enabwed youw waunchew will a-automaticawwy
|
||||
dewete dxvk wog f-files
|
||||
|
||||
# Launcher logs
|
||||
launcher:
|
||||
title: dewete w-waunchew wogs
|
||||
tooltip: amount of time after which waunchew will dewete i-it's owd wog files
|
||||
items:
|
||||
1d: 1 day
|
||||
3d: 3 days
|
||||
5d: 5 days
|
||||
7d: 1 week
|
||||
14d: 2 weeks
|
||||
never: Never
|
||||
|
||||
# Runners
|
||||
runners:
|
||||
title: wine vewsion
|
||||
items:
|
||||
recommended:
|
||||
title: show wecommended onwy
|
||||
tooltip: this option will hide unpwayable wine vewsions
|
||||
|
||||
# DXVKs
|
||||
dxvks:
|
||||
title: DXVK
|
||||
items:
|
||||
recommended:
|
||||
title: show wecommended onwy
|
||||
tooltip: this option w-will hide owd dxvk vewsions
|
||||
|
||||
# Shaders
|
||||
shaders:
|
||||
title: s-shaders
|
||||
items:
|
||||
shaders:
|
||||
title: s-shaders
|
||||
tooltip: use home button t-to toggle shaders i-in the game
|
||||
items:
|
||||
none: n-none
|
||||
custom: custom
|
||||
|
||||
author: 'a-authow: {author}'
|
||||
no_images: no images avaiwable
|
||||
not_installed: you haven't instawwed vkbasawt and weshade-shaders wibwawy
|
||||
|
||||
# Environmantal variables manager
|
||||
environment:
|
||||
title: enviwonment
|
||||
items:
|
||||
# Table rows
|
||||
table:
|
||||
name: name
|
||||
value: vawue
|
||||
|
||||
# Table buttons
|
||||
buttons:
|
||||
add: add
|
||||
delete: dewete
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "Install",
|
||||
"Update": "Update",
|
||||
"Launch": "Launch",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "Language",
|
||||
"Voice": "Voice Pack",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "Settings",
|
||||
"General": "General",
|
||||
"Enhancements": "Enhancements",
|
||||
"WineVersion": "Wine version",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Downloading": "Downloading",
|
||||
"Unpacking": "Unpacking",
|
||||
"GameDownloaded": "Game was successfully installed",
|
||||
"ApplyPatch": "Applying patch...",
|
||||
"PatchRequired": "Patch required",
|
||||
"PatchRequiredHint": "This game version doesn't have an anti-cheat patch. Please, wait a few days and try again",
|
||||
"TestPatch": "Apply test patch",
|
||||
"TestPatchHint": "This game version has an anti-cheat patch, but it is in the testing phase. You can wait a few days until it is stable or apply it at your own risk",
|
||||
"AnalyticsTitle": "Yanfei's commission...",
|
||||
"ParticipateInAnalytics": "Participate in anonymous data collection",
|
||||
"AnalyticsText1": "To count the active user base for Linux, Yanfei would like to collect your IP address everytime the game updates",
|
||||
"AnalyticsText2": "The IP address will be hashed for security purpose",
|
||||
"AnalyticsShareCountry": "Share country",
|
||||
"Participate": "Participate",
|
||||
"Skip": "Skip",
|
||||
"SkipAndDontAsk": "Skip and don't ask again",
|
||||
"LauncherUpdateTitle": "Launcher update available: ",
|
||||
"LauncherUpdateBody": "You can download a new version of the launcher from the project's repository at {uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "安装",
|
||||
"Update": "更新",
|
||||
"Launch": "发射",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "Runners",
|
||||
"Language": "语言",
|
||||
"Voice": "语音包",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "设置",
|
||||
"General": "一般的",
|
||||
"Enhancements": "Enhancements",
|
||||
"Downloading": "下载",
|
||||
"WineVersion": "葡萄酒版",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Unpacking": "开箱",
|
||||
"GameDownloaded": "游戏安装成功",
|
||||
"ApplyPatch": "应用补丁...",
|
||||
"PatchRequired": "需要补丁",
|
||||
"PatchRequiredHint": "此游戏版本没有防作弊补丁。请等待几天,然后重试",
|
||||
"TestPatch": "应用测试补丁",
|
||||
"TestPatchHint": "此游戏版本有防作弊补丁,但处于测试阶段。您可以等待几天直到它稳定或自担风险应用它",
|
||||
"AnalyticsTitle": "燕飞的委托...",
|
||||
"ParticipateInAnalytics": "参与匿名数据收集",
|
||||
"AnalyticsText1": "为了统计Linux的活跃用户群,燕飞想在每次游戏更新时收集你的IP地址。",
|
||||
"AnalyticsText2": "为安全起见,该IP地址将被加密。",
|
||||
"AnalyticsShareCountry": "分享国家",
|
||||
"Participate": "参与",
|
||||
"Skip": "省略",
|
||||
"SkipAndDontAsk": "跳过,不要再问",
|
||||
"LauncherUpdateTitle": "启动器更新可用:",
|
||||
"LauncherUpdateBody": "你可以从项目的资源库中下载新版本的启动器,网址是:{uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"Install": "安裝",
|
||||
"Update": "更新",
|
||||
"Launch": "啟動遊戲",
|
||||
"ResumeDownload": "Resume Download",
|
||||
"Runners": "執行器",
|
||||
"Language": "界面語言",
|
||||
"Voice": "語音包",
|
||||
"VoiceNotification": "This feature requires you to manually select the new voice pack in the game",
|
||||
"Theme": "Theme",
|
||||
"Light": "Light",
|
||||
"Dark": "Dark",
|
||||
"System": "System",
|
||||
"IsNotInstalled": "{0} is not installed",
|
||||
"PreInstallationRequired": "pre-installation required",
|
||||
"ToggleShadersText": "Use Home button to toggle shaders in the game",
|
||||
"Shaders": "Shaders",
|
||||
"ReshadeNotInstalled": "You haven't installed vkBasalt and reshade-shaders library",
|
||||
"GameModeNotInstalled": "You don't have GameMode installed",
|
||||
"SwitcherooNotInstalled": "You don't have switcheroo-control installed",
|
||||
"AutoDeleteDXVKLogs": "Auto-delete DXVK logs",
|
||||
"RecommendableOnly": "Show recommendable versions",
|
||||
"LauncherFolder": "launcher folder",
|
||||
"Prefix": "Prefix",
|
||||
"SelectDir": "Select dir",
|
||||
"ResetDir": "Reset dir",
|
||||
"Author": "Author",
|
||||
"NoImages": "No images added",
|
||||
"SettingsTitle": "設定",
|
||||
"General": "一般設定",
|
||||
"Enhancements": "Enhancements",
|
||||
"Downloading": "下載",
|
||||
"WineVersion": "Wine 版本",
|
||||
"Environment": "Environment",
|
||||
"EnvironmentalVariables": "Environmental variables",
|
||||
"Name": "Name",
|
||||
"Value": "Value",
|
||||
"Add": "Add",
|
||||
"Delete": "Delete",
|
||||
"Statistics": "Statistics",
|
||||
"YouPlayedFor": "You've played for",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"YourLauncherLevel": "Your launcher's level",
|
||||
"Unpacking": "解壓縮中...",
|
||||
"GameDownloaded": "遊戲安裝成功",
|
||||
"ApplyPatch": "套用補丁...",
|
||||
"PatchRequired": "需要補丁",
|
||||
"PatchRequiredHint": "此遊戲版本沒有防作弊補丁。請等待幾天後再重試。",
|
||||
"TestPatch": "套用測試補丁",
|
||||
"TestPatchHint": "該遊戲版本有一個防作弊補丁,但處於測試階段,較不穩定。",
|
||||
"AnalyticsTitle": "Yanfei 數據收集",
|
||||
"ParticipateInAnalytics": "參與匿名數據收集",
|
||||
"AnalyticsText1": "為了統計Linux活躍使用者,Yanfei想在每次遊戲更新時收集您的IP位置。",
|
||||
"AnalyticsText2": "為安全起見,該IP位置將被加密。",
|
||||
"AnalyticsShareCountry": "分享國家或地區",
|
||||
"Participate": "參與",
|
||||
"Skip": "跳過",
|
||||
"SkipAndDontAsk": "跳過,不要再詢問我",
|
||||
"LauncherUpdateTitle": "啟動器有新的更新可用:",
|
||||
"LauncherUpdateBody": "您可以從此專案的資源庫中下載新版本的啟動器,網址是:{uri.launcher}",
|
||||
"TelemetryNotDisabled": "{placeholders.uppercase.company}'s telemetry servers don't disabled!",
|
||||
"PatchRepoUnavailableTitle": "Patch's repository is not available",
|
||||
"PatchRepoUnavailableBody": "Most likely notabug is under attack and is not responding",
|
||||
"DRPConf": "Discord RPC"
|
||||
}
|
|
@ -1,138 +1,227 @@
|
|||
[
|
||||
{
|
||||
"title": "Wine-GE",
|
||||
"runners": [
|
||||
{
|
||||
"family": "Wine-GE",
|
||||
"name": "lutris-ge-6.21-1-x86_64",
|
||||
"title": "Wine 6.21 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/6.21-GE-1/wine-lutris-ge-6.21-1-x86_64.tar.xz",
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"family": "Wine-GE",
|
||||
"name": "lutris-ge-6.20-1-x86_64",
|
||||
"title": "Wine 6.20 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/6.20-GE-1/wine-lutris-ge-6.20-1-x86_64.tar.xz",
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Wine-GE",
|
||||
"name": "lutris-ge-6.19-1-x86_64",
|
||||
"title": "Wine 6.19 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/6.19-GE-1/wine-lutris-ge-6.19-1-x86_64.tar.xz",
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Wine-GE",
|
||||
"name": "lutris-ge-6.18-1-x86_64",
|
||||
"title": "Wine 6.18 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/6.18-GE-1/wine-lutris-ge-6.18-1-x86_64.tar.xz",
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Wine-GE",
|
||||
"name": "lutris-ge-6.16-1-x86_64",
|
||||
"title": "Wine 6.16 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/6.16-GE-1/lutris-ge-6.16-1-x86_64.tar.xz",
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Lutris",
|
||||
"runners": [
|
||||
{
|
||||
"name": "Lutris 6.21-5",
|
||||
"version": "6.21-5",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.21-6-x86_64",
|
||||
"title": "Lutris 6.21-6",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.21-6/wine-lutris-6.21-6-x86_64.tar.xz",
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.21-5-x86_64",
|
||||
"title": "Lutris 6.21-5",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.21-5/wine-lutris-6.21-5-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.21-5-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.21-4",
|
||||
"version": "6.21-4",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.21-4-x86_64",
|
||||
"title": "Lutris 6.21-4",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.21-4/wine-lutris-6.21-4-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.21-4-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.21-3",
|
||||
"version": "6.21-3",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.21-3-x86_64",
|
||||
"title": "Lutris 6.21-3",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.21-3/wine-lutris-6.21-3-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.21-3-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.21-2",
|
||||
"version": "6.21-2",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.21-2-x86_64",
|
||||
"title": "Lutris 6.21-2",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.21-2/wine-lutris-6.21-2-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.21-2-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.21",
|
||||
"version": "6.21",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.21-x86_64",
|
||||
"title": "Lutris 6.21",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.21/wine-lutris-6.21-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.21-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.14-4",
|
||||
"version": "6.14-4",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.14-4-x86_64",
|
||||
"title": "Lutris 6.14-4",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.14-4/wine-lutris-6.14-4-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.14-4-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": true
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.14-3",
|
||||
"version": "6.14-3",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.14-3-x86_64",
|
||||
"title": "Lutris 6.14-3",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.14-3/wine-lutris-6.14-3-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.14-3-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": true
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.14-2",
|
||||
"version": "6.14-2",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.14-2-x86_64",
|
||||
"title": "Lutris 6.14-2",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.14-2/wine-lutris-6.14-2-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.14-2-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": true
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.14",
|
||||
"version": "6.14",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.14-x86_64",
|
||||
"title": "Lutris 6.14",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.14/wine-lutris-6.14-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.14-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": true
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.13-3",
|
||||
"version": "6.13-3",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.13-3-x86_64",
|
||||
"title": "Lutris 6.13-3",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.13-3/wine-lutris-6.13-3-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.13-3-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.13-2",
|
||||
"version": "6.13-2",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.13-2-x86_64",
|
||||
"title": "Lutris 6.13-2",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.13-2/wine-lutris-6.13-2-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.13-2-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
},
|
||||
{
|
||||
"name": "Lutris 6.13",
|
||||
"version": "6.13",
|
||||
"family": "Lutris",
|
||||
"name": "lutris-6.13-x86_64",
|
||||
"title": "Lutris 6.13",
|
||||
"uri": "https://github.com/lutris/wine/releases/download/lutris-6.13/wine-lutris-6.13-x86_64.tar.xz",
|
||||
"archive": "tar",
|
||||
"folder": "lutris-6.13-x86_64",
|
||||
"makeFolder": false,
|
||||
"executable": "bin/wine64",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "bin/wine64",
|
||||
"wineserver": "bin/wineserver",
|
||||
"winecfg": "lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -140,137 +229,89 @@
|
|||
"title": "Proton-GE",
|
||||
"runners": [
|
||||
{
|
||||
"family": "Proton-GE",
|
||||
"name": "Proton-6.21-GE-2",
|
||||
"version": "6.21-GE-2",
|
||||
"title": "Proton 6.21 GE 2",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.21-GE-2/Proton-6.21-GE-2.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.21-GE-2",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "files/bin/wine64",
|
||||
"wineserver": "files/bin/wineserver",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Proton-GE",
|
||||
"name": "Proton-6.20-GE-1",
|
||||
"version": "6.20-GE-1",
|
||||
"title": "Proton 6.20 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.20-GE-1/Proton-6.20-GE-1.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.20-GE-1",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": true
|
||||
"files": {
|
||||
"wine": "files/bin/wine64",
|
||||
"wineserver": "files/bin/wineserver",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Proton-GE",
|
||||
"name": "Proton-6.19-GE-2",
|
||||
"version": "6.19-GE-2",
|
||||
"title": "Proton 6.19 GE 2",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.19-GE-2/Proton-6.19-GE-2.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.19-GE-2",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "files/bin/wine64",
|
||||
"wineserver": "files/bin/wineserver",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Proton-GE",
|
||||
"name": "Proton-6.19-GE-1",
|
||||
"version": "6.19-GE-1",
|
||||
"title": "Proton 6.19 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.19-GE-1/Proton-6.19-GE-1.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.19-GE-1",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "files/bin/wine64",
|
||||
"wineserver": "files/bin/wineserver",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Proton-GE",
|
||||
"name": "Proton-6.18-GE-2",
|
||||
"version": "6.18-GE-2",
|
||||
"title": "Proton 6.18 GE 2",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.18-GE-2/Proton-6.18-GE-2.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.18-GE-2",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "files/bin/wine64",
|
||||
"wineserver": "files/bin/wineserver",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Proton-GE",
|
||||
"name": "Proton-6.18-GE-1",
|
||||
"version": "6.18-GE-1",
|
||||
"title": "Proton 6.18 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.18-GE-1/Proton-6.18-GE-1.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.18-GE-1",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
"files": {
|
||||
"wine": "files/bin/wine64",
|
||||
"wineserver": "files/bin/wineserver",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"family": "Proton-GE",
|
||||
"name": "Proton-6.16-GE-1",
|
||||
"version": "6.16-GE-1",
|
||||
"title": "Proton 6.16 GE 1",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.16-GE-1/Proton-6.16-GE-1.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.16-GE-1",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
},
|
||||
{
|
||||
"name": "Proton-6.15-GE-2",
|
||||
"version": "6.15-GE-2",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.15-GE-2/Proton-6.15-GE-2.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.15-GE-2",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
},
|
||||
{
|
||||
"name": "Proton-6.15-GE-1",
|
||||
"version": "6.15-GE-1",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.15-GE-1/Proton-6.15-GE-1.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.15-GE-1",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
},
|
||||
{
|
||||
"name": "Proton-6.14-GE-2",
|
||||
"version": "6.14-GE-2",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.14-GE-2/Proton-6.14-GE-2.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.14-GE-2",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
},
|
||||
{
|
||||
"name": "Proton-6.14-GE-1",
|
||||
"version": "6.14-GE-1",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.14-GE-1/Proton-6.14-GE-1.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-6.14-GE-1",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": false
|
||||
},
|
||||
{
|
||||
"name": "Proton-5.21-GE-1",
|
||||
"version": "5.21-GE-1",
|
||||
"uri": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/5.21-GE-1/Proton-5.21-GE-1.tar.gz",
|
||||
"archive": "tar",
|
||||
"folder": "Proton-5.21-GE-1",
|
||||
"makeFolder": false,
|
||||
"executable": "files/bin/wine64",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe",
|
||||
"recommendable": true
|
||||
"files": {
|
||||
"wine": "files/bin/wine64",
|
||||
"wineserver": "files/bin/wineserver",
|
||||
"winecfg": "files/lib64/wine/x86_64-windows/winecfg.exe"
|
||||
},
|
||||
"recommended": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
|
|
Before Width: | Height: | Size: 2.7 MiB |
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "Prime Preset v2",
|
||||
"author": "notahuman",
|
||||
"uri": "https://notabug.org/Krock/GI-on-Linux/issues/200",
|
||||
"images": [
|
||||
{
|
||||
"file": "preview.png",
|
||||
"caption": {
|
||||
"en": "Characters' faces",
|
||||
"en-us": "Characters' faces",
|
||||
"de": "Gesichter der Charaktere",
|
||||
"ja": "キャラクターの顔",
|
||||
"ko": "캐릭터의 얼굴",
|
||||
"ru": "Лица персонажей"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
11
public/shaders/notahuman/shaders.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
name: Prime Preset v3
|
||||
author: notahuman
|
||||
uri: https://notabug.org/notahuman/presets/raw/master/Resin-Impact/vkBasalt.conf
|
||||
images:
|
||||
- file: preview.png
|
||||
caption:
|
||||
en-us: Character's faces
|
||||
de-de: Gesichter der Charaktere
|
||||
ja-jp: キャラクターの顔
|
||||
ko-kr: 캐릭터의 얼굴
|
||||
ru-ru: Лица персонажей
|
|
@ -1,37 +1,40 @@
|
|||
# Prime Preset v2 by notahuman
|
||||
# Prime Preset v3 by notahuman
|
||||
# https://notabug.org/notahuman/presets
|
||||
# Hotkey: Home
|
||||
|
||||
|
||||
effects = clarity:fakeHDR:sharp
|
||||
effects = FakeHDR:Clarity:AdaptiveSharpen
|
||||
|
||||
reshadeTexturePath = "/usr/share/reshade/textures"
|
||||
reshadeIncludePath = "/usr/share/reshade/shaders"
|
||||
|
||||
## FakeHDR ##
|
||||
HDRPower=1.39841
|
||||
radius1=0.85213
|
||||
radius2=0.88853
|
||||
|
||||
## AdaptiveSharpen ##
|
||||
curve_height=0.37657
|
||||
L_compr_low=0.24841
|
||||
L_compr_high=0.43627
|
||||
D_compr_low=1.301
|
||||
D_compr_high=0.3203
|
||||
# Setting HDRPower higher makes dark things darker.
|
||||
HDRPower=1.22039
|
||||
# The difference between radius1 and radius2 decides the peak brightness.
|
||||
# Setting radius2 higher than radius1 makes bright things brighter.
|
||||
radius1=0.98731
|
||||
radius2=1.00693
|
||||
|
||||
## Clarity ##
|
||||
ClarityRadius=4
|
||||
ClarityOffset=8.0
|
||||
ClarityBlendMode=0
|
||||
ClarityBlendIfDark=60
|
||||
ClarityBlendIfLight=137
|
||||
ClarityStrength=0.42023
|
||||
ClarityDarkIntensity=0.6101
|
||||
ClarityLightIntensity=5.2453
|
||||
ClarityRadius=2
|
||||
ClarityOffset=0.7
|
||||
ClarityBlendMode=2
|
||||
ClarityBlendIfDark=59
|
||||
ClarityBlendIfLight=157
|
||||
ClarityStrength=0.60449
|
||||
ClarityDarkIntensity=0.5
|
||||
ClarityLightIntensity=0.2
|
||||
|
||||
sharp = /usr/share/reshade/shaders/AdaptiveSharpen.fx
|
||||
clarity = /usr/share/reshade/shaders/Clarity.fx
|
||||
fakeHDR = /usr/share/reshade/shaders/FakeHDR.fx
|
||||
## AdaptiveSharpen ##
|
||||
curve_height=0.52501
|
||||
L_compr_low=0.17477
|
||||
L_compr_high=0.43627
|
||||
D_compr_low=0.60133
|
||||
D_compr_high=0.10459
|
||||
|
||||
FakeHDR = /usr/share/reshade/shaders/FakeHDR.fx
|
||||
Clarity = /usr/share/reshade/shaders/Clarity.fx
|
||||
AdaptiveSharpen = /usr/share/reshade/shaders/AdaptiveSharpen.fx
|
||||
|
||||
depthCapture = off
|
||||
toggleKey = Home
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"name": "Basic sharpening preset",
|
||||
"author": "yagocl",
|
||||
"uri": null,
|
||||
"images": []
|
||||
}
|
2
public/shaders/yagocl/shaders.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
name: Basic sharpening preset
|
||||
author: yagocl
|
|
@ -1,18 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<!-- CSS styles -->
|
||||
<link rel="stylesheet" href="../css/settings.css">
|
||||
|
||||
<title>An Anime Game Launcher</title>
|
||||
</head>
|
||||
|
||||
<body theme="dark" style="text-align: center;">
|
||||
<video src="./loading.webm" style="padding-top: 15%; padding-left: 5%;" width="60%" height="60%" loop muted autoplay></video>
|
||||
<h4 style="color: white; padding-top: 6%;">Starting Launcher...</h4>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 438 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 69 KiB |
BIN
repository-pics/logos/2.2.0-2.jpg
Normal file
After Width: | Height: | Size: 103 KiB |
BIN
repository-pics/logos/2.3.0-1.jpg
Normal file
After Width: | Height: | Size: 157 KiB |
BIN
repository-pics/logos/2.3.0-2.jpg
Normal file
After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 70 KiB |
46
scripts/bundle-appimage.cjs
Normal file
|
@ -0,0 +1,46 @@
|
|||
const path = require('path');
|
||||
|
||||
// Require bundler
|
||||
const { Bundler } = require('neutralino-appimage-bundler');
|
||||
|
||||
// Create an object with some params
|
||||
const bundler = new Bundler({
|
||||
// .desktop file properties
|
||||
desktop: {
|
||||
// Name field
|
||||
name: 'An Anime Game Launcher',
|
||||
|
||||
// Path to the icon
|
||||
icon: path.join(__dirname, '../public/icons/64x64.png'),
|
||||
|
||||
// Categories (defult is Utilities)
|
||||
categories: ['Game']
|
||||
},
|
||||
|
||||
// Neutralino binary info
|
||||
binary: {
|
||||
// Name of the binary (cli.binaryName)
|
||||
name: 'an-anime-game-launcher',
|
||||
|
||||
// Dist folder path
|
||||
dist: path.join(__dirname, '../dist')
|
||||
},
|
||||
|
||||
// Should AppImage contain Neutralino's dependencies or not
|
||||
// If true, then AppImage will contain binary's shared libraries
|
||||
includeLibraries: false,
|
||||
|
||||
// Some files or folders to copy inside of the the AppImage
|
||||
copy: {
|
||||
'public': path.join(__dirname, '../dist/an-anime-game-launcher/public')
|
||||
},
|
||||
|
||||
// Path to the appimage to save
|
||||
output: path.join(__dirname, '../dist/An Anime Game Launcher.AppImage'),
|
||||
|
||||
// Application version
|
||||
version: '2.0.0-rc1'
|
||||
});
|
||||
|
||||
// Bundle project
|
||||
bundler.bundle();
|
18
settings.html
Normal file
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<link rel="stylesheet" lang="sass" href="/src/sass/settings.sass" />
|
||||
<link rel="stylesheet" lang="sass" href="/src/sass/components.sass" />
|
||||
<link rel="stylesheet" href="/src/css/hint.min.css" />
|
||||
</head>
|
||||
|
||||
<body data-theme="light">
|
||||
<div id="app"></div>
|
||||
|
||||
<script src="neutralino.js"></script>
|
||||
<script type="module" src="/src/pages/settings.ts" lang="ts"></script>
|
||||
</body>
|
||||
</html>
|
16
splash.html
Normal file
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<link rel="stylesheet" lang="sass" href="/src/sass/splash.sass" />
|
||||
</head>
|
||||
|
||||
<body data-theme="light">
|
||||
<div id="app"></div>
|
||||
|
||||
<script src="neutralino.js"></script>
|
||||
<script type="module" src="/src/pages/splash.ts" lang="ts"></script>
|
||||
</body>
|
||||
</html>
|
BIN
src/assets/gifs/loading-marie-please.gif
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
src/assets/gifs/loading.gif
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
src/assets/gifs/running-qiqi.gif
Normal file
After Width: | Height: | Size: 645 KiB |
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 274 KiB |
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
BIN
src/assets/images/baal64-transparent.png
Normal file
After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
BIN
src/assets/images/cloud-download.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/discord/anime-icon.jpg
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
src/assets/images/discord/chr-in-rs-1.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
src/assets/images/discord/chr-in-ym-1.webp
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
src/assets/images/discord/chr-in-ym-2.jpg
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
src/assets/images/discord/chr-ly-bd-1.jpg
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/images/discord/chr-ms-ab-1.jpg
Normal file
After Width: | Height: | Size: 8.7 KiB |
BIN
src/assets/images/discord/chr-ms-ab-2.jpg
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
src/assets/images/discord/chr-ms-kl-1.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
src/assets/images/discord/chr-ms-kl-2.jpg
Normal file
After Width: | Height: | Size: 6 KiB |
BIN
src/assets/images/discord/chr-ms-kl-3.jpg
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
src/assets/images/discord/game.jpg
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
src/assets/images/discord/loc-in-1.jpg
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
src/assets/images/discord/loc-in-2.jpg
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
src/assets/images/discord/loc-in-3.jpg
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
src/assets/images/discord/loc-in-4.jpg
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
src/assets/images/discord/loc-in-5.jpg
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
src/assets/images/discord/loc-ly-1.jpg
Normal file
After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 654 B After Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 289 KiB After Width: | Height: | Size: 289 KiB |
BIN
src/assets/shaders/notahuman/preview.png
Normal file
After Width: | Height: | Size: 2.7 MiB |
1
src/assets/svgs/arrow.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 330.002 330.002" xml:space="preserve"><path d="M233.252,155.997L120.752,6.001c-4.972-6.628-14.372-7.97-21-3c-6.628,4.971-7.971,14.373-3,21 l105.75,140.997L96.752,306.001c-4.971,6.627-3.627,16.03,3,21c2.698,2.024,5.856,3.001,8.988,3.001 c4.561,0,9.065-2.072,12.012-6.001l112.5-150.004C237.252,168.664,237.252,161.33,233.252,155.997z"/></svg>
|
After Width: | Height: | Size: 466 B |
1
src/assets/svgs/checkmark.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="45.701px" height="45.7px" viewBox="0 0 45.701 45.7" xml:space="preserve"><g><g><path d="M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504 c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0 c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z"/></g></g></svg>
|
After Width: | Height: | Size: 524 B |
9
src/components/Button.svelte
Normal file
|
@ -0,0 +1,9 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
export let lang: string = '';
|
||||
|
||||
export let click: () => void = () => {};
|
||||
</script>
|
||||
|
||||
<button class="button" on:click={click}>{$_(lang)}</button>
|
42
src/components/Checkbox.svelte
Normal file
|
@ -0,0 +1,42 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
export let active: boolean = false;
|
||||
export let disabled: boolean = false;
|
||||
|
||||
export let prop: string = '';
|
||||
export let lang: string = '';
|
||||
export let tooltip: string = '';
|
||||
|
||||
export let valueChanged: (value: boolean) => void = () => {};
|
||||
|
||||
import Checkmark from '../assets/svgs/checkmark.svg';
|
||||
|
||||
import Configs from '../ts/Configs';
|
||||
|
||||
Configs.get(prop).then((value) => active = value as boolean);
|
||||
|
||||
function updateCheckbox()
|
||||
{
|
||||
active = !active;
|
||||
|
||||
if (prop)
|
||||
Configs.set(prop, active);
|
||||
|
||||
if (valueChanged)
|
||||
valueChanged(active);
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="checkbox" class:checkbox-active={active} class:checkbox-disabled={disabled}>
|
||||
<span
|
||||
class:hint--bottom={tooltip !== ''}
|
||||
class:hint--medium={tooltip !== ''}
|
||||
aria-label={$_(tooltip)}
|
||||
>{ $_(lang) }</span>
|
||||
|
||||
<div class="checkbox-mark" on:click={updateCheckbox}>
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img src={Checkmark} />
|
||||
</div>
|
||||
</div>
|
123
src/components/DXVKSelectionList.svelte
Normal file
|
@ -0,0 +1,123 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
export let recommendable = true;
|
||||
|
||||
import DXVK from '../ts/core/DXVK';
|
||||
import constants from '../ts/Constants';
|
||||
|
||||
import type {
|
||||
DXVK as TDXVK
|
||||
} from '../ts/types/DXVK';
|
||||
|
||||
import Delete from '../assets/images/delete.png';
|
||||
import Download from '../assets/images/download.png';
|
||||
import Loading from '../assets/gifs/loading.gif';
|
||||
|
||||
let dxvks: TDXVK[] = [],
|
||||
installedDxvks = {},
|
||||
disabledDxvks = {},
|
||||
selectedVersion;
|
||||
|
||||
DXVK.list().then((list) => {
|
||||
dxvks = list;
|
||||
|
||||
list.forEach((dxvk) => {
|
||||
installedDxvks[dxvk.version] = dxvk.installed;
|
||||
disabledDxvks[dxvk.version] = false;
|
||||
});
|
||||
});
|
||||
|
||||
DXVK.current().then((current) => selectedVersion = current?.version);
|
||||
|
||||
let progress = {}, applying = {};
|
||||
|
||||
const downloadDxvk = (dxvk: TDXVK) => {
|
||||
DXVK.download(dxvk).then((stream) => {
|
||||
stream?.downloadStart(() => disabledDxvks[dxvk.version] = true);
|
||||
|
||||
stream?.downloadProgress((current, total) => {
|
||||
progress[dxvk.version] = `${Math.round(current / total * 100)}%`;
|
||||
});
|
||||
|
||||
stream?.unpackProgress((current, total) => {
|
||||
progress[dxvk.version] = `${Math.round(current / total * 100)}%`;
|
||||
});
|
||||
|
||||
stream?.unpackFinish(async () => {
|
||||
installedDxvks[dxvk.version] = true;
|
||||
progress[dxvk.version] = undefined;
|
||||
|
||||
applying[dxvk.version] = true;
|
||||
|
||||
DXVK.current(dxvk);
|
||||
|
||||
DXVK.apply(await constants.paths.prefix.current, dxvk).then(() => {
|
||||
applying[dxvk.version] = false;
|
||||
disabledDxvks[dxvk.version] = false;
|
||||
|
||||
selectedVersion = dxvk.version;
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const deleteDxvk = (dxvk: TDXVK) => {
|
||||
disabledDxvks[dxvk.version] = true;
|
||||
applying[dxvk.version] = true;
|
||||
|
||||
DXVK.delete(dxvk).then(() => {
|
||||
installedDxvks[dxvk.version] = false;
|
||||
disabledDxvks[dxvk.version] = false;
|
||||
applying[dxvk.version] = false;
|
||||
});
|
||||
};
|
||||
|
||||
const selectDxvk = async (dxvk: TDXVK) => {
|
||||
disabledDxvks[dxvk.version] = true;
|
||||
applying[dxvk.version] = true;
|
||||
|
||||
DXVK.current(dxvk);
|
||||
|
||||
DXVK.apply(await constants.paths.prefix.current, dxvk).then(() => {
|
||||
disabledDxvks[dxvk.version] = false;
|
||||
applying[dxvk.version] = false;
|
||||
|
||||
selectedVersion = dxvk.version;
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="list">
|
||||
{#each dxvks as dxvk}
|
||||
<div
|
||||
class="list-item"
|
||||
class:list-item-downloaded={installedDxvks[dxvk.version]}
|
||||
class:list-item-active={dxvk.version === selectedVersion}
|
||||
class:list-item-hidden={recommendable && !dxvk.recommended}
|
||||
class:list-item-downloading={progress[dxvk.version]}
|
||||
class:list-item-applying={applying[dxvk.version]}
|
||||
class:list-item-disabled={disabledDxvks[dxvk.version]}
|
||||
|
||||
on:click|self={() => {
|
||||
if (installedDxvks[dxvk.version] && selectedVersion !== dxvk.version)
|
||||
selectDxvk(dxvk);
|
||||
}}
|
||||
>
|
||||
{ dxvk.version }
|
||||
|
||||
<div>
|
||||
<span>{progress[dxvk.version] ?? ''}</span>
|
||||
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img class="item-loading" src={Loading}>
|
||||
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img class="item-delete" src={Delete} on:click={() => deleteDxvk(dxvk)}>
|
||||
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img class="item-download" src={Download} on:click={() => downloadDxvk(dxvk)}>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
178
src/components/DiscordSettings.svelte
Normal file
|
@ -0,0 +1,178 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
import Configs from '../ts/Configs';
|
||||
|
||||
export let visible: boolean = false;
|
||||
|
||||
export let valueChanged: (field: 'in-game' | 'in-launcher', value: string) => void = () => {};
|
||||
export let iconChanged: (field: 'in-game' | 'in-launcher', icon: string) => void = () => {};
|
||||
|
||||
import Checkbox from './Checkbox.svelte';
|
||||
|
||||
// Discord RPC icons imports
|
||||
// We must import them manually because otherwise
|
||||
// neutralino won't be able to load them because of its restrictions
|
||||
const icons = {
|
||||
'bGF1bmNoZXI=': import('../../public/icons/256x256.png'),
|
||||
'Z2ktaWNvbg==': import('../assets/images/discord/anime-icon.jpg'),
|
||||
'Z2FtZQ==': import('../assets/images/discord/game.jpg'),
|
||||
|
||||
'YXJ0Z2FtZQ==': import('../assets/images/discord/chr-ms-ab-1.jpg'),
|
||||
'YXJ0Z2FtZTM=': import('../assets/images/discord/chr-ms-ab-2.jpg'),
|
||||
|
||||
'YmVpZG91Z2FtZQ==': import('../assets/images/discord/chr-ly-bd-1.jpg'),
|
||||
|
||||
'a2xlZWdhbWU=': import('../assets/images/discord/chr-ms-kl-1.jpg'),
|
||||
'a2xlZWdhbWUy': import('../assets/images/discord/chr-ms-kl-2.jpg'),
|
||||
'YXJ0Z2FtZTI=': import('../assets/images/discord/chr-ms-kl-3.jpg'),
|
||||
|
||||
'YmFhbDE=': import('../assets/images/discord/chr-in-rs-1.webp'),
|
||||
|
||||
'eWFlbWlrbzE=': import('../assets/images/discord/chr-in-ym-1.webp'),
|
||||
'eWFlbWlrbzI=': import('../assets/images/discord/chr-in-ym-2.jpg'),
|
||||
|
||||
'bGl5dWVnYW1l': import('../assets/images/discord/loc-ly-1.jpg'),
|
||||
|
||||
'aW5henVtYTE=': import('../assets/images/discord/loc-in-1.jpg'),
|
||||
'aW5henVtYTI=': import('../assets/images/discord/loc-in-2.jpg'),
|
||||
'aW5henVtYTM=': import('../assets/images/discord/loc-in-3.jpg'),
|
||||
'aW5henVtYTQ=': import('../assets/images/discord/loc-in-4.jpg'),
|
||||
'aW5henVtYTU=': import('../assets/images/discord/loc-in-5.jpg')
|
||||
};
|
||||
|
||||
let iconSelector: 'in-game' | 'in-launcher' | null = null;
|
||||
|
||||
let states = {
|
||||
'in-game': {
|
||||
text: '',
|
||||
icon: 'Z2FtZQ=='
|
||||
},
|
||||
'in-launcher': {
|
||||
text: '',
|
||||
icon: 'bGF1bmNoZXI='
|
||||
}
|
||||
};
|
||||
|
||||
Configs.get('discord.states').then((settings) => {
|
||||
states = {
|
||||
'in-game': {
|
||||
text: settings!['in-game']['details'],
|
||||
icon: btoa(settings!['in-game']['icon'])
|
||||
},
|
||||
'in-launcher': {
|
||||
text: settings!['in-launcher']['details'],
|
||||
icon: btoa(settings!['in-launcher']['icon'])
|
||||
}
|
||||
};
|
||||
|
||||
if (settings!['in-game']['state'] != '')
|
||||
states['in-game']['text'] += `\n${settings!['in-game']['state']}`;
|
||||
|
||||
if (settings!['in-launcher']['state'] != '')
|
||||
states['in-launcher']['text'] += `\n${settings!['in-launcher']['state']}`;
|
||||
});
|
||||
|
||||
const textareaHandler = (event: KeyboardEvent, field: 'in-game' | 'in-launcher') => {
|
||||
const textArea = event.srcElement as HTMLTextAreaElement;
|
||||
const content = textArea.value;
|
||||
|
||||
if (event.key === 'Enter')
|
||||
{
|
||||
if (content.split('\n').length > 2)
|
||||
textArea.value = content.substring(0, content.length - 1);
|
||||
}
|
||||
|
||||
else valueChanged(field, content.trim());
|
||||
};
|
||||
|
||||
const selectIcon = (icon: string) => {
|
||||
states[iconSelector!]['icon'] = icon;
|
||||
|
||||
iconChanged(iconSelector!, atob(icon));
|
||||
|
||||
iconSelector = null;
|
||||
};
|
||||
</script>
|
||||
|
||||
<div style="display: {visible ? 'block' : 'none'}">
|
||||
<h3>{$_('settings.general.items.discord.settings.title')}</h3>
|
||||
|
||||
<Checkbox lang="settings.general.items.discord.settings.items.timer" prop="discord.timer" />
|
||||
|
||||
<table class="table" style="margin-top: 16px">
|
||||
<tr>
|
||||
<td>
|
||||
<span>{$_('settings.general.items.discord.settings.items.in-launcher')}</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<textarea rows="2" on:keyup={(e) => textareaHandler(e, 'in-launcher')}>{states['in-launcher']['text']}</textarea>
|
||||
|
||||
{#await icons[states['in-launcher']['icon']] then iconUri}
|
||||
<img src={iconUri.default} alt="" on:click={() => iconSelector = iconSelector ? null : 'in-launcher'} />
|
||||
{/await}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span>{$_('settings.general.items.discord.settings.items.in-game')}</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<textarea rows="2" on:keyup={(e) => textareaHandler(e, 'in-game')}>{states['in-game']['text']}</textarea>
|
||||
|
||||
{#await icons[states['in-game']['icon']] then iconUri}
|
||||
<img src={iconUri.default} alt="" on:click={() => iconSelector = iconSelector ? null : 'in-game'} />
|
||||
{/await}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="icon-selection" style="display: {iconSelector ? 'block' : 'none'}">
|
||||
<h4>{$_('settings.general.items.discord.settings.items.selectIcon')}</h4>
|
||||
|
||||
<div>
|
||||
{#each Object.keys(icons) as icon}
|
||||
{#await icons[icon] then iconUri}
|
||||
<img src={iconUri.default} alt="" on:click={() => selectIcon(icon)} />
|
||||
{/await}
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style lang="sass">
|
||||
.icon-selection
|
||||
div
|
||||
display: flex
|
||||
flex-wrap: wrap
|
||||
|
||||
width: 100%
|
||||
|
||||
img
|
||||
width: 48px
|
||||
height: 48px
|
||||
|
||||
border-radius: 24px
|
||||
|
||||
margin: 4px
|
||||
|
||||
cursor: pointer
|
||||
|
||||
&:hover
|
||||
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.45)
|
||||
|
||||
table.table
|
||||
td:last-child
|
||||
display: inline-flex
|
||||
align-items: center
|
||||
|
||||
width: 100%
|
||||
|
||||
img
|
||||
width: 40px
|
||||
height: 40px
|
||||
|
||||
border-radius: 20px
|
||||
</style>
|
81
src/components/DropdownCheckboxes.svelte
Normal file
|
@ -0,0 +1,81 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
import Configs from '../ts/Configs';
|
||||
|
||||
export let prop: string = '';
|
||||
export let lang: string = '';
|
||||
export let tooltip: string = '';
|
||||
export let selected: string|undefined;
|
||||
export let items = {};
|
||||
|
||||
export let selectionUpdated: (property: string, value: boolean, list: object) => void = () => {};
|
||||
|
||||
import Arrow from '../assets/svgs/arrow.svg';
|
||||
import Checkmark from '../assets/svgs/checkmark.svg';
|
||||
|
||||
let selectionOpen = false;
|
||||
let selectedValue = selected;
|
||||
let selectedValues = {};
|
||||
|
||||
Object.keys(items).forEach((key) => selectedValues[key] = false);
|
||||
Configs.get(prop).then((values) => {
|
||||
(values as string[]).forEach((key) => selectedValues[key] = true);
|
||||
});
|
||||
|
||||
const updateCheckbox = (value: string) => {
|
||||
selectedValues[value] = !selectedValues[value];
|
||||
|
||||
let activeVoices: string[] = [];
|
||||
|
||||
Object.keys(selectedValues).forEach((key) => {
|
||||
if (selectedValues[key])
|
||||
activeVoices.push(key);
|
||||
});
|
||||
|
||||
Configs.set(prop, activeVoices);
|
||||
|
||||
selectionUpdated(value, selectedValues[value], selectedValues);
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="select dropdown-checkboxes" class:select-active={selectionOpen}>
|
||||
<span>{ $_(lang) }</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
{#each Object.keys(items) as value}
|
||||
<li>
|
||||
<div class="checkbox" class:checkbox-active={selectedValues[value]}>
|
||||
<span>{ $_(items[value]) }</span>
|
||||
|
||||
<div class="checkbox-mark" on:click={() => updateCheckbox(value)}>
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img src={Checkmark} />
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{/each}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="selected-item"
|
||||
class:hint--left={tooltip !== ''}
|
||||
class:hint--medium={tooltip !== ''}
|
||||
aria-label={$_(tooltip)}
|
||||
on:click={() => selectionOpen = !selectionOpen}
|
||||
>
|
||||
<span>{ selectedValue ? $_(items[selectedValue]) : '' }</span>
|
||||
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img src={Arrow} class:selection-empty={selectedValue === undefined} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.dropdown-checkboxes .selected-item img.selection-empty
|
||||
{
|
||||
margin-left: 0;
|
||||
}
|
||||
</style>
|
64
src/components/EnvironmentManager.svelte
Normal file
|
@ -0,0 +1,64 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
import Configs from '../ts/Configs';
|
||||
|
||||
import Button from './Button.svelte';
|
||||
|
||||
let last_id = 0, variables = {}, selected;
|
||||
|
||||
Configs.get('env').then((env) => {
|
||||
for (const key of Object.keys(env as object))
|
||||
{
|
||||
variables[last_id++] = {
|
||||
key: key,
|
||||
value: env![key]
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
const updateEnv = () => {
|
||||
let env = {};
|
||||
|
||||
for (const key of Object.keys(variables))
|
||||
if (variables[key].key && variables[key].value)
|
||||
env[variables[key].key] = variables[key].value;
|
||||
|
||||
Configs.set('env', env);
|
||||
};
|
||||
</script>
|
||||
|
||||
<div>
|
||||
<table class="table properties-table" style="margin-top: 16px">
|
||||
<tr>
|
||||
<th>{$_('settings.environment.items.table.name')}</th>
|
||||
<th>{$_('settings.environment.items.table.value')}</th>
|
||||
</tr>
|
||||
|
||||
{#each Object.keys(variables) as key}
|
||||
<tr on:click={() => selected = key} class:selected={selected === key}>
|
||||
<td>
|
||||
<span>{variables[key].key}</span>
|
||||
<input bind:value={variables[key].key} on:change={updateEnv} />
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span>{variables[key].value}</span>
|
||||
<input bind:value={variables[key].value} on:change={updateEnv} />
|
||||
</td>
|
||||
</tr>
|
||||
{/each}
|
||||
</table>
|
||||
|
||||
<div style="margin-top: 16px">
|
||||
<Button lang="settings.environment.items.buttons.add" click={() => variables[last_id++] = { key: '', value: '' }} />
|
||||
|
||||
<Button lang="settings.environment.items.buttons.delete" click={() => {
|
||||
delete variables[selected];
|
||||
|
||||
selected = undefined;
|
||||
|
||||
updateEnv();
|
||||
}} />
|
||||
</div>
|
||||
</div>
|
124
src/components/RunnerSelectionList.svelte
Normal file
|
@ -0,0 +1,124 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
export let recommendable = true;
|
||||
|
||||
import type { Runner, RunnerFamily } from '../ts/types/Runners';
|
||||
|
||||
import Runners from '../ts/core/Runners';
|
||||
|
||||
import Delete from '../assets/images/delete.png';
|
||||
import Download from '../assets/images/download.png';
|
||||
import Arrow from '../assets/svgs/arrow.svg';
|
||||
|
||||
let runners: RunnerFamily[] = [],
|
||||
installedRunners = {},
|
||||
disabledRunners = {},
|
||||
openedFamily,
|
||||
selectedVersion;
|
||||
|
||||
Runners.list().then((list) => {
|
||||
runners = list;
|
||||
|
||||
for (const family of runners)
|
||||
for (const runner of family.runners)
|
||||
{
|
||||
installedRunners[runner.name] = runner.installed;
|
||||
disabledRunners[runner.name] = false;
|
||||
}
|
||||
});
|
||||
|
||||
Runners.current().then((current) => {
|
||||
selectedVersion = current;
|
||||
|
||||
if (current)
|
||||
openedFamily = current.family;
|
||||
});
|
||||
|
||||
let progress = {}, applying = {};
|
||||
|
||||
const downloadRunner = (runner: Runner) => {
|
||||
Runners.download(runner).then((stream) => {
|
||||
stream?.downloadStart(() => disabledRunners[runner.name] = true);
|
||||
|
||||
stream?.downloadProgress((current, total) => {
|
||||
progress[runner.name] = `${Math.round(current / total * 100)}%`;
|
||||
});
|
||||
|
||||
stream?.unpackProgress((current, total) => {
|
||||
progress[runner.name] = `${Math.round(current / total * 100)}%`;
|
||||
});
|
||||
|
||||
stream?.unpackFinish(() => {
|
||||
installedRunners[runner.name] = true;
|
||||
disabledRunners[runner.name] = false;
|
||||
|
||||
progress[runner.name] = undefined;
|
||||
|
||||
selectedVersion = runner;
|
||||
|
||||
Runners.current(runner);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const deleteRunner = (runner: Runner) => {
|
||||
disabledRunners[runner.name] = true;
|
||||
applying[runner.name] = true;
|
||||
|
||||
Runners.delete(runner).then(() => {
|
||||
installedRunners[runner.name] = false;
|
||||
disabledRunners[runner.name] = false;
|
||||
applying[runner.name] = false;
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="list">
|
||||
{#each runners as family}
|
||||
<div
|
||||
class="list-title"
|
||||
class:list-title-open={openedFamily === family.title}
|
||||
on:click={() => openedFamily = openedFamily != family.title ? family.title : null}
|
||||
>
|
||||
<span>{family.title}</span>
|
||||
|
||||
<img src={Arrow} alt="" />
|
||||
</div>
|
||||
|
||||
{#if openedFamily === family.title}
|
||||
{#each family.runners as runner}
|
||||
<div
|
||||
class="list-item"
|
||||
class:list-item-downloaded={installedRunners[runner.name]}
|
||||
class:list-item-active={runner.name === selectedVersion.name}
|
||||
class:list-item-hidden={recommendable && !runner.recommended}
|
||||
class:list-item-downloading={progress[runner.name]}
|
||||
class:list-item-applying={applying[runner.name]}
|
||||
class:list-item-disabled={disabledRunners[runner.name]}
|
||||
|
||||
on:click|self={() => {
|
||||
if (installedRunners[runner.name] && selectedVersion.name !== runner.name)
|
||||
{
|
||||
selectedVersion = runner;
|
||||
|
||||
Runners.current(runner);
|
||||
}
|
||||
}}
|
||||
>
|
||||
{ runner.title }
|
||||
|
||||
<div>
|
||||
<span>{progress[runner.name] ?? ''}</span>
|
||||
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img class="item-delete" src={Delete} on:click={() => deleteRunner(runner)}>
|
||||
|
||||
<!-- svelte-ignore a11y-missing-attribute -->
|
||||
<img class="item-download" src={Download} on:click={() => downloadRunner(runner)}>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
{/if}
|
||||
{/each}
|
||||
</div>
|
73
src/components/SelectionBox.svelte
Normal file
|
@ -0,0 +1,73 @@
|
|||
<script lang="ts">
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
import Configs from '../ts/Configs';
|
||||
|
||||
export let prop: string = '';
|
||||
export let lang: string = '';
|
||||
export let tooltip: string = '';
|
||||
export let items = {};
|
||||
|
||||
export let valueChanged: (value: string) => void = () => {};
|
||||
|
||||
import Arrow from '../assets/svgs/arrow.svg';
|
||||
|
||||
let selectionOpen = false;
|
||||
let selectedValue;
|
||||
|
||||
const selectionChanged = (e: MouseEvent) => {
|
||||
const li = e.target as HTMLElement;
|
||||
|
||||
if (!li.classList.contains('selected'))
|
||||
{
|
||||
const lis = li.parentElement!.children!;
|
||||
|
||||
for (let i = 0; i < lis.length; i++)
|
||||
lis[i].classList.remove('selected');
|
||||
|
||||
li.classList.add('selected');
|
||||
|
||||
Configs.set(prop, li.getAttribute('data-value'));
|
||||
|
||||
selectionOpen = false;
|
||||
}
|
||||
};
|
||||
|
||||
Configs.get(prop).then((value) => selectedValue = value);
|
||||
</script>
|
||||
|
||||
<div class="select" class:select-active={selectionOpen}>
|
||||
<span>{ $_(lang) }</span>
|
||||
|
||||
<div class="select-options">
|
||||
<ul>
|
||||
{#each Object.keys(items) as itemLang}
|
||||
<li
|
||||
data-value={itemLang}
|
||||
|
||||
on:click={selectionChanged}
|
||||
|
||||
on:click={() => {
|
||||
selectedValue = itemLang;
|
||||
|
||||
valueChanged(selectedValue);
|
||||
}}
|
||||
|
||||
class:selected={itemLang === selectedValue}
|
||||
>{ $_(items[itemLang]) }</li>
|
||||
{/each}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="selected-item"
|
||||
class:hint--left={tooltip !== ''}
|
||||
class:hint--medium={tooltip !== ''}
|
||||
aria-label={$_(tooltip)}
|
||||
on:click={() => selectionOpen = !selectionOpen}
|
||||
>
|
||||
<span>{ $_(items[selectedValue]) }</span>
|
||||
|
||||
<img src={Arrow} alt="" />
|
||||
</div>
|
||||
</div>
|
68
src/components/ShadersSelection.svelte
Normal file
|
@ -0,0 +1,68 @@
|
|||
<script lang="ts">
|
||||
import { _, locale } from 'svelte-i18n';
|
||||
|
||||
import type { Shader } from '../ts/types/Shaders';
|
||||
|
||||
import Shaders from '../ts/launcher/Shaders';
|
||||
import Launcher from '../ts/Launcher';
|
||||
|
||||
import SelectionBox from './SelectionBox.svelte';
|
||||
|
||||
let shaders: Shader[] = [],
|
||||
reshadeInstalled = true,
|
||||
shadersOptions = {
|
||||
'none': 'settings.shaders.items.shaders.items.none'
|
||||
};
|
||||
|
||||
Shaders.list().then((list) => {
|
||||
shaders = list;
|
||||
|
||||
for (const shader of list)
|
||||
shadersOptions[shader.folder] = shader.name;
|
||||
|
||||
shadersOptions['custom'] = 'settings.shaders.items.shaders.items.custom';
|
||||
});
|
||||
|
||||
Launcher.isPackageAvailable('reshade').then((available) => reshadeInstalled = available);
|
||||
</script>
|
||||
|
||||
<div>
|
||||
{#if !reshadeInstalled}
|
||||
<p>{$_('settings.shaders.items.not_installed')}</p>
|
||||
{:else}
|
||||
<SelectionBox
|
||||
lang="settings.shaders.items.shaders.title"
|
||||
tooltip="settings.shaders.items.shaders.tooltip"
|
||||
prop="shaders"
|
||||
items={shadersOptions}
|
||||
/>
|
||||
|
||||
{#each shaders as shader}
|
||||
<h3>{shader.name}</h3>
|
||||
|
||||
<p>{$_('settings.shaders.items.author', { values: { author: shader.author } })}</p>
|
||||
|
||||
{#if !shader.images}
|
||||
<p>{$_('settings.shaders.items.no_images')}</p>
|
||||
{:else}
|
||||
{#each shader.images as image}
|
||||
{#await Shaders.getPicture(shader.folder, image.file) then picture}
|
||||
<img class="shader-image" src={picture} alt="" />
|
||||
|
||||
<p class="shader-image-title">{$locale && image.caption[$locale] ? image.caption[$locale] : image.caption['en-us']}</p>
|
||||
{/await}
|
||||
{/each}
|
||||
{/if}
|
||||
{/each}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<style lang="sass">
|
||||
.shader-image
|
||||
width: 100%
|
||||
|
||||
.shader-image-title
|
||||
text-align: center
|
||||
|
||||
margin-top: 8px
|
||||
</style>
|
167
src/defaultSettings.ts
Normal file
|
@ -0,0 +1,167 @@
|
|||
import Configs from './ts/Configs';
|
||||
import constants from './ts/Constants';
|
||||
import promisify from './ts/core/promisify';
|
||||
|
||||
promisify(async () => {
|
||||
Configs.defaults({
|
||||
lang: {
|
||||
launcher: 'en-us',
|
||||
voice: [
|
||||
'en-us'
|
||||
]
|
||||
},
|
||||
|
||||
folders: {
|
||||
/**
|
||||
* Path to wine prefix
|
||||
*
|
||||
* @default "~/.local/share/anime-game-launcher/game"
|
||||
*/
|
||||
prefix: await constants.paths.prefix.default,
|
||||
|
||||
/**
|
||||
* Path to game installation folder
|
||||
*
|
||||
* @default "~/.local/share/anime-game-launcher/game/drive_c/Program Files/[An Anime Game]"
|
||||
*/
|
||||
game: `${await constants.paths.prefix.default}/drive_c/Program Files/${constants.placeholders.uppercase.first} ${constants.placeholders.uppercase.second}`,
|
||||
|
||||
/**
|
||||
* Path to some temp folder
|
||||
*
|
||||
* @default "~/.local/share/anime-game-launcher"
|
||||
*/
|
||||
temp: await constants.paths.launcherDir
|
||||
},
|
||||
|
||||
/**
|
||||
* Runner name to use, or null if runner is not specified
|
||||
*
|
||||
* @default null
|
||||
*/
|
||||
runner: null,
|
||||
|
||||
/**
|
||||
* DXVK name to use, or null if DXVK is not specified
|
||||
*
|
||||
* @default null
|
||||
*/
|
||||
dxvk: null,
|
||||
|
||||
/**
|
||||
* Environment variables
|
||||
*
|
||||
* null to disable any
|
||||
*
|
||||
* @default { WINEESYNC: 1 }
|
||||
*/
|
||||
env: {
|
||||
WINEESYNC: 1
|
||||
},
|
||||
|
||||
/**
|
||||
* Launcher theme
|
||||
*
|
||||
* Can be "system", "light" and "dark"
|
||||
*
|
||||
* @defaul "system"
|
||||
*/
|
||||
theme: 'system',
|
||||
|
||||
/**
|
||||
* HUD
|
||||
*
|
||||
* "none" if not in use. Otherwise it's "dxvk" or "mangohud"
|
||||
*
|
||||
* @default "none"
|
||||
*/
|
||||
hud: 'none',
|
||||
|
||||
/**
|
||||
* vkBasalt preset to use
|
||||
*
|
||||
* "none" if not in use. Otherwise it should be a folder name from the "shaders" folder
|
||||
*
|
||||
* @default "none"
|
||||
*/
|
||||
shaders: 'none',
|
||||
|
||||
/**
|
||||
* Discord RPC integration
|
||||
*/
|
||||
discord: {
|
||||
/**
|
||||
* If it is enabled
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
enabled: false,
|
||||
|
||||
/**
|
||||
* Should it display amount of spent time or not
|
||||
*
|
||||
* @default true
|
||||
*/
|
||||
timer: true,
|
||||
|
||||
/**
|
||||
* Discord RPC states
|
||||
*/
|
||||
states: {
|
||||
'in-launcher': {
|
||||
details: 'Preparing to launch',
|
||||
state: '',
|
||||
icon: 'launcher'
|
||||
},
|
||||
|
||||
'in-game': {
|
||||
details: 'Exploring the landscape',
|
||||
state: 'of Teyvat',
|
||||
icon: 'game'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* If the launcher should use GameMode
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
gamemode: false,
|
||||
|
||||
/**
|
||||
* If the launcher should enable AMD FSR
|
||||
*
|
||||
* @default true
|
||||
*/
|
||||
fsr: true,
|
||||
|
||||
/**
|
||||
* If the launcher should unlock FPS
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
fps_unlocker: false,
|
||||
|
||||
/**
|
||||
* If the launcher should automatically delete log files
|
||||
*/
|
||||
purge_logs: {
|
||||
/**
|
||||
* Should launcher delete some game logs (DXVK .log and .dmp files)
|
||||
*
|
||||
* @default true
|
||||
*/
|
||||
game: true,
|
||||
|
||||
/**
|
||||
* Period of time launcher should delete its logs
|
||||
*
|
||||
* Can be in "*d" format, where * is amount of days (e.g. 5d = 5 days), or "never" to never delete logs
|
||||
*
|
||||
* @default "5d"
|
||||
*/
|
||||
launcher: '5d'
|
||||
}
|
||||
});
|
||||
});
|