diff --git a/idea/src/org/jetbrains/jet/plugin/JetBundle.java b/idea/src/org/jetbrains/jet/plugin/JetBundle.java new file mode 100644 index 00000000000..8e8e81edc57 --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/JetBundle.java @@ -0,0 +1,36 @@ +package org.jetbrains.jet.plugin; + +import com.intellij.CommonBundle; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.PropertyKey; + +import java.lang.ref.Reference; +import java.lang.ref.SoftReference; +import java.util.ResourceBundle; + +/** + * @author svtk + */ +public class JetBundle { + private static Reference ourBundle; + + @NonNls + private static final String BUNDLE = "org.jetbrains.jet.plugin.JetBundle"; + + private JetBundle() { + } + + public static String message(@NonNls @PropertyKey(resourceBundle = BUNDLE)String key, Object... params) { + return CommonBundle.message(getBundle(), key, params); + } + + private static ResourceBundle getBundle() { + ResourceBundle bundle = null; + if (ourBundle != null) bundle = ourBundle.get(); + if (bundle == null) { + bundle = ResourceBundle.getBundle(BUNDLE); + ourBundle = new SoftReference(bundle); + } + return bundle; + } +} diff --git a/idea/src/org/jetbrains/jet/plugin/JetBundle.properties b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties new file mode 100644 index 00000000000..ae591b8773c --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties @@ -0,0 +1,26 @@ +#quick fix messages +add.function.body=Add function body +add.primary.constructor=Add primary constructor to {0} +add.primary.constructor.family=Add primary constructor +add.return.type=Add return type declaration +change.accessor.type=Change accessor type +change.getter.type=Change getter type to {0} +change.setter.type=Change setter parameter type to {0} +make.variable.immutable=Make variable immutable +make.variable.mutable=Make variable mutable +change.variable.mutability.family=Change variable mutability +remove.function.body=Remove function body +make.element.modifier=Make {0} {1} +add.modifier=Add ''{0}'' modifier +make.element.not.modifier=Make {0} not {1} +remove.modifier=Remove ''{0}'' modifier +remove.modifier.family=Remove modifier +remove.redundant.modifier=Remove redundant ''{0}'' modifier +remove.parts.from.property=Remove {0} from property +remove.parts.from.property.family=Remove parts from property +remove.right.part.of.binary.expression=Remove right part of a binary expression +remove.cast=Remove cast +remove.elvis.operator=Remove elvis operator +replace.operation.in.binary.expression=Replace operation in a binary expression +replace.cast.with.static.assert=Replace a cast with a static assert +replace.to.dot.call=Replace to dot call \ No newline at end of file diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java index 4c919f86e94..c347e044432 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionBodyFix.java @@ -8,6 +8,7 @@ import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -20,13 +21,13 @@ public class AddFunctionBodyFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Add function body"; + return JetBundle.message("add.function.body"); } @NotNull @Override public String getFamilyName() { - return "Add function body"; + return JetBundle.message("add.function.body"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java index 42e28ef25eb..1872257488d 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddModifierFix.java @@ -15,6 +15,7 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lexer.JetKeywordToken; import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.jet.lexer.JetTokens; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -51,9 +52,9 @@ public class AddModifierFix extends JetIntentionAction { @Override public String getText() { if (modifier == JetTokens.ABSTRACT_KEYWORD || modifier == JetTokens.OPEN_KEYWORD) { - return "Make " + getElementName(element) + " " + modifier.getValue(); + return JetBundle.message("make.element.modifier", getElementName(element), modifier.getValue()); } - return "Add '" + modifier.getValue() + "' modifier"; + return JetBundle.message("add.modifier", modifier.getValue()); } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java index ec8e3ee1a50..050bb5eac7f 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddPrimaryConstructorFix.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.JetClass; import org.jetbrains.jet.lang.psi.JetPsiFactory; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -22,13 +23,13 @@ public class AddPrimaryConstructorFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Add primary constructor to " + element.getName(); + return JetBundle.message("add.primary.constructor", element.getName()); } @NotNull @Override public String getFamilyName() { - return "Add primary constructor"; + return JetBundle.message("add.primary.constructor.family"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java index 7314585e233..a6bab35510e 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddReturnTypeFix.java @@ -12,6 +12,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithParameters; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.types.JetType; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -27,13 +28,13 @@ public class AddReturnTypeFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Add return type declaration"; + return JetBundle.message("add.return.type"); } @NotNull @Override public String getFamilyName() { - return "Add return type declaration"; + return JetBundle.message("add.return.type"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java index 17590360691..82a12be3ca2 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeAccessorTypeFix.java @@ -15,6 +15,7 @@ import org.jetbrains.jet.lang.psi.JetPropertyAccessor; import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.psi.JetTypeReference; import org.jetbrains.jet.lang.types.JetType; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -30,13 +31,13 @@ public class ChangeAccessorTypeFix extends JetIntentionAction @NotNull @Override public String getText() { - return "Make variable " + (element.isVar() ? "immutable" : "mutable"); + return element.isVar() ? JetBundle.message("make.variable.immutable") : JetBundle.message("make.variable.mutable"); } @NotNull @Override public String getFamilyName() { - return "Change variable mutability"; + return JetBundle.message("change.variable.mutability.family"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java index 35e58499ddc..3cdc3717fae 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionBodyFix.java @@ -13,6 +13,7 @@ import org.jetbrains.jet.lang.psi.JetElement; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.psi.JetFunction; import org.jetbrains.jet.lexer.JetTokens; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -26,13 +27,13 @@ public class RemoveFunctionBodyFix extends JetIntentionAction { @NotNull @Override public String getText() { - return "Remove function body"; + return JetBundle.message("remove.function.body"); } @NotNull @Override public String getFamilyName() { - return "Remove function body"; + return JetBundle.message("remove.function.body"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java index 79cb415fee0..efe1337520b 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveModifierFix.java @@ -17,6 +17,7 @@ import org.jetbrains.jet.lang.psi.JetModifierListOwner; import org.jetbrains.jet.lexer.JetKeywordToken; import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.jet.lexer.JetTokens; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -32,16 +33,16 @@ public class RemoveModifierFix { private static String makeText(@Nullable JetModifierListOwner element, JetKeywordToken modifier, boolean isRedundant) { if (isRedundant) { - return "Remove redundant '" + modifier.getValue() + "' modifier"; + return JetBundle.message("remove.redundant.modifier", modifier.getValue()); } if (element != null && modifier == JetTokens.ABSTRACT_KEYWORD || modifier == JetTokens.OPEN_KEYWORD) { - return "Make " + AddModifierFix.getElementName(element) + " not " + modifier.getValue(); + return JetBundle.message("make.element.not.modifier", AddModifierFix.getElementName(element), modifier.getValue()); } - return "Remove '" + modifier.getValue() + "' modifier"; + return JetBundle.message("remove.modifier", modifier.getValue()); } private static String getFamilyName() { - return "Remove modifier fix"; + return JetBundle.message("remove.modifier.family"); } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java index f9e3afc1295..e4bcefade98 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemovePartsFromPropertyFix.java @@ -12,6 +12,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithParameters; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.types.JetType; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -66,13 +67,13 @@ public class RemovePartsFromPropertyFix extends JetIntentionAction @NotNull @Override public String getText() { - return "Remove " + partsToRemove(removeGetter, removeSetter, removeInitializer) + " from property"; + return JetBundle.message("remove.parts.from.property", partsToRemove(removeGetter, removeSetter, removeInitializer)); } @NotNull @Override public String getFamilyName() { - return "Remove parts from property to make it abstract"; + return JetBundle.message("remove.parts.from.property.family"); } @Override diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java index 61b72d624c9..9799b3420fa 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveRightPartOfBinaryExpressionFix.java @@ -9,6 +9,7 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithPsiElement; import org.jetbrains.jet.lang.psi.JetBinaryExpression; import org.jetbrains.jet.lang.psi.JetBinaryExpressionWithTypeRHS; import org.jetbrains.jet.lang.psi.JetExpression; +import org.jetbrains.jet.plugin.JetBundle; /** * @author svtk @@ -21,7 +22,7 @@ public abstract class RemoveRightPartOfBinaryExpressionFix { @NotNull @Override public String getText() { - return "Replace to dot call"; + return JetBundle.message("replace.to.dot.call"); } @NotNull @Override public String getFamilyName() { - return "Replace safe call to dot call"; + return JetBundle.message("replace.to.dot.call"); } @Override