mirror of
https://github.com/an-anime-team/an-anime-game-launcher.git
synced 2025-01-01 22:47:19 +03:00
2.0.0 beta 8
- added Italian - added `Locales.supported()` and `Locales.fallback()` methods now launcher can have locales unsupported by the game From previous commits: - fixed shaders work - made `Tray` class to manage tray features - added tray icon - added `folders` field in config file and now you can specify some pathes - added `constants.paths.tempDir` field - Discord RPC icons were moved to `src/assets/images/discord` folder and highly optimized - added templates for `fr-fr`, `es-es` and `vi-vn` translations - added Discord RPC icons selection - added windows centering; also added `Window.current.center()` method - added custom shaders option in settings menu - fixed `applied` patch info field caching - decreased splash screen timings
This commit is contained in:
parent
9c85cef91c
commit
b22dd2aa44
14 changed files with 160 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"applicationId": "com.krypt0nn.an-anime-game-launcher",
|
"applicationId": "com.krypt0nn.an-anime-game-launcher",
|
||||||
"version": "2.0.0-beta-7",
|
"version": "2.0.0-beta-8",
|
||||||
"defaultMode": "window",
|
"defaultMode": "window",
|
||||||
"port": 0,
|
"port": 0,
|
||||||
"documentRoot": "/bundle/",
|
"documentRoot": "/bundle/",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "an-anime-game-launcher",
|
"name": "an-anime-game-launcher",
|
||||||
"version": "2.0.0-beta-7",
|
"version": "2.0.0-beta-8",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -27,6 +27,7 @@ settings:
|
||||||
de-de: Deutsch
|
de-de: Deutsch
|
||||||
fr-fr: Français
|
fr-fr: Français
|
||||||
es-es: Español
|
es-es: Español
|
||||||
|
it-it: Italiano
|
||||||
vi-vn: Tiếng Việt
|
vi-vn: Tiếng Việt
|
||||||
|
|
||||||
# Spiel sprachpaket auswahl
|
# Spiel sprachpaket auswahl
|
||||||
|
|
|
@ -27,6 +27,7 @@ settings:
|
||||||
de-de: Deutsch
|
de-de: Deutsch
|
||||||
fr-fr: Français
|
fr-fr: Français
|
||||||
es-es: Español
|
es-es: Español
|
||||||
|
it-it: Italiano
|
||||||
vi-vn: Tiếng Việt
|
vi-vn: Tiếng Việt
|
||||||
|
|
||||||
# Game voice pack language
|
# Game voice pack language
|
||||||
|
|
|
@ -27,6 +27,7 @@ settings:
|
||||||
de-de: Deutsch
|
de-de: Deutsch
|
||||||
fr-fr: Français
|
fr-fr: Français
|
||||||
es-es: Español
|
es-es: Español
|
||||||
|
it-it: Italiano
|
||||||
vi-vn: Tiếng Việt
|
vi-vn: Tiếng Việt
|
||||||
|
|
||||||
# Game voice pack language
|
# Game voice pack language
|
||||||
|
|
|
@ -27,6 +27,7 @@ settings:
|
||||||
de-de: Deutsch
|
de-de: Deutsch
|
||||||
fr-fr: Français
|
fr-fr: Français
|
||||||
es-es: Español
|
es-es: Español
|
||||||
|
it-it: Italiano
|
||||||
vi-vn: Tiếng Việt
|
vi-vn: Tiếng Việt
|
||||||
|
|
||||||
# Game voice pack language
|
# Game voice pack language
|
||||||
|
@ -117,4 +118,4 @@ settings:
|
||||||
ou désactiver les effets visuels
|
ou désactiver les effets visuels
|
||||||
items:
|
items:
|
||||||
none: None
|
none: None
|
||||||
custom: Custom
|
custom: Custom
|
113
public/locales/it-it.yaml
Normal file
113
public/locales/it-it.yaml
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
# Splash window
|
||||||
|
splash:
|
||||||
|
title: Caricando il launcher
|
||||||
|
phrases:
|
||||||
|
- Facendo attività molto importanti...
|
||||||
|
- Bullizzando Paimon...
|
||||||
|
- Pullando per Yae...
|
||||||
|
|
||||||
|
# Launcher window
|
||||||
|
launcher:
|
||||||
|
predownload: Pre-scarica l'aggiornamento
|
||||||
|
|
||||||
|
# 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
|
||||||
|
vi-vn: Tiếng Việt
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Enhancements
|
||||||
|
enhancements:
|
||||||
|
title: Miglioramenti
|
||||||
|
items:
|
||||||
|
# HUD
|
||||||
|
hud:
|
||||||
|
title: Interfaccia
|
||||||
|
items:
|
||||||
|
none: None
|
||||||
|
dxvk: DXVK
|
||||||
|
mangohud: MangoHUD
|
||||||
|
|
||||||
|
# GameMode
|
||||||
|
gamemode:
|
||||||
|
title: Usa GameMode
|
||||||
|
tooltip: È un software che può migliorare le prestazioni in gioco
|
||||||
|
|
||||||
|
# Unlock FPS
|
||||||
|
fps_unlocker:
|
||||||
|
title: Sblocca gli FPS
|
||||||
|
tooltip: Questa opzione rimuoverà la limitazione di 60 FPS in gioco
|
||||||
|
|
||||||
|
# Delete DXVK logs
|
||||||
|
purge_dxvk_logs:
|
||||||
|
title: Cancella i log DXVK
|
||||||
|
tooltip: Con questa opzione attiva, il launcher cancellerà automaticamente i file di log DXVK
|
||||||
|
|
||||||
|
# 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
|
|
@ -27,6 +27,7 @@ settings:
|
||||||
de-de: Deutsch
|
de-de: Deutsch
|
||||||
fr-fr: Français
|
fr-fr: Français
|
||||||
es-es: Español
|
es-es: Español
|
||||||
|
it-it: Italiano
|
||||||
vi-vn: Tiếng Việt
|
vi-vn: Tiếng Việt
|
||||||
|
|
||||||
# Язык озвучки в игре
|
# Язык озвучки в игре
|
||||||
|
|
|
@ -27,6 +27,7 @@ settings:
|
||||||
de-de: Deutsch
|
de-de: Deutsch
|
||||||
fr-fr: Français
|
fr-fr: Français
|
||||||
es-es: Español
|
es-es: Español
|
||||||
|
it-it: Italiano
|
||||||
vi-vn: Tiếng Việt
|
vi-vn: Tiếng Việt
|
||||||
|
|
||||||
# Game voice pack language
|
# Game voice pack language
|
||||||
|
|
|
@ -39,7 +39,7 @@ const bundler = new Bundler({
|
||||||
output: path.join(__dirname, '../dist/An Anime Game Launcher.AppImage'),
|
output: path.join(__dirname, '../dist/An Anime Game Launcher.AppImage'),
|
||||||
|
|
||||||
// Application version
|
// Application version
|
||||||
version: '2.0.0-beta-7'
|
version: '2.0.0-beta-8'
|
||||||
});
|
});
|
||||||
|
|
||||||
// Bundle project
|
// Bundle project
|
||||||
|
|
|
@ -7,6 +7,7 @@ register('ru-ru', () => Locales.get('ru-ru'));
|
||||||
register('de-de', () => Locales.get('de-de'));
|
register('de-de', () => Locales.get('de-de'));
|
||||||
register('fr-fr', () => Locales.get('fr-fr'));
|
register('fr-fr', () => Locales.get('fr-fr'));
|
||||||
register('es-es', () => Locales.get('es-es'));
|
register('es-es', () => Locales.get('es-es'));
|
||||||
|
register('it-it', () => Locales.get('it-it'));
|
||||||
register('vi-vn', () => Locales.get('vi-vn'));
|
register('vi-vn', () => Locales.get('vi-vn'));
|
||||||
|
|
||||||
Locales.default().then((locale) => {
|
Locales.default().then((locale) => {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import Configs from './Configs';
|
||||||
import Debug from './core/Debug';
|
import Debug from './core/Debug';
|
||||||
import IPC from './core/IPC';
|
import IPC from './core/IPC';
|
||||||
import DiscordRPC from './core/DiscordRPC';
|
import DiscordRPC from './core/DiscordRPC';
|
||||||
|
import Locales from './core/Locales';
|
||||||
|
|
||||||
import ProgressBar from './launcher/ProgressBar';
|
import ProgressBar from './launcher/ProgressBar';
|
||||||
import State from './launcher/State';
|
import State from './launcher/State';
|
||||||
|
@ -22,7 +23,7 @@ export default class Launcher
|
||||||
|
|
||||||
public constructor(onMount)
|
public constructor(onMount)
|
||||||
{
|
{
|
||||||
this.tray = new Tray('/public/icons/256x256.png');
|
this.tray = new Tray(`/public/icons/256x256.png`);
|
||||||
this.tray.update();
|
this.tray.update();
|
||||||
|
|
||||||
this.updateDiscordRPC('in-launcher');
|
this.updateDiscordRPC('in-launcher');
|
||||||
|
@ -90,7 +91,7 @@ export default class Launcher
|
||||||
public getSocial(): Promise<string>
|
public getSocial(): Promise<string>
|
||||||
{
|
{
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
resolve(`https://${constants.placeholders.lowercase.first}.${constants.placeholders.lowercase.company}.com/launcher/10/${await Configs.get('lang.launcher')}?api_url=https%3A%2F%2Fapi-os-takumi.${constants.placeholders.lowercase.company}.com%2Fhk4e_global&key=gcStgarh&prev=false`);
|
resolve(`https://${constants.placeholders.lowercase.first}.${constants.placeholders.lowercase.company}.com/launcher/10/${Locales.fallback((await Locales.default()) ?? 'en-us')}?api_url=https%3A%2F%2Fapi-os-takumi.${constants.placeholders.lowercase.company}.com%2Fhk4e_global&key=gcStgarh&prev=false`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,21 +10,30 @@ type AvailableLocales =
|
||||||
| 'de-de'
|
| 'de-de'
|
||||||
| 'fr-fr'
|
| 'fr-fr'
|
||||||
| 'es-es'
|
| 'es-es'
|
||||||
|
| 'it-it'
|
||||||
| 'vi-vn';
|
| 'vi-vn';
|
||||||
|
|
||||||
declare const Neutralino;
|
declare const Neutralino;
|
||||||
|
|
||||||
export default class Locales
|
export default class Locales
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* List of locales supported by the game's API
|
||||||
|
*/
|
||||||
|
public static readonly supportedLocales: AvailableLocales[] = [
|
||||||
|
'en-us', 'ru-ru', 'de-de',
|
||||||
|
'fr-fr', 'es-es', 'vi-vn'
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get or update the default locale
|
* Get or update the default locale
|
||||||
*/
|
*/
|
||||||
public static default(lang: AvailableLocales|null = null): Promise<string>
|
public static default(lang: AvailableLocales|null = null): Promise<AvailableLocales>
|
||||||
{
|
{
|
||||||
if (lang !== null)
|
if (lang !== null)
|
||||||
Configs.set('lang.launcher', lang);
|
Configs.set('lang.launcher', lang);
|
||||||
|
|
||||||
return Configs.get('lang.launcher') as Promise<string>;
|
return Configs.get('lang.launcher') as Promise<AvailableLocales>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -70,4 +79,24 @@ export default class Locales
|
||||||
.then((locale) => resolve(YAML.parse(locale)));
|
.then((locale) => resolve(YAML.parse(locale)));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the specified language supported
|
||||||
|
* by the game's API
|
||||||
|
*/
|
||||||
|
public static supported(lang: AvailableLocales): boolean
|
||||||
|
{
|
||||||
|
return this.supportedLocales.includes(lang);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns provided language if it is supported
|
||||||
|
* by the game's API. Otherwise returns fallback language (en-us by default)
|
||||||
|
*/
|
||||||
|
public static fallback(lang: AvailableLocales, fallback: AvailableLocales = 'en-us'): AvailableLocales
|
||||||
|
{
|
||||||
|
return this.supported(lang) ? lang : fallback;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type { AvailableLocales };
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import constants from '../Constants';
|
import constants from '../Constants';
|
||||||
import Configs from '../Configs';
|
|
||||||
import fetch from '../core/Fetch';
|
import fetch from '../core/Fetch';
|
||||||
|
import Locales from '../core/Locales';
|
||||||
|
|
||||||
export default class Background
|
export default class Background
|
||||||
{
|
{
|
||||||
|
@ -10,7 +10,7 @@ export default class Background
|
||||||
public static get(): Promise<string>
|
public static get(): Promise<string>
|
||||||
{
|
{
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
fetch(constants.backgroundUri + await Configs.get('lang.launcher'))
|
fetch(constants.backgroundUri + Locales.fallback((await Locales.default()) ?? 'en-us'))
|
||||||
.then((header) => header.body().then((body) => {
|
.then((header) => header.body().then((body) => {
|
||||||
resolve(JSON.parse(body).data.adv.background);
|
resolve(JSON.parse(body).data.adv.background);
|
||||||
}));
|
}));
|
||||||
|
|
Loading…
Reference in a new issue