i18n(komga-tray): internationalization for desktop app tray menu

This commit is contained in:
Gauthier Roebroeck 2023-12-04 14:30:14 +08:00
parent c628807fac
commit 1ad0cd20a1
4 changed files with 27 additions and 4 deletions

View file

@ -0,0 +1,14 @@
package org.gotson.komga
import org.slf4j.helpers.MessageFormatter
import java.util.ResourceBundle
class RB private constructor() {
companion object {
private val BUNDLE: ResourceBundle = ResourceBundle.getBundle("org.gotson.komga.messages")
fun getString(key: String, vararg args: Any?): String =
if (args.isEmpty()) BUNDLE.getString(key)
else MessageFormatter.arrayFormat(BUNDLE.getString(key), args).message
}
}

View file

@ -4,6 +4,7 @@ import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.loadSvgPainter
import androidx.compose.ui.window.Tray
import androidx.compose.ui.window.application
import org.gotson.komga.RB
import org.gotson.komga.openExplorer
import org.gotson.komga.openUrl
import org.springframework.beans.factory.annotation.Value
@ -41,10 +42,10 @@ class TrayIconRunner(
Tray(
icon = loadSvgPainter(ClassPathResource("icons/$iconFileName").inputStream, LocalDensity.current),
menu = {
Item("Open Komga", onClick = { openUrl(komgaUrl) })
Item("Show log file", onClick = { openExplorer(logFile) })
Item("Open configuration directory", onClick = { openExplorer(komgaConfigDir) })
Item("Quit Komga", onClick = ::exitApplication)
Item(RB.getString("menu.open_komga"), onClick = { openUrl(komgaUrl) })
Item(RB.getString("menu.show_log"), onClick = { openExplorer(logFile) })
Item(RB.getString("menu.show_conf_dir"), onClick = { openExplorer(komgaConfigDir) })
Item(RB.getString("menu.quit"), onClick = ::exitApplication)
},
)
}

View file

@ -0,0 +1,4 @@
menu.open_komga=Open Komga
menu.quit=Quit Komga
menu.show_conf_dir=Open configuration directory
menu.show_log=Show log file

View file

@ -0,0 +1,4 @@
menu.open_komga=Ouvrir Komga
menu.quit=Quitter Komga
menu.show_conf_dir=Ouvrir le repertoire de configuration
menu.show_log=Révéler le fichier journal