From 0badd8a1c634a7e7b4aae08f38b40f24f649804e Mon Sep 17 00:00:00 2001 From: marhali Date: Sat, 6 Sep 2025 12:46:49 +0200 Subject: [PATCH 1/2] chore: fix changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3d8901..ffead3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ## [Unreleased] +## [4.8.1] - 2025-09-04 + ### Changed - Update dependencies From 0d1afad9e5ce60526cdc99b642af0fa5fe53b940 Mon Sep 17 00:00:00 2001 From: marhali Date: Sat, 6 Sep 2025 12:49:22 +0200 Subject: [PATCH 2/2] feat: use textarea component for translation dialog locale values Resolves #477 --- CHANGELOG.md | 4 ++++ gradle.properties | 2 +- .../easyi18n/dialog/TranslationDialog.java | 16 +++++++++++----- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffead3c..d043ffe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ ## [Unreleased] +### Changed + +- Use textarea component for translation dialog locale values (#477) + ## [4.8.1] - 2025-09-04 ### Changed diff --git a/gradle.properties b/gradle.properties index e89733e..4fcd503 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ pluginGroup = de.marhali.easyi18n pluginName = easy-i18n pluginRepositoryUrl = https://github.com/marhali/easy-i18n # SemVer format -> https://semver.org -pluginVersion = 4.8.1 +pluginVersion = 4.9.0 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html pluginSinceBuild = 242 diff --git a/src/main/java/de/marhali/easyi18n/dialog/TranslationDialog.java b/src/main/java/de/marhali/easyi18n/dialog/TranslationDialog.java index db4a088..5c1bc5b 100644 --- a/src/main/java/de/marhali/easyi18n/dialog/TranslationDialog.java +++ b/src/main/java/de/marhali/easyi18n/dialog/TranslationDialog.java @@ -3,6 +3,7 @@ package de.marhali.easyi18n.dialog; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.ui.components.JBScrollPane; +import com.intellij.ui.components.JBTextArea; import com.intellij.ui.components.JBTextField; import com.intellij.util.Consumer; import com.intellij.util.ui.FormBuilder; @@ -38,7 +39,7 @@ abstract class TranslationDialog extends DialogWrapper { protected final @NotNull Translation origin; protected final JTextField keyField; - protected final Map localeValueFields; + protected final Map localeValueFields; private final Set> callbacks; @@ -64,7 +65,12 @@ abstract class TranslationDialog extends DialogWrapper { this.localeValueFields = new HashMap<>(); for(String locale : InstanceManager.get(project).store().getData().getLocales()) { - localeValueFields.put(locale, new JBTextField(value != null ? value.get(locale) : null)); + var field = new JBTextArea(value != null ? value.get(locale) : null, 1, 1); + field.setLineWrap(true); + field.setWrapStyleWord(true); + field.setBorder(BorderFactory.createTitledBorder(locale)); + + localeValueFields.put(locale, field); } } @@ -114,7 +120,7 @@ abstract class TranslationDialog extends DialogWrapper { TranslationValue value = new TranslationValue(); - for(Map.Entry entry : localeValueFields.entrySet()) { + for(Map.Entry entry : localeValueFields.entrySet()) { value.put(entry.getKey(), entry.getValue().getText()); } @@ -136,8 +142,8 @@ abstract class TranslationDialog extends DialogWrapper { private JComponent createLocalesPanel() { FormBuilder builder = FormBuilder.createFormBuilder(); - for(Map.Entry localeEntry : localeValueFields.entrySet()) { - builder.addLabeledComponent(localeEntry.getKey(), localeEntry.getValue(), 6, true); + for(Map.Entry localeEntry : localeValueFields.entrySet()) { + builder.addComponent(localeEntry.getValue(), 6); } JScrollPane scrollPane = new JBScrollPane(builder.getPanel());