From 91563dafec5bcd99275fe0189c39c936f182f13a Mon Sep 17 00:00:00 2001 From: DeflatedPickle Date: Mon, 12 Oct 2020 20:05:39 +0100 Subject: [PATCH 1/2] Possible fix for #15 --- .../quiver/launcher/Launcher.kt | 20 +++++++++++++++---- .../quiver/launcher/window/menu/MenuBar.kt | 6 ++---- .../quiver/launcher/window/menu/MenuFile.kt | 5 +++++ .../quiver/launcher/window/menu/MenuTools.kt | 5 +++++ 4 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuFile.kt create mode 100644 launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuTools.kt diff --git a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt index 4653307..218e958 100644 --- a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt +++ b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt @@ -9,6 +9,8 @@ import com.deflatedpickle.haruhi.util.RegistryUtil import com.deflatedpickle.quiver.backend.util.ActionUtil import com.deflatedpickle.quiver.frontend.extension.add import com.deflatedpickle.quiver.launcher.window.Toolbar +import com.deflatedpickle.quiver.launcher.window.menu.MenuFile +import com.deflatedpickle.quiver.launcher.window.menu.MenuTools import javax.swing.JMenu @Plugin( @@ -28,10 +30,20 @@ object Launcher { val lang = LangUtil.getLang("deflatedpickle@launcher#1.0.0") val menuBar = RegistryUtil.get(MenuCategory.MENU.name) - (menuBar?.get(MenuCategory.FILE.name) as JMenu).apply { - add(lang.trans("action.new_pack")) { ActionUtil.newPack() } - add(lang.trans("action.open_pack")) { ActionUtil.openPack() } - addSeparator() + if (menuBar != null) { + val menuFile = menuBar.get(MenuCategory.FILE.name) + if (menuFile is JMenu) { + menuFile.text = lang.trans("menu.file") + + menuFile.add(lang.trans("action.new_pack")) { ActionUtil.newPack() } + menuFile.add(lang.trans("action.open_pack")) { ActionUtil.openPack() } + menuFile.addSeparator() + } + + val menuTools = menuBar.get(MenuCategory.TOOLS.name) + if (menuTools is JMenu) { + menuTools.text = lang.trans("menu.tools") + } } Toolbar.add(lang.trans("action.new_pack")) { ActionUtil.newPack() } diff --git a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuBar.kt b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuBar.kt index 08c06d9..d8bb5a0 100644 --- a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuBar.kt +++ b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuBar.kt @@ -13,10 +13,8 @@ import javax.swing.JMenuBar object MenuBar : JMenuBar() { private val menuRegistry = object : Registry() { init { - val lang = LangUtil.getLang("deflatedpickle@launcher#1.0.0") - - register(MenuCategory.FILE.name, addMenu(JMenu(lang.trans("menu.file")))) - register(MenuCategory.TOOLS.name, addMenu(JMenu(lang.trans("menu.tools")))) + register(MenuCategory.FILE.name, addMenu(MenuFile)) + register(MenuCategory.TOOLS.name, addMenu(MenuTools)) } } diff --git a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuFile.kt b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuFile.kt new file mode 100644 index 0000000..5a86731 --- /dev/null +++ b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuFile.kt @@ -0,0 +1,5 @@ +package com.deflatedpickle.quiver.launcher.window.menu + +import javax.swing.JMenu + +object MenuFile : JMenu() \ No newline at end of file diff --git a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuTools.kt b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuTools.kt new file mode 100644 index 0000000..0223301 --- /dev/null +++ b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/window/menu/MenuTools.kt @@ -0,0 +1,5 @@ +package com.deflatedpickle.quiver.launcher.window.menu + +import javax.swing.JMenu + +object MenuTools : JMenu() \ No newline at end of file From a0e5d3dcd26cfcc16b31322b1ee2aff366e54047 Mon Sep 17 00:00:00 2001 From: DeflatedPickle Date: Thu, 15 Oct 2020 22:46:30 +0100 Subject: [PATCH 2/2] Removed the automatic lang loader --- build.gradle | 2 +- .../deflatedpickle/quiver/backend/api/Lang.kt | 20 ++++++++ .../quiver/backend/lang/QuiverLang.kt | 10 ++++ .../quiver/frontend/dialog/NewDialog.kt | 46 +++++++++---------- .../quiver/filepanel/Component.kt | 17 ++++--- .../quiver/filepanel/FilePanel.kt | 8 ++-- .../quiver/filepanel/lang/FilePanelLang.kt | 10 ++++ filetable/build.gradle | 2 +- .../deflatedpickle/quiver/filetable/Table.kt | 7 ++- .../quiver/filetable/lang/FileTableLang.kt | 10 ++++ launcher/build.gradle | 2 + .../quiver/launcher/Launcher.kt | 18 +++----- .../quiver/launcher/lang/LauncherLang.kt | 10 ++++ .../deflatedpickle/quiver/launcher/main.kt | 22 --------- 14 files changed, 109 insertions(+), 75 deletions(-) create mode 100644 core/src/main/kotlin/com/deflatedpickle/quiver/backend/api/Lang.kt create mode 100644 core/src/main/kotlin/com/deflatedpickle/quiver/backend/lang/QuiverLang.kt create mode 100644 filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/lang/FilePanelLang.kt create mode 100644 filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/lang/FileTableLang.kt create mode 100644 launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/lang/LauncherLang.kt diff --git a/build.gradle b/build.gradle index 0e7774d..0d5ade6 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ plugins { } group 'com.deflatedpickle' -version '1.0.0' +version '1.1.2' allprojects { repositories { diff --git a/core/src/main/kotlin/com/deflatedpickle/quiver/backend/api/Lang.kt b/core/src/main/kotlin/com/deflatedpickle/quiver/backend/api/Lang.kt new file mode 100644 index 0000000..2007295 --- /dev/null +++ b/core/src/main/kotlin/com/deflatedpickle/quiver/backend/api/Lang.kt @@ -0,0 +1,20 @@ +package com.deflatedpickle.quiver.backend.api + +import java.util.* + +abstract class Lang( + prefix: String, + lang: String? = null +) { + private val locale = Locale(lang ?: Locale.getDefault().language) + private val bundle = ResourceBundle.getBundle( + "lang/${prefix}", + locale + ) + + /** + * Translate a key from this bundle + */ + @Suppress("unused") + fun trans/*rights*/(key: String): String = this.bundle.getString(key) +} \ No newline at end of file diff --git a/core/src/main/kotlin/com/deflatedpickle/quiver/backend/lang/QuiverLang.kt b/core/src/main/kotlin/com/deflatedpickle/quiver/backend/lang/QuiverLang.kt new file mode 100644 index 0000000..280de66 --- /dev/null +++ b/core/src/main/kotlin/com/deflatedpickle/quiver/backend/lang/QuiverLang.kt @@ -0,0 +1,10 @@ +package com.deflatedpickle.quiver.backend.lang + +import com.deflatedpickle.haruhi.util.ConfigUtil +import com.deflatedpickle.quiver.backend.api.Lang +import com.deflatedpickle.quiver.config.QuiverSettings + +object QuiverLang : Lang( + "quiver", + ConfigUtil.getSettings("deflatedpickle@quiver#1.2.0").language +) \ No newline at end of file diff --git a/core/src/main/kotlin/com/deflatedpickle/quiver/frontend/dialog/NewDialog.kt b/core/src/main/kotlin/com/deflatedpickle/quiver/frontend/dialog/NewDialog.kt index 1417038..ab02541 100644 --- a/core/src/main/kotlin/com/deflatedpickle/quiver/frontend/dialog/NewDialog.kt +++ b/core/src/main/kotlin/com/deflatedpickle/quiver/frontend/dialog/NewDialog.kt @@ -1,7 +1,7 @@ package com.deflatedpickle.quiver.frontend.dialog -import com.deflatedpickle.haruhi.util.LangUtil import com.deflatedpickle.haruhi.util.PluginUtil +import com.deflatedpickle.quiver.backend.lang.QuiverLang import com.deflatedpickle.quiver.backend.util.* import com.deflatedpickle.quiver.frontend.widget.ButtonField import com.deflatedpickle.rawky.ui.constraints.FillHorizontal @@ -15,22 +15,20 @@ import java.io.File import javax.swing.* import javax.swing.text.PlainDocument -val lang = LangUtil.getLang("deflatedpickle@quiver#1.2.0") - -class NewDialog : TaskDialog(PluginUtil.window, lang.trans("dialog.new.title")) { - val namespaceEntry = JXTextField(lang.trans("dialog.new.namespace")).apply { - toolTipText = lang.trans("dialog.new.namespace.tooltip") +class NewDialog : TaskDialog(PluginUtil.window, QuiverLang.trans("dialog.new.title")) { + val namespaceEntry = JXTextField(QuiverLang.trans("dialog.new.namespace")).apply { + toolTipText = QuiverLang.trans("dialog.new.namespace.tooltip") (document as PlainDocument).documentFilter = Filters.FILE } - val nameEntry = JXTextField(lang.trans("dialog.new.name")).apply { - toolTipText = lang.trans("dialog.new.name.tooltip") + val nameEntry = JXTextField(QuiverLang.trans("dialog.new.name")).apply { + toolTipText = QuiverLang.trans("dialog.new.name.tooltip") (document as PlainDocument).documentFilter = Filters.FILE } val locationEntry = ButtonField( - lang.trans("dialog.new.location"), - lang.trans("dialog.new.location.tooltip"), + QuiverLang.trans("dialog.new.location"), + QuiverLang.trans("dialog.new.location.tooltip"), Filters.PATH, - lang.trans("dialog.new.location.open") + QuiverLang.trans("dialog.new.location.open") ) { val directoryChooser = JFileChooser().apply { currentDirectory = File(".") @@ -56,11 +54,11 @@ class NewDialog : TaskDialog(PluginUtil.window, lang.trans("dialog.new.title")) ) } - toolTipText = lang.trans("dialog.new.version.tooltip") + toolTipText = QuiverLang.trans("dialog.new.version.tooltip") selectedItem = this.itemCount } - val descriptionEntry = JXTextArea(lang.trans("dialog.new.description")).apply { - toolTipText = lang.trans("dialog.new.description.tooltip") + val descriptionEntry = JXTextArea(QuiverLang.trans("dialog.new.description")).apply { + toolTipText = QuiverLang.trans("dialog.new.description.tooltip") border = BorderFactory.createEtchedBorder() } @@ -82,8 +80,8 @@ class NewDialog : TaskDialog(PluginUtil.window, lang.trans("dialog.new.title")) for (packType in PackType.values()) { this.getChildButton(packType).apply { toolTipText = when(packType) { - PackType.EMPTY_PACK -> lang.trans("dialog.new.type.empty.tooltip") - PackType.DEFAULT_PACK -> lang.trans("dialog.new.type.default.tooltip") + PackType.EMPTY_PACK -> QuiverLang.trans("dialog.new.type.empty.tooltip") + PackType.DEFAULT_PACK -> QuiverLang.trans("dialog.new.type.default.tooltip") } isOpaque = false } @@ -121,28 +119,28 @@ class NewDialog : TaskDialog(PluginUtil.window, lang.trans("dialog.new.title")) layout = GridBagLayout() /* Pack */ - this.add(JXTitledSeparator(lang.trans("dialog.new.separator.pack")), FillHorizontalFinishLine) + this.add(JXTitledSeparator(QuiverLang.trans("dialog.new.separator.pack")), FillHorizontalFinishLine) - this.add(JXLabel(lang.trans("dialog.new.namespace") + ":"), StickEast) + this.add(JXLabel(QuiverLang.trans("dialog.new.namespace") + ":"), StickEast) this.add(namespaceEntry, FillHorizontalFinishLine) - this.add(JXLabel(lang.trans("dialog.new.name") + ":"), StickEast) + this.add(JXLabel(QuiverLang.trans("dialog.new.name") + ":"), StickEast) this.add(nameEntry, FillHorizontalFinishLine) - this.add(JXLabel(lang.trans("dialog.new.location") + ":"), StickEast) + this.add(JXLabel(QuiverLang.trans("dialog.new.location") + ":"), StickEast) this.add(locationEntry, FillHorizontalFinishLine) /* Metadata */ - this.add(JXTitledSeparator(lang.trans("dialog.new.metadata")), FillHorizontalFinishLine) + this.add(JXTitledSeparator(QuiverLang.trans("dialog.new.metadata")), FillHorizontalFinishLine) - this.add(JXLabel(lang.trans("dialog.new.version") + ":"), StickEast) + this.add(JXLabel(QuiverLang.trans("dialog.new.version") + ":"), StickEast) this.add(packVersionComboBox, FillHorizontalFinishLine) - this.add(JXLabel(lang.trans("dialog.new.description") + ":"), StickEast) + this.add(JXLabel(QuiverLang.trans("dialog.new.description") + ":"), StickEast) this.add(descriptionEntry, FillHorizontalFinishLine) /* Pack Type */ - this.add(JXTitledSeparator(lang.trans("dialog.new.type")), FillHorizontalFinishLine) + this.add(JXTitledSeparator(QuiverLang.trans("dialog.new.type")), FillHorizontalFinishLine) this.add(JXPanel().apply { isOpaque = false diff --git a/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/Component.kt b/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/Component.kt index 4a50271..ffbe4bb 100644 --- a/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/Component.kt +++ b/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/Component.kt @@ -3,6 +3,7 @@ package com.deflatedpickle.quiver.filepanel import com.deflatedpickle.haruhi.util.LangUtil import com.deflatedpickle.haruhi.component.PluginPanel import com.deflatedpickle.haruhi.event.EventProgramFinishSetup +import com.deflatedpickle.quiver.filepanel.lang.FilePanelLang import com.deflatedpickle.rawky.ui.constraints.* import org.jdesktop.swingx.JXButton import org.jdesktop.swingx.JXLabel @@ -69,15 +70,13 @@ object Component : PluginPanel() { this.add(widgetPanel, FillBothFinishLine) EventProgramFinishSetup.addListener { - val lang = LangUtil.getLang("deflatedpickle@file_panel#1.0.0") - - this.nameLabel.text = "${lang.trans("file.name")}:" - this.nameField.prompt = lang.trans("file.name") - this.typeField.prompt = lang.trans("file.type") - this.fileSizeLabel.text = "${lang.trans("file.size")}:" - this.openButton.text = lang.trans("file.open") - this.editButton.text = lang.trans("file.edit") - (this.widgetPanel.border as TitledBorder).title = lang.trans("file.view") + this.nameLabel.text = "${FilePanelLang.trans("file.name")}:" + this.nameField.prompt = FilePanelLang.trans("file.name") + this.typeField.prompt = FilePanelLang.trans("file.type") + this.fileSizeLabel.text = "${FilePanelLang.trans("file.size")}:" + this.openButton.text = FilePanelLang.trans("file.open") + this.editButton.text = FilePanelLang.trans("file.edit") + (this.widgetPanel.border as TitledBorder).title = FilePanelLang.trans("file.view") } } diff --git a/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/FilePanel.kt b/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/FilePanel.kt index ce22efc..215eaff 100644 --- a/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/FilePanel.kt +++ b/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/FilePanel.kt @@ -2,13 +2,17 @@ package com.deflatedpickle.quiver.filepanel import com.deflatedpickle.haruhi.util.LangUtil import com.deflatedpickle.haruhi.api.Registry +import com.deflatedpickle.haruhi.api.lang.Lang import com.deflatedpickle.haruhi.api.plugin.Plugin import com.deflatedpickle.haruhi.api.plugin.PluginType import com.deflatedpickle.haruhi.event.EventProgramFinishSetup +import com.deflatedpickle.haruhi.util.ConfigUtil import com.deflatedpickle.haruhi.util.RegistryUtil import com.deflatedpickle.quiver.backend.api.Viewer import com.deflatedpickle.quiver.backend.event.EventSelectFile +import com.deflatedpickle.quiver.config.QuiverSettings import com.deflatedpickle.quiver.filepanel.event.EventChangeViewWidget +import com.deflatedpickle.quiver.filepanel.lang.FilePanelLang import org.apache.commons.io.FileUtils import org.jdesktop.swingx.JXRadioGroup import java.awt.BorderLayout @@ -39,9 +43,7 @@ object FilePanel { RegistryUtil.register("viewer", Registry>>() as Registry) EventProgramFinishSetup.addListener { - val lang = LangUtil.getLang("deflatedpickle@file_panel#1.0.0") - - this.viewerToolbar.name = lang.trans("toolbar.viewer") + this.viewerToolbar.name = FilePanelLang.trans("toolbar.viewer") Component.widgetPanel.add(this.viewerToolbar, BorderLayout.NORTH) } diff --git a/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/lang/FilePanelLang.kt b/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/lang/FilePanelLang.kt new file mode 100644 index 0000000..4639e40 --- /dev/null +++ b/filepanel/src/main/kotlin/com/deflatedpickle/quiver/filepanel/lang/FilePanelLang.kt @@ -0,0 +1,10 @@ +package com.deflatedpickle.quiver.filepanel.lang + +import com.deflatedpickle.haruhi.util.ConfigUtil +import com.deflatedpickle.quiver.backend.api.Lang +import com.deflatedpickle.quiver.config.QuiverSettings + +object FilePanelLang : Lang( + "filepanel", + ConfigUtil.getSettings("deflatedpickle@quiver#1.2.0").language +) \ No newline at end of file diff --git a/filetable/build.gradle b/filetable/build.gradle index 55e8ee0..87719bf 100644 --- a/filetable/build.gradle +++ b/filetable/build.gradle @@ -2,7 +2,7 @@ plugins { id 'org.jetbrains.kotlin.jvm' } -version = "1.0.1" +version "1.0.1" dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" diff --git a/filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/Table.kt b/filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/Table.kt index 9e877f3..dd49aeb 100644 --- a/filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/Table.kt +++ b/filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/Table.kt @@ -5,6 +5,7 @@ import com.deflatedpickle.haruhi.util.LangUtil import com.deflatedpickle.quiver.backend.event.EventSelectFile import com.deflatedpickle.quiver.backend.util.DocumentUtil import com.deflatedpickle.quiver.filepanel.Component +import com.deflatedpickle.quiver.filetable.lang.FileTableLang import org.jdesktop.swingx.JXTable import java.io.File import javax.swing.JTable @@ -23,13 +24,11 @@ object Table : JXTable() { init { EventProgramFinishSetup.addListener { - val lang = LangUtil.getLang("deflatedpickle@file_table#1.0.1") - this.fileModel.setDataVector( arrayOf(), arrayOf( - lang.trans("table.header.name"), - lang.trans("table.header.extension") + FileTableLang.trans("table.header.name"), + FileTableLang.trans("table.header.extension") ) ) } diff --git a/filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/lang/FileTableLang.kt b/filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/lang/FileTableLang.kt new file mode 100644 index 0000000..a8dddb0 --- /dev/null +++ b/filetable/src/main/kotlin/com/deflatedpickle/quiver/filetable/lang/FileTableLang.kt @@ -0,0 +1,10 @@ +package com.deflatedpickle.quiver.filetable.lang + +import com.deflatedpickle.haruhi.util.ConfigUtil +import com.deflatedpickle.quiver.backend.api.Lang +import com.deflatedpickle.quiver.config.QuiverSettings + +object FileTableLang : Lang( + "filetable", + ConfigUtil.getSettings("deflatedpickle@quiver#1.2.0").language +) \ No newline at end of file diff --git a/launcher/build.gradle b/launcher/build.gradle index 0e19936..1b761b5 100644 --- a/launcher/build.gradle +++ b/launcher/build.gradle @@ -6,6 +6,8 @@ plugins { id 'edu.sc.seis.launch4j' version '2.4.4' } +version "1.0.1" + dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" implementation "org.jetbrains.kotlin:kotlin-reflect:1.3.72" diff --git a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt index 218e958..b60d11d 100644 --- a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt +++ b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/Launcher.kt @@ -1,6 +1,5 @@ package com.deflatedpickle.quiver.launcher -import com.deflatedpickle.haruhi.util.LangUtil import com.deflatedpickle.haruhi.api.constants.MenuCategory import com.deflatedpickle.haruhi.api.plugin.Plugin import com.deflatedpickle.haruhi.api.plugin.PluginType @@ -8,9 +7,8 @@ import com.deflatedpickle.haruhi.event.EventProgramFinishSetup import com.deflatedpickle.haruhi.util.RegistryUtil import com.deflatedpickle.quiver.backend.util.ActionUtil import com.deflatedpickle.quiver.frontend.extension.add +import com.deflatedpickle.quiver.launcher.lang.LauncherLang import com.deflatedpickle.quiver.launcher.window.Toolbar -import com.deflatedpickle.quiver.launcher.window.menu.MenuFile -import com.deflatedpickle.quiver.launcher.window.menu.MenuTools import javax.swing.JMenu @Plugin( @@ -27,27 +25,25 @@ import javax.swing.JMenu object Launcher { init { EventProgramFinishSetup.addListener { - val lang = LangUtil.getLang("deflatedpickle@launcher#1.0.0") - val menuBar = RegistryUtil.get(MenuCategory.MENU.name) if (menuBar != null) { val menuFile = menuBar.get(MenuCategory.FILE.name) if (menuFile is JMenu) { - menuFile.text = lang.trans("menu.file") + menuFile.text = LauncherLang.trans("menu.file") - menuFile.add(lang.trans("action.new_pack")) { ActionUtil.newPack() } - menuFile.add(lang.trans("action.open_pack")) { ActionUtil.openPack() } + menuFile.add(LauncherLang.trans("action.new_pack")) { ActionUtil.newPack() } + menuFile.add(LauncherLang.trans("action.open_pack")) { ActionUtil.openPack() } menuFile.addSeparator() } val menuTools = menuBar.get(MenuCategory.TOOLS.name) if (menuTools is JMenu) { - menuTools.text = lang.trans("menu.tools") + menuTools.text = LauncherLang.trans("menu.tools") } } - Toolbar.add(lang.trans("action.new_pack")) { ActionUtil.newPack() } - Toolbar.add(lang.trans("action.open_pack")) { ActionUtil.openPack() } + Toolbar.add(LauncherLang.trans("action.new_pack")) { ActionUtil.newPack() } + Toolbar.add(LauncherLang.trans("action.open_pack")) { ActionUtil.openPack() } } } } \ No newline at end of file diff --git a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/lang/LauncherLang.kt b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/lang/LauncherLang.kt new file mode 100644 index 0000000..1c92dd2 --- /dev/null +++ b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/lang/LauncherLang.kt @@ -0,0 +1,10 @@ +package com.deflatedpickle.quiver.launcher.lang + +import com.deflatedpickle.haruhi.util.ConfigUtil +import com.deflatedpickle.quiver.backend.api.Lang +import com.deflatedpickle.quiver.config.QuiverSettings + +object LauncherLang : Lang( + "launcher", + ConfigUtil.getSettings("deflatedpickle@quiver#1.2.0").language +) \ No newline at end of file diff --git a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/main.kt b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/main.kt index ba80946..7264713 100644 --- a/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/main.kt +++ b/launcher/src/main/kotlin/com/deflatedpickle/quiver/launcher/main.kt @@ -178,28 +178,6 @@ fun main(args: Array) { } } - // Load the lang files into a fake registry - for (plugin in PluginUtil.loadedPlugins) { - try { - // Create and register a Lang instance - LangUtil.addLang( - PluginUtil.pluginToSlug(plugin), - Lang( - prefix = plugin.value.replace("_", ""), - lang = ConfigUtil.getSettings("deflatedpickle@quiver#1.2.0").language, - classLoader = ClassGraphUtil.classLoader - ) - ) - } catch (e: ReflectionsException) { - continue - } - // For whatever reason haruhi tries to load a bundle for itself - // when one doesn't exist, so we'll catch this - catch (e: MissingResourceException) { - continue - } - } - SwingUtilities.invokeLater { Window.jMenuBar = MenuBar Window.add(Toolbar, BorderLayout.PAGE_START)