feat: internationalization

This commit is contained in:
2025-04-22 21:34:55 +00:00
parent 58c692a879
commit ce03668252
36 changed files with 1069 additions and 563 deletions

153
src/i18n/en.ts Normal file
View File

@ -0,0 +1,153 @@
export default {
ok: 'OK',
cancel: 'Cancel',
enable: 'Enable',
disable: 'Disable',
default: 'Default',
start: {
failed: 'Start check failed',
accept: 'Run anyway',
error: {
package: 'Package missing',
dependency: 'Dependency missing',
tool: 'Tool missing',
unknown: 'Unknown error',
},
tooltip: {
game: 'The game path must be specified',
amfs: 'The amfs path must be specified',
segatools: 'A segatools hook package is necessary',
},
button: {
start: 'START',
stop: 'STOP',
unchecked: 'Start unchecked',
shortcut: 'Create desktop shortcut',
help: 'Help',
refresh: 'Refresh and start',
cache: 'Clear cache',
},
},
game: {
ongeki: 'O.N.G.E.K.I.',
chunithm: 'CHUNITHM',
},
profile: {
welcome: 'Welcome to STARTLINER! Start by creating a profile.',
create: '{game} profile',
delete: 'Delete profile',
reallyDelete: 'Are you sure you want to delete {profile}?',
template: 'STARTLINER template',
},
store: {
installRecommended: 'Install recommended packages',
installed: 'Show installed',
deprecated: 'Show deprecated',
nsfw: 'Show NSFW',
incompatible: 'This package is currently incompatible with STARTLINER.',
missing: 'Missing',
},
patch: {
loading: 'Loading...',
noneFound:
"No compatible patches found. Make sure you're using unpacked and unpatched files.",
// Example patch name override
'standard-no-encryption': 'No encryption',
},
cfg: {
afterRestart: 'Applied after a restart',
hardware: 'Hardware',
segatools: {
general: 'General',
builtIn: 'Segatools built-in emulation',
targetTooltip:
'STARTLINER expects unpacked executables put into otherwise clean data.',
hooks: 'Hooks',
ioModules: 'IO modules',
installTooltip: '{thing} can be downloaded from the package store.',
},
display: {
primary: 'Primary',
target: 'Target display',
mode: 'Mode',
rotation: 'Rotation',
refreshRate: 'Refresh rate',
borderlessFullscreen: 'Borderless fullscreen',
borderlessFullscreenTooltip:
'Match display resolution with the game.',
dontSwitchPrimary: 'Skip switching primary display',
dontSwitchPrimaryTooltip:
'Only enable this option if switching the primary display causes issues. The monitors must have a matching refresh rate.',
index: 'Display index',
portrait: 'Portrait',
landscape: 'Landscape',
flipped: 'flipped',
},
network: {
title: 'Network',
type: 'Network type',
remote: 'Remote',
localArtemis: 'Local (ARTEMiS)',
artemisPath: 'ARTEMiS path',
address: 'Server address',
keychip: 'Keychip',
subnet: 'Subnet',
addrSuffix: 'Address suffix',
},
aime: {
type: 'Aime type',
modules: 'Aime modules',
code: 'Aime code',
codeTooltip:
'Only applicable with the segatools built-in emulation or with compatible third-party packages',
aimedb: 'Use AiMeDB for physical cards',
aimedbTooltip:
'Whether physical cards should use AiMeDB to retrieve access codes. If the game is using a hosted network, enable this option to load the same account data/profile as you would get on a physical cab.',
serialPort: 'Aime serial port',
serialPortTooltip: `Ports can be checked in Devices and Printers or at googlechromelabs.github.io/serial-terminal
For AIC Pico, the AIME port should be selected.`,
serverName: 'Server name',
},
misc: {
title: 'Miscellaneous',
intel: 'OpenSSL bug workaround for Intel ≥10th gen',
intelTooltip: 'It is recommended to patch amdaemon instead.',
other: 'Other segatools options',
otherTooltip:
'Advanced or situational options not covered by STARTLINER',
},
extensions: {
title: 'Extensions',
bepInExConsole: 'BepInEx console',
audioMode: 'Audio mode',
audioTooltip:
'Exclusive 2-channel mode requires 7EVENDAYSHOLIDAYS-ExclusiveAudio',
audioShared: 'Shared',
audio6Ch: 'Exclusive 6-channel',
audio2Ch: 'Exclusive 2-channel',
sampleRate: 'Sample rate',
blacklist: 'Song ID blacklist',
blacklistTooltip:
'Scores on charts within this ID range will not be saved nor uploaded',
bonusTracks: 'Unlock bonus tracks',
bonusTracksTooltip:
'Disabling this option can help declutter the song list',
saekawa: 'Saekawa configuration file',
inohara: 'Inohara configuration file',
},
keyboard: {
title: 'Keyboard',
tooltip:
'Only applicable if the IO module is set to segatools built-in (keyboard) or a compatible third-party module (like mu3io.NET)',
leverMode: 'Lever mode',
mouse: 'Mouse',
},
startliner: {
offlineMode: 'Offline mode',
offlineModeTooltip: 'Disables the package store.',
autoUpdate: 'Automatic updates',
verbose: 'Detailed logs',
},
},
};