diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt index b486248a4135..3e1cf1bffbbe 100644 --- a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt +++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt @@ -65,12 +65,6 @@ class IntellijIconClassGeneratorConfig : IconClasses() { iconDirectory = "icons/com/jetbrains/pythonCore", ) - "intellij.gnuGetText"-> IntellijIconClassGeneratorModuleConfig( - className = "LocalizationIcons", - packageName = "com.jetbrains.localization.lcons", - iconDirectory = "icons/com/jetbrains/localization", - ) - "intellij.notebooks.jupyter.core"-> IntellijIconClassGeneratorModuleConfig( className = "JupyterCoreIcons", packageName = "com.intellij.notebooks.jupyter.core.icons", diff --git a/platform/icons/src/PlatformIconMappings.json b/platform/icons/src/PlatformIconMappings.json index 27e200c6359b..e88fccc3410f 100644 --- a/platform/icons/src/PlatformIconMappings.json +++ b/platform/icons/src/PlatformIconMappings.json @@ -222,6 +222,7 @@ "html.svg": "fileTypes/html.svg", "ideaModule.svg": "nodes/ideaModule.svg", "idl.svg": "fileTypes/idl.svg", + "i18n.svg": "fileTypes/i18n.svg", "ignored.svg": "vcs/ignore_file.svg", "java.svg": [ "fileTypes/java.svg", diff --git a/plugins/devkit/devkit-core/resources/icons/expui/localizationFile.svg b/platform/icons/src/expui/fileTypes/i18n.svg similarity index 100% rename from plugins/devkit/devkit-core/resources/icons/expui/localizationFile.svg rename to platform/icons/src/expui/fileTypes/i18n.svg diff --git a/plugins/devkit/devkit-core/resources/icons/expui/localizationFile_dark.svg b/platform/icons/src/expui/fileTypes/i18n_dark.svg similarity index 100% rename from plugins/devkit/devkit-core/resources/icons/expui/localizationFile_dark.svg rename to platform/icons/src/expui/fileTypes/i18n_dark.svg diff --git a/platform/icons/src/fileTypes/i18n.svg b/platform/icons/src/fileTypes/i18n.svg new file mode 100644 index 000000000000..7e396f70e33d --- /dev/null +++ b/platform/icons/src/fileTypes/i18n.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/platform/util/ui/api-dump.txt b/platform/util/ui/api-dump.txt index 1178d8594012..38b5c9626c10 100644 --- a/platform/util/ui/api-dump.txt +++ b/platform/util/ui/api-dump.txt @@ -429,6 +429,7 @@ f:com.intellij.icons.AllIcons$FileTypes - sf:Hprof:javax.swing.Icon - sf:Htaccess:javax.swing.Icon - sf:Html:javax.swing.Icon +- sf:I18n:javax.swing.Icon - sf:Idl:javax.swing.Icon - sf:Image:javax.swing.Icon - sf:Java:javax.swing.Icon diff --git a/platform/util/ui/src/com/intellij/icons/AllIcons.java b/platform/util/ui/src/com/intellij/icons/AllIcons.java index 6e5b08c18b95..ae16701be958 100644 --- a/platform/util/ui/src/com/intellij/icons/AllIcons.java +++ b/platform/util/ui/src/com/intellij/icons/AllIcons.java @@ -466,6 +466,7 @@ public class AllIcons { /** 16x16 */ public static final @NotNull Icon Hprof = load("fileTypes/hprof.svg", 2107471584, 0); /** 16x16 */ public static final @NotNull Icon Htaccess = load("fileTypes/htaccess.svg", -1026396371, 0); /** 16x16 */ public static final @NotNull Icon Html = load("expui/fileTypes/html.svg", "fileTypes/html.svg", 944305592, 0); + /** 16x16 */ public static final @NotNull Icon I18n = load("expui/fileTypes/i18n.svg", "fileTypes/i18n.svg", 1594775427, 0); /** 16x16 */ public static final @NotNull Icon Idl = load("expui/fileTypes/idl.svg", "fileTypes/idl.svg", 1130770662, 0); /** 16x16 */ public static final @NotNull Icon Image = load("expui/fileTypes/image.svg", "fileTypes/image.svg", -266191706, 0); /** 16x16 */ public static final @NotNull Icon Java = load("expui/fileTypes/java.svg", "fileTypes/java.svg", 1296658493, 0); diff --git a/plugins/devkit/devkit-core/gen/org/jetbrains/idea/devkit/DevKitIcons.java b/plugins/devkit/devkit-core/gen/org/jetbrains/idea/devkit/DevKitIcons.java index 30a7ad9f662f..c4c06d0040c8 100644 --- a/plugins/devkit/devkit-core/gen/org/jetbrains/idea/devkit/DevKitIcons.java +++ b/plugins/devkit/devkit-core/gen/org/jetbrains/idea/devkit/DevKitIcons.java @@ -26,7 +26,6 @@ public final class DevKitIcons { /** 12x12 */ public static final @NotNull Icon Properties = load("icons/expui/gutter/properties@14x14.svg", "icons/gutter/properties.svg", -818710709, 2); } - /** 16x16 */ public static final @NotNull Icon LocalizationFile = load("icons/expui/localizationFile.svg", "icons/localizationFile.svg", -1571747209, 2); /** 16x16 */ public static final @NotNull Icon PluginV2 = load("icons/expui/pluginV2.svg", 1719825147, 2); /** 16x16 */ public static final @NotNull Icon RemoteMapping = load("icons/expui/remoteMapping.svg", "icons/remoteMapping.svg", 1371307852, 2); /** 16x16 */ public static final @NotNull Icon Sdk_closed = load("icons/expui/sdkClosed.svg", "icons/sdk_closed.svg", -1355048140, 2); diff --git a/plugins/devkit/devkit-core/resources/icons/localizationFile.svg b/plugins/devkit/devkit-core/resources/icons/localizationFile.svg deleted file mode 100644 index f4fd9c0331fb..000000000000 --- a/plugins/devkit/devkit-core/resources/icons/localizationFile.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/devkit/devkit-core/resources/icons/localizationFile_dark.svg b/plugins/devkit/devkit-core/resources/icons/localizationFile_dark.svg deleted file mode 100644 index bdfd4478019f..000000000000 --- a/plugins/devkit/devkit-core/resources/icons/localizationFile_dark.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/devkit/intellij.devkit.i18n/resources/intellij.devkit.i18n.xml b/plugins/devkit/intellij.devkit.i18n/resources/intellij.devkit.i18n.xml index e57332be679e..7a181fee7629 100644 --- a/plugins/devkit/intellij.devkit.i18n/resources/intellij.devkit.i18n.xml +++ b/plugins/devkit/intellij.devkit.i18n/resources/intellij.devkit.i18n.xml @@ -11,8 +11,6 @@ - - com.intellij.java-i18n Java Internationalization Other Tools + JetBrains + com.intellij.properties com.intellij.modules.java com.intellij.modules.platform + Provides code inspections and corresponding quick fixes for internationalization in Java source code. - JetBrains + messages.PropertiesBundle + + JAVA com.intellij.codeInspection.capitalization.AnnotateCapitalizationIntention @@ -90,7 +95,10 @@ + + + diff --git a/plugins/java-i18n/src/com/intellij/java/i18n/MessagesFileIconProvider.kt b/plugins/java-i18n/src/com/intellij/java/i18n/MessagesFileIconProvider.kt new file mode 100644 index 000000000000..6f25cb453180 --- /dev/null +++ b/plugins/java-i18n/src/com/intellij/java/i18n/MessagesFileIconProvider.kt @@ -0,0 +1,26 @@ +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.java.i18n + +import com.intellij.icons.AllIcons +import com.intellij.ide.FileIconProvider +import com.intellij.openapi.project.Project +import com.intellij.openapi.vfs.VirtualFile +import javax.swing.Icon + +internal class MessagesFileIconProvider : FileIconProvider { + private val messagesPattern: Regex = Regex("messages(_[a-z]+)?\\.properties") + private val validationMessagesPattern: Regex = Regex("(.*)Messages(_[a-z]+)?\\.properties") + private val bundlePattern: Regex = Regex("(.*)Bundle(_.+)?\\.properties") + + override fun getIcon(file: VirtualFile, flags: Int, project: Project?): Icon? { + if (file.name.matches(messagesPattern) + || validationMessagesPattern.matches(file.name)) { + return AllIcons.FileTypes.I18n + } + if (file.parent?.name == "messages" + && file.name.matches(bundlePattern)) { + return AllIcons.FileTypes.I18n + } + return null + } +} \ No newline at end of file