UPDATE: update new language patch

This commit is contained in:
2025-08-21 21:44:16 +07:00
parent ba58d24e06
commit b2adcd7981
13 changed files with 727 additions and 178 deletions

View File

@@ -27,28 +27,42 @@ export default function LanguagePage() {
useEffect(() => {
const getLanguage = async () => {
if (gameDir) {
const subPath = 'StarRail_Data/StreamingAssets/DesignData/Windows'
const fullPath = `${gameDir}/${subPath}`
if (!gameDir) return
const exists = await FSService.DirExists(fullPath)
if (exists) {
const [textLang, voiceLang] = await LanguageService.GetLanguage(fullPath)
setTextLang(textLang)
setVoiceLang(voiceLang)
setFolderCheckResult('success')
setSelectedTextLang(textLang)
setSelectedVoiceLang(voiceLang)
} else {
setTextLang('')
setVoiceLang('')
setSelectedTextLang('')
setSelectedVoiceLang('')
setFolderCheckResult('error')
setGameDir('')
}
const subPath = "StarRail_Data/StreamingAssets"
const fullPath = `${gameDir}/${subPath}`
const exists = await FSService.DirExists(fullPath)
if (!exists) {
setTextLang("")
setVoiceLang("")
setSelectedTextLang("")
setSelectedVoiceLang("")
setFolderCheckResult("error")
setGameDir("")
return
}
const [ok, textLang, voiceLang, err] = await LanguageService.GetLanguage(fullPath)
if (!ok) {
setTextLang("")
setVoiceLang("")
setSelectedTextLang("")
setSelectedVoiceLang("")
setFolderCheckResult("error")
setGameDir("")
toast.error(err)
return
}
// success
setTextLang(textLang)
setVoiceLang(voiceLang)
setFolderCheckResult("success")
setSelectedTextLang(textLang)
setSelectedVoiceLang(voiceLang)
}
getLanguage()
}, [gameDir])
@@ -86,19 +100,19 @@ export default function LanguagePage() {
}
try {
setIsSettingLanguage(true)
const result = await LanguageService.SetLanguage(
const [ok, err] = await LanguageService.SetLanguage(
`${gameDir}/StarRail_Data/StreamingAssets/DesignData/Windows`,
selectedTextLang,
selectedVoiceLang
)
if (result) {
toast.success('Language set successfully')
setTextLang(selectedTextLang)
setVoiceLang(selectedVoiceLang)
}
else {
toast.error('Language set failed')
}
if (ok) {
toast.success('Language set successfully')
setTextLang(selectedTextLang)
setVoiceLang(selectedVoiceLang)
}
else {
toast.error(err)
}
} catch (err: any) {
toast.error('SetLanguage error:', err)
@@ -154,8 +168,8 @@ export default function LanguagePage() {
</div>
{folderCheckResult && (
<div className={`flex items-center gap-2 p-3 rounded-lg ${folderCheckResult === 'success'
? 'bg-success/5 text-success border border-success'
: 'bg-error/5 text-error border border-error'
? 'bg-success/5 text-success border border-success'
: 'bg-error/5 text-error border border-error'
}`}>
{folderCheckResult === 'success' ? (
<>