<idea-plugin version="2">
  <id>com.intellij.java-i18n</id>
  <name>I18n for Java</name>
  <depends>com.intellij.properties</depends>
  <description>
    This plugin provides code inspections and corresponding quick fixes for code internationalization.
  </description>
  <vendor>JetBrains</vendor>
  <resource-bundle>messages.PropertiesBundle</resource-bundle>
  <extensionPoints>
    <extensionPoint name="resourceBundleManager"
                    interface="com.intellij.lang.properties.psi.ResourceBundleManager"
                    area="IDEA_PROJECT"/>
    <extensionPoint name="i18nizeHandlerProvider" interface="com.intellij.codeInspection.i18n.I18nizeHandlerProvider"/>
  </extensionPoints>

  <extensions defaultExtensionNs="com.intellij.java-i18n">
    <i18nizeHandlerProvider implementation="com.intellij.codeInspection.i18n.I18nizeJspHandlerProvider"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij">
    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
    <referenceProviderType key="Properties File Key Provider"
                           implementationClass="com.intellij.lang.properties.PropertiesReferenceProvider"/>
    <psi.referenceContributor implementation="com.intellij.psi.impl.source.resolve.reference.impl.providers.JavaReferenceContributor"/>
    <psi.referenceContributor implementation="com.intellij.lang.properties.PropertiesReferenceContributor"/>
    <lang.foldingBuilder language="JAVA" implementationClass="com.intellij.codeInspection.i18n.folding.PropertyFoldingBuilder" order="FIRST"/>
    <gotoDeclarationHandler implementation="com.intellij.codeInspection.i18n.folding.I18nMessageGotoDeclarationHandler" order="FIRST"/>
    <inlineActionHandler implementation="com.intellij.refactoring.inline.InlinePropertyHandler"/>

    <localInspection shortName="HardCodedStringLiteral" bundle="messages.CodeInsightBundle" key="inspection.i18n.display.name"
                     groupBundle="messages.InspectionsBundle" groupKey="group.names.internationalization.issues" enabledByDefault="false" level="WARNING"
                     implementationClass="com.intellij.codeInspection.i18n.I18nInspection"/>
    <localInspection language="JAVA" shortName="UnresolvedPropertyKey" bundle="messages.CodeInsightBundle"
                     key="inspection.unresolved.property.key.reference.name"
                     groupBundle="messages.InspectionsBundle" groupKey="group.names.properties.files" enabledByDefault="true"
                     level="ERROR" implementationClass="com.intellij.codeInspection.i18n.InvalidPropertyKeyInspection"/>
    <globalInspection shortName="InconsistentResourceBundle" bundle="messages.InspectionsBundle"
                      key="inconsistent.resource.bundle.display.name" groupBundle="messages.PropertiesBundle"
                      groupKey="properties.files.inspection.group.display.name" enabledByDefault="true" level="ERROR"
                      implementationClass="com.intellij.codeInspection.i18n.inconsistentResourceBundle.InconsistentResourceBundleInspection"/>
    <localInspection language="Properties" shortName="UnusedMessageFormatParameter" bundle="messages.PropertiesBundle"
                     key="unused.message.format.parameter.display.name" groupKey="properties.files.inspection.group.display.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="com.intellij.lang.properties.UnusedMessageFormatParameterInspection"/>
    <localInspection language="JAVA" shortName="DuplicateStringLiteralInspection" bundle="messages.InspectionsBundle"
                     key="inspection.duplicates.display.name" groupName="Internationalization issues" enabledByDefault="false"
                     level="WARNING"
                     implementationClass="com.intellij.codeInspection.duplicateStringLiteral.DuplicateStringLiteralInspection"/>
  </extensions>
  <actions>
    <action id="I18nize" class="com.intellij.codeInspection.i18n.I18nizeAction">
      <add-to-group group-id="RefactoringMenu" anchor="last" />
    </action>
  </actions>
</idea-plugin>
