diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java index 2d49aecd71b2..ee5141d07824 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java @@ -3,6 +3,7 @@ package com.intellij.openapi.roots.ui.configuration.libraryEditor; import com.intellij.icons.AllIcons; import com.intellij.ide.DataManager; +import com.intellij.ide.IdeBundle; import com.intellij.ide.util.treeView.AbstractTreeStructure; import com.intellij.ide.util.treeView.NodeDescriptor; import com.intellij.openapi.Disposable; @@ -179,7 +180,7 @@ public class LibraryRootsComponent implements Disposable, LibraryEditorComponent } myAddExcludedRootActionButton = new AddExcludedRootActionButton(); toolbarDecorator.addExtraAction(myAddExcludedRootActionButton); - toolbarDecorator.addExtraAction(new AnActionButton("Remove", IconUtil.getRemoveIcon()) { + toolbarDecorator.addExtraAction(new AnActionButton(() -> IdeBundle.message("action.AnActionButton.text.remove"), IconUtil.getRemoveIcon()) { @Override public void actionPerformed(@NotNull AnActionEvent e) { final List selectedElements = getSelectedElements(); diff --git a/java/openapi/src/com/intellij/codeInsight/AnnotationsPanel.java b/java/openapi/src/com/intellij/codeInsight/AnnotationsPanel.java index cb501704e41f..678b94a8557d 100644 --- a/java/openapi/src/com/intellij/codeInsight/AnnotationsPanel.java +++ b/java/openapi/src/com/intellij/codeInsight/AnnotationsPanel.java @@ -114,7 +114,8 @@ public class AnnotationsPanel { } final AnActionButton selectButton = - new AnActionButton("Select annotation used for code generation", AllIcons.Actions.Checked) { + new AnActionButton(() -> CodeInsightBundle.message("action.AnActionButton.text.select.annotation.used.for.code.generation"), + AllIcons.Actions.Checked) { @Override public void actionPerformed(@NotNull AnActionEvent e) { String selectedValue = getSelectedAnnotation(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java index 7c8c75c0c743..57c7ea74e0ca 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateListPanel.java @@ -588,7 +588,7 @@ public class TemplateListPanel extends JPanel implements Disposable { }) .disableDownAction() .disableUpAction() - .addExtraAction(new AnActionButton("Duplicate", AllIcons.Actions.Copy) { + .addExtraAction(new AnActionButton(() -> CodeInsightBundle.message("action.AnActionButton.Template.list.text.duplicate"), AllIcons.Actions.Copy) { @Override public void actionPerformed(@NotNull AnActionEvent e) { copyRow(); @@ -598,7 +598,7 @@ public class TemplateListPanel extends JPanel implements Disposable { public void updateButton(@NotNull AnActionEvent e) { e.getPresentation().setEnabled(getTemplate(getSingleSelectedIndex()) != null); } - }).addExtraAction(new AnActionButton("Restore deleted defaults", AllIcons.Actions.Rollback) { + }).addExtraAction(new AnActionButton(() -> CodeInsightBundle.message("action.AnActionButton.text.restore.deleted.defaults"), AllIcons.Actions.Rollback) { @Override public void actionPerformed(@NotNull AnActionEvent e) { TemplateSettings.getInstance().reset(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/settings/PostfixTemplatesConfigurable.java b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/settings/PostfixTemplatesConfigurable.java index e0c06735dd38..e20d9923a6f2 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/settings/PostfixTemplatesConfigurable.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/postfix/settings/PostfixTemplatesConfigurable.java @@ -114,7 +114,7 @@ public class PostfixTemplatesConfigurable implements SearchableConfigurable, Edi } private AnActionButton duplicateAction() { - AnActionButton button = new AnActionButton("Duplicate", PlatformIcons.COPY_ICON) { + AnActionButton button = new AnActionButton(() -> CodeInsightBundle.message("action.AnActionButton.text.duplicate"), PlatformIcons.COPY_ICON) { @Override public void actionPerformed(@NotNull AnActionEvent e) { if (myCheckboxTree != null) { diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/ScopesOrderDialog.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/ScopesOrderDialog.java index 692f5efca5ad..5f860a6ed5dd 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/ScopesOrderDialog.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/ScopesOrderDialog.java @@ -1,6 +1,7 @@ // Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.profile.codeInspection.ui; +import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInspection.ex.InspectionProfileImpl; import com.intellij.icons.AllIcons; import com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable; @@ -55,7 +56,7 @@ public class ScopesOrderDialog extends DialogWrapper { public void run(AnActionButton anActionButton) { ListUtil.moveSelectedItemsUp(myOptionsList); } - }).addExtraAction(new AnActionButton("Edit Scopes", AllIcons.Actions.Edit) { + }).addExtraAction(new AnActionButton(() -> CodeInsightBundle.message("action.AnActionButton.text.edit.scopes"), AllIcons.Actions.Edit) { @Override public void actionPerformed(@NotNull AnActionEvent e) { ShowSettingsUtil.getInstance().editConfigurable(project, new ScopeChooserConfigurable(project)); diff --git a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsConfigurablePanel.java b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsConfigurablePanel.java index c21bb7a74393..c06a048fb043 100644 --- a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsConfigurablePanel.java +++ b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsConfigurablePanel.java @@ -4,6 +4,7 @@ package com.intellij.ui.tabs; import com.intellij.codeEditor.printing.CodeEditorBundle; import com.intellij.icons.AllIcons; +import com.intellij.ide.IdeBundle; import com.intellij.ide.ui.UISettings; import com.intellij.ide.util.scopeChooser.EditScopesDialog; import com.intellij.openapi.Disposable; @@ -80,7 +81,7 @@ public class FileColorsConfigurablePanel extends JPanel implements Disposable { }; final JPanel panel = ToolbarDecorator.createDecorator(myLocalTable) - .addExtraAction(new AnActionButton("Share", AllIcons.Actions.Share) { + .addExtraAction(new AnActionButton(() -> IdeBundle.message("action.AnActionButton.text.share"), AllIcons.Actions.Share) { @Override public void actionPerformed(@NotNull AnActionEvent e) { share(); @@ -116,7 +117,7 @@ public class FileColorsConfigurablePanel extends JPanel implements Disposable { final JPanel sharedPanel = new JPanel(new BorderLayout()); sharedPanel.setBorder(IdeBorderFactory.createTitledBorder(CodeEditorBundle.message("file.colors.shared.colors"), false, JBUI.insetsTop(8)).setShowLine(false)); final JPanel shared = ToolbarDecorator.createDecorator(mySharedTable) - .addExtraAction(new AnActionButton("Unshare", AllIcons.Actions.Unshare) { + .addExtraAction(new AnActionButton(() -> IdeBundle.message("action.AnActionButton.text.unshare"), AllIcons.Actions.Unshare) { @Override public void actionPerformed(@NotNull AnActionEvent e) { unshare(); diff --git a/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java b/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java index 454329bf87ba..0aba0abd9479 100644 --- a/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java +++ b/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java @@ -3,6 +3,7 @@ package com.intellij.webcore.packaging; import com.google.common.collect.Lists; import com.intellij.ide.ActivityTracker; +import com.intellij.ide.IdeBundle; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonShortcuts; import com.intellij.openapi.application.Application; @@ -83,14 +84,14 @@ public class InstalledPackagesPanel extends JPanel { myPackagesTable.getTableHeader().setReorderingAllowed(false); new TableSpeedSearch(myPackagesTable); - myUpgradeButton = new DumbAwareActionButton("Upgrade", IconUtil.getMoveUpIcon()) { + myUpgradeButton = new DumbAwareActionButton(() -> IdeBundle.message("action.AnActionButton.text.upgrade"), IconUtil.getMoveUpIcon()) { @Override public void actionPerformed(@NotNull AnActionEvent e) { PackageManagementUsageCollector.triggerUpgradePerformed(myProject, myPackageManagementService); upgradeAction(); } }; - myInstallButton = new DumbAwareActionButton("Install", IconUtil.getAddIcon()) { + myInstallButton = new DumbAwareActionButton(() -> IdeBundle.message("action.AnActionButton.text.install"), IconUtil.getAddIcon()) { @Override public void actionPerformed(@NotNull AnActionEvent e) { PackageManagementUsageCollector.triggerBrowseAvailablePackagesPerformed(myProject, myPackageManagementService); @@ -101,7 +102,7 @@ public class InstalledPackagesPanel extends JPanel { } }; myInstallButton.setShortcut(CommonShortcuts.getNew()); - myUninstallButton = new DumbAwareActionButton("Uninstall", IconUtil.getRemoveIcon()) { + myUninstallButton = new DumbAwareActionButton(() -> IdeBundle.message("action.AnActionButton.text.uninstall"), IconUtil.getRemoveIcon()) { @Override public void actionPerformed(@NotNull AnActionEvent e) { PackageManagementUsageCollector.triggerUninstallPerformed(myProject, myPackageManagementService); diff --git a/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java b/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java index f08f69c56744..2deb3c113d35 100644 --- a/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java +++ b/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java @@ -2,6 +2,7 @@ package com.intellij.webcore.packaging; import com.intellij.icons.AllIcons; +import com.intellij.ide.IdeBundle; import com.intellij.ide.plugins.PluginManagerMain; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.Application; @@ -85,7 +86,8 @@ public class ManagePackagesDialog extends DialogWrapper { myNotificationArea = new PackagesNotificationPanel(); myNotificationsAreaPlaceholder.add(myNotificationArea.getComponent(), BorderLayout.CENTER); - final AnActionButton reloadButton = new AnActionButton("Reload List of Packages", AllIcons.Actions.Refresh) { + final AnActionButton reloadButton = + new AnActionButton(() -> IdeBundle.message("action.AnActionButton.text.reload.list.of.packages"), AllIcons.Actions.Refresh) { @Override public void actionPerformed(@NotNull AnActionEvent e) { myPackages.setPaintBusy(true); diff --git a/platform/platform-api/src/com/intellij/ui/ToggleActionButton.java b/platform/platform-api/src/com/intellij/ui/ToggleActionButton.java index dc4ff7609c8a..86ad737b1295 100644 --- a/platform/platform-api/src/com/intellij/ui/ToggleActionButton.java +++ b/platform/platform-api/src/com/intellij/ui/ToggleActionButton.java @@ -22,6 +22,7 @@ import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.util.function.Supplier; /** * @author yole @@ -29,7 +30,11 @@ import javax.swing.*; public abstract class ToggleActionButton extends AnActionButton implements Toggleable { public ToggleActionButton(@Nls(capitalization = Nls.Capitalization.Title) String text, Icon icon) { - super(text, null, icon); + super(() -> text, Presentation.NULL_STRING, icon); + } + + public ToggleActionButton(@NotNull Supplier text, Icon icon) { + super(text, Presentation.NULL_STRING, icon); } /** diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java index e29c02ae744d..d48fb136d068 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java @@ -344,7 +344,9 @@ public class KeymapPanel extends JPanel implements SearchableConfigurable, Confi } }); - myShowOnlyConflictsButton = new ToggleActionButton("Show conflicts with system shortcuts", AllIcons.General.ShowWarning) { + myShowOnlyConflictsButton = + new ToggleActionButton(() -> KeyMapBundle.message("action.AnActionButton.text.show.conflicts.with.system.shortcuts"), + AllIcons.General.ShowWarning) { @Override public boolean isSelected(AnActionEvent e) { return myShowOnlyConflicts; diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/QuickListPanel.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/QuickListPanel.java index 2b598ee7eaa3..6291477857a0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/QuickListPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/QuickListPanel.java @@ -66,7 +66,8 @@ class QuickListPanel { } } }) - .addExtraAction(new AnActionButton("Add Separator", AllIcons.General.SeparatorH) { + .addExtraAction(new AnActionButton(() -> KeyMapBundle.message("action.AnActionButton.text.add.separator"), + AllIcons.General.SeparatorH) { @Override public void actionPerformed(@NotNull AnActionEvent e) { actionsModel.add(QuickList.SEPARATOR_ID); diff --git a/platform/platform-resources-en/src/messages/CodeInsightBundle.properties b/platform/platform-resources-en/src/messages/CodeInsightBundle.properties index 5095866c097b..48004eedeffc 100644 --- a/platform/platform-resources-en/src/messages/CodeInsightBundle.properties +++ b/platform/platform-resources-en/src/messages/CodeInsightBundle.properties @@ -687,4 +687,9 @@ settings.inlay.java.inheritors=Inheritors settings.inlay.java.method.chains=Method chains checkbox.apply.to.the.&topmost.expression=Apply to the &topmost expression action.DumbAware.TemplateListPanel.text.restore.defaults=Restore defaults -action.DumbAware.TemplateListPanel.description.restore.default.setting=Restore default setting for the selected templates \ No newline at end of file +action.DumbAware.TemplateListPanel.description.restore.default.setting=Restore default setting for the selected templates +action.AnActionButton.text.select.annotation.used.for.code.generation=Select annotation used for code generation +action.AnActionButton.text.duplicate=Duplicate +action.AnActionButton.text.edit.scopes=Edit Scopes +action.AnActionButton.Template.list.text.duplicate=Duplicate +action.AnActionButton.text.restore.deleted.defaults=Restore deleted defaults \ No newline at end of file diff --git a/platform/platform-resources-en/src/messages/IdeBundle.properties b/platform/platform-resources-en/src/messages/IdeBundle.properties index cf4500b6de9d..334636407fcc 100644 --- a/platform/platform-resources-en/src/messages/IdeBundle.properties +++ b/platform/platform-resources-en/src/messages/IdeBundle.properties @@ -1705,4 +1705,11 @@ action.DumbAware.TerminalView.text.new.session=New Session action.DumbAware.TerminalView.description.create.new.session=Create new session action.NotificationAction.JpsCachesDummyProjectComponent.text.disable.property=Disable Property action.NotificationAction.JpsCachesDummyProjectComponent.text.dont.ask=Don't Ask Again -action.NotificationAction.JpsOutputLoaderManager.text.update.caches=Update Caches \ No newline at end of file +action.NotificationAction.JpsOutputLoaderManager.text.update.caches=Update Caches +action.AnActionButton.text.remove=Remove +action.AnActionButton.text.share=Share +action.AnActionButton.text.unshare=Unshare +action.AnActionButton.text.upgrade=Upgrade +action.AnActionButton.text.install=Install +action.AnActionButton.text.uninstall=Uninstall +action.AnActionButton.text.reload.list.of.packages=Reload List of Packages \ No newline at end of file diff --git a/platform/platform-resources-en/src/messages/KeyMapBundle.properties b/platform/platform-resources-en/src/messages/KeyMapBundle.properties index 31f9864f1a49..1f1a19a63b18 100644 --- a/platform/platform-resources-en/src/messages/KeyMapBundle.properties +++ b/platform/platform-resources-en/src/messages/KeyMapBundle.properties @@ -114,3 +114,5 @@ scope.view.popup.menu=Scope View Popup Menu navigation.bar.popup.menu=Navigation Bar Popup Menu navigation.bar.toolbar=Navigation Bar Toolbar keymap.show.f.on.touch.bar=Show F1, F2, etc. keys on the Touch Bar (requires restart) +action.AnActionButton.text.show.conflicts.with.system.shortcuts=Show conflicts with system shortcuts +action.AnActionButton.text.add.separator=Add Separator diff --git a/platform/platform-resources-en/src/messages/VcsBundle.properties b/platform/platform-resources-en/src/messages/VcsBundle.properties index 56e2678b01ba..2c5d50c416c6 100644 --- a/platform/platform-resources-en/src/messages/VcsBundle.properties +++ b/platform/platform-resources-en/src/messages/VcsBundle.properties @@ -723,4 +723,6 @@ action.NotificationAction.VcsRootProblemNotifier.text.configure=Configure... action.NotificationAction.AllVcses.text.install=Install action.NotificationAction.AllVcses.text.read.more=Read More action.NotificationAction.AllVcses.text.open.plugin.page=Open Plugin Page -action.NotificationAction.InactiveRangesDamagedNotification.text.view.changes=View Changes... \ No newline at end of file +action.NotificationAction.InactiveRangesDamagedNotification.text.view.changes=View Changes... +action.AnActionButton.text.add.jira.pattern=Add JIRA Pattern +action.AnActionButton.text.add.youtrack.pattern=Add YouTrack Pattern \ No newline at end of file diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/IssueNavigationConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/IssueNavigationConfigurationPanel.java index ac8d0834c5a0..0d2956fd1113 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/IssueNavigationConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/IssueNavigationConfigurationPanel.java @@ -100,7 +100,7 @@ public class IssueNavigationConfigurationPanel extends JPanel implements Searcha myModel.fireTableDataChanged(); } } - }).addExtraAction(new DumbAwareActionButton("Add JIRA Pattern", IconUtil.getAddJiraPatternIcon()) { + }).addExtraAction(new DumbAwareActionButton(() -> VcsBundle.message("action.AnActionButton.text.add.jira.pattern"), IconUtil.getAddJiraPatternIcon()) { @Override public void actionPerformed(@NotNull AnActionEvent e) { String s = Messages.showInputDialog(IssueNavigationConfigurationPanel.this, "Enter JIRA installation URL:", @@ -114,7 +114,8 @@ public class IssueNavigationConfigurationPanel extends JPanel implements Searcha myLinks.add(new IssueNavigationLink("[A-Z]+\\-\\d+", s + "browse/$0")); myModel.fireTableDataChanged(); } - }).addExtraAction(new DumbAwareActionButton("Add YouTrack Pattern", IconUtil.getAddYouTrackPatternIcon()) { + }).addExtraAction(new DumbAwareActionButton(() -> VcsBundle.message("action.AnActionButton.text.add.youtrack.pattern"), + IconUtil.getAddYouTrackPatternIcon()) { @Override public void actionPerformed(@NotNull AnActionEvent e) { String s = Messages.showInputDialog(IssueNavigationConfigurationPanel.this, "Enter YouTrack installation URL:", diff --git a/python/pluginResources/messages/PyBundle.properties b/python/pluginResources/messages/PyBundle.properties index 322fa7e386b7..b947105f56a0 100644 --- a/python/pluginResources/messages/PyBundle.properties +++ b/python/pluginResources/messages/PyBundle.properties @@ -1045,4 +1045,6 @@ settings.default.remote.interpreter=Default Python Remote Interpreter action.DumbAware.PydevConsoleRunnerImpl.text.stop.console=Stop Console action.DumbAware.PydevConsoleRunnerImpl.description.stop.python.console=Stop Python Console action.DumbAware.ConcurrencyToolWindowPanel.text.stop.process=Stop process -action.DumbAware.ConcurrencyToolWindowPanel.description.stop.process=Stop process \ No newline at end of file +action.DumbAware.ConcurrencyToolWindowPanel.description.stop.process=Stop process +action.AnActionButton.text.use.conda.package.manager=Use Conda Package Manager +action.AnActionButton.text.show.early.releases=Show Early Releases \ No newline at end of file diff --git a/python/src/com/jetbrains/python/packaging/ui/PyInstalledPackagesPanel.java b/python/src/com/jetbrains/python/packaging/ui/PyInstalledPackagesPanel.java index 1a78e1ad6534..a4d2984c12d7 100644 --- a/python/src/com/jetbrains/python/packaging/ui/PyInstalledPackagesPanel.java +++ b/python/src/com/jetbrains/python/packaging/ui/PyInstalledPackagesPanel.java @@ -31,10 +31,10 @@ import com.intellij.webcore.packaging.InstalledPackage; import com.intellij.webcore.packaging.InstalledPackagesPanel; import com.intellij.webcore.packaging.PackageManagementService; import com.intellij.webcore.packaging.PackagesNotificationPanel; +import com.jetbrains.python.PyBundle; import com.jetbrains.python.packaging.*; import com.jetbrains.python.sdk.PythonSdkUtil; import icons.PythonIcons; -import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -42,6 +42,7 @@ import javax.swing.*; import java.util.Collections; import java.util.List; import java.util.Set; +import java.util.function.Supplier; /** * @author yole @@ -195,7 +196,7 @@ public class PyInstalledPackagesPanel extends InstalledPackagesPanel { @Override protected ToggleActionButton @NotNull [] getExtraActions() { - final ToggleActionButton useCondaButton = new DumbAwareToggleActionButton("Use Conda Package Manager", PythonIcons.Python.Anaconda) { + final ToggleActionButton useCondaButton = new DumbAwareToggleActionButton(() -> PyBundle.message("action.AnActionButton.text.use.conda.package.manager"), PythonIcons.Python.Anaconda) { @Override public boolean isSelected(AnActionEvent e) { final Sdk sdk = getSelectedSdk(); @@ -221,7 +222,8 @@ public class PyInstalledPackagesPanel extends InstalledPackagesPanel { } }; - final ToggleActionButton showEarlyReleasesButton = new DumbAwareToggleActionButton("Show Early Releases", AllIcons.Actions.Show) { + final ToggleActionButton showEarlyReleasesButton = + new DumbAwareToggleActionButton(() -> PyBundle.message("action.AnActionButton.text.show.early.releases"), AllIcons.Actions.Show) { @Override public boolean isSelected(AnActionEvent e) { return PyPackagingSettings.getInstance(myProject).earlyReleasesAsUpgrades; @@ -238,8 +240,7 @@ public class PyInstalledPackagesPanel extends InstalledPackagesPanel { } private abstract static class DumbAwareToggleActionButton extends ToggleActionButton implements DumbAware { - private DumbAwareToggleActionButton(@Nls(capitalization = Nls.Capitalization.Title) String text, - Icon icon) { + private DumbAwareToggleActionButton(@NotNull Supplier text, Icon icon) { super(text, icon); } }