mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
properly localize pluralized "usages" word
GitOrigin-RevId: f334d43eba51f4f47d8b63533ffb51a16571e117
This commit is contained in:
committed by
intellij-monorepo-bot
parent
899f51bcee
commit
2037ea615f
+1
-1
@@ -86,7 +86,7 @@ public class FindUnusedTestDataAction extends DumbAwareAction {
|
||||
"Unused Test Data",
|
||||
p -> {
|
||||
p.setCodeUsages(false);
|
||||
p.setUsagesWord("file");
|
||||
p.setUsagesWord(count -> ExecutionBundle.message("label.usages.word.file", count));
|
||||
}, project));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -540,3 +540,4 @@ popup.title.select.process.to.update=Select Process to Update
|
||||
dialog.message.working.directory.null.for.project.module=Working directory is null for project ''{0}'' ({1}), module {2}
|
||||
dialog.message.working.directory.doesn.t.exist=Working directory ''{0}'' doesn''t exist
|
||||
do.not.build.before.run=Do not build before run
|
||||
label.usages.word.file={0, choice, 1#file|2#files}
|
||||
|
||||
@@ -2,7 +2,7 @@ node.targets=Targets
|
||||
node.non.code.usages=Non-code usages
|
||||
node.usages.in.generated.code=Usages in generated code
|
||||
node.found.usages=Found usages
|
||||
usage.name=usage
|
||||
usage.name={0, choice, 1#usage|2#usages}
|
||||
usages.title=Usages
|
||||
usages.n={0,choice, 0#no usages|1#1 usage|2#{0,number} usages} found
|
||||
action.show.import.statements=Show import statements
|
||||
|
||||
@@ -4,7 +4,6 @@ package com.intellij.usages;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.GuiUtils;
|
||||
import com.intellij.usageView.UsageViewBundle;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -21,7 +20,7 @@ public final class UsageLimitUtil {
|
||||
@NotNull final String message,
|
||||
@NotNull final UsageViewPresentation usageViewPresentation) {
|
||||
int result = runOrInvokeAndWait(() -> {
|
||||
String title = UsageViewBundle.message("find.excessive.usages.title", StringUtil.capitalize(StringUtil.pluralize(usageViewPresentation.getUsagesWord())));
|
||||
String title = UsageViewBundle.message("find.excessive.usages.title", usageViewPresentation.getUsagesWord(2));
|
||||
return Messages.showOkCancelDialog(project, message,
|
||||
title, UsageViewBundle.message("button.text.continue"), UsageViewBundle.message("button.text.abort"),
|
||||
Messages.getWarningIcon());
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
// Copyright 2000-2020 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.usages;
|
||||
|
||||
import static org.jetbrains.annotations.Nls.Capitalization.Title;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.usageView.UsageViewBundle;
|
||||
import java.util.Objects;
|
||||
import java.util.regex.Pattern;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static org.jetbrains.annotations.Nls.Capitalization.Title;
|
||||
|
||||
public class UsageViewPresentation {
|
||||
|
||||
private static final Logger LOG = Logger.getInstance(UsageViewPresentation.class);
|
||||
@@ -29,7 +31,7 @@ public class UsageViewPresentation {
|
||||
private boolean myOpenInNewTab = true;
|
||||
private boolean myCodeUsages = true;
|
||||
private boolean myUsageTypeFilteringAvailable;
|
||||
private String myUsagesWord = UsageViewBundle.message("usage.name");
|
||||
private Function<Integer, String> myUsagesWordSupplier = count -> UsageViewBundle.message("usage.name", count);
|
||||
|
||||
private String myTabName;
|
||||
private String myToolwindowTitle;
|
||||
@@ -151,13 +153,29 @@ public class UsageViewPresentation {
|
||||
myCodeUsages = codeUsages;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use {@link #getUsagesWord(int)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
@NotNull
|
||||
public String getUsagesWord() {
|
||||
return myUsagesWord;
|
||||
return myUsagesWordSupplier.apply(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Use {@link #setUsagesWord(Function)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
public void setUsagesWord(@NotNull String usagesWord) {
|
||||
myUsagesWord = usagesWord;
|
||||
myUsagesWordSupplier = count -> usagesWord;
|
||||
}
|
||||
|
||||
public String getUsagesWord(int count) {
|
||||
return myUsagesWordSupplier.apply(count);
|
||||
}
|
||||
|
||||
public void setUsagesWord(@NotNull Function<Integer, String> usagesWordSupplier) {
|
||||
myUsagesWordSupplier = usagesWordSupplier;
|
||||
}
|
||||
|
||||
public String getTabName() {
|
||||
@@ -274,7 +292,8 @@ public class UsageViewPresentation {
|
||||
&& Objects.equals(myUsagesInGeneratedCodeString, that.myUsagesInGeneratedCodeString)
|
||||
&& Objects.equals(myUsagesString, that.myUsagesString)
|
||||
&& Objects.equals(mySearchString, that.mySearchString)
|
||||
&& Objects.equals(myUsagesWord, that.myUsagesWord)
|
||||
&& Objects.equals(myUsagesWordSupplier.apply(1), that.myUsagesWordSupplier.apply(1))
|
||||
&& Objects.equals(myUsagesWordSupplier.apply(2), that.myUsagesWordSupplier.apply(2))
|
||||
&& arePatternsEqual(mySearchPattern, that.mySearchPattern)
|
||||
&& arePatternsEqual(myReplacePattern, that.myReplacePattern);
|
||||
}
|
||||
@@ -308,7 +327,8 @@ public class UsageViewPresentation {
|
||||
myCodeUsages,
|
||||
myUsageTypeFilteringAvailable,
|
||||
myExcludeAvailable,
|
||||
myUsagesWord,
|
||||
myUsagesWordSupplier.apply(1),
|
||||
myUsagesWordSupplier.apply(2),
|
||||
myTabName,
|
||||
myToolwindowTitle,
|
||||
myDetachedMode,
|
||||
@@ -336,7 +356,7 @@ public class UsageViewPresentation {
|
||||
copyInstance.myOpenInNewTab = myOpenInNewTab;
|
||||
copyInstance.myCodeUsages = myCodeUsages;
|
||||
copyInstance.myUsageTypeFilteringAvailable = myUsageTypeFilteringAvailable;
|
||||
copyInstance.myUsagesWord = myUsagesWord;
|
||||
copyInstance.myUsagesWordSupplier = myUsagesWordSupplier;
|
||||
copyInstance.myTabName = myTabName;
|
||||
copyInstance.myToolwindowTitle = myToolwindowTitle;
|
||||
copyInstance.myDetachedMode = myDetachedMode;
|
||||
|
||||
Reference in New Issue
Block a user