Skip to content

Commit a98d4ba

Browse files
committed
added plural and singular resources for issues; fixes localization issue in languages where plural form doesn't involve appending an "s" (removed hard-coded "s")
1 parent 4e39bb6 commit a98d4ba

File tree

7 files changed

+127
-49
lines changed

7 files changed

+127
-49
lines changed

RetailCoder.VBE/UI/CodeInspections/CodeInspectionsDockablePresenter.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,10 @@ private void ToggleParsingStatus(bool isParsing = true)
100100
private void Control_CopyResultsToClipboard(object sender, EventArgs e)
101101
{
102102
var results = string.Join("\n", _results.Select(FormatResultForClipboard));
103-
var text = string.Format(RubberduckUI.CodeInspections_NumberOfIssuesFound, DateTime.Now, _results.Count, (_results.Count != 1 ? "s" : string.Empty)) + results;
103+
var resource = _results.Count == 1
104+
? RubberduckUI.CodeInspections_NumberOfIssuesFound_Singular
105+
: RubberduckUI.CodeInspections_NumberOfIssuesFound_Plural;
106+
var text = string.Format(resource, DateTime.Now, _results.Count) + results;
104107

105108
Clipboard.SetText(text);
106109
}

RetailCoder.VBE/UI/CodeInspections/CodeInspectionsToolbar.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void Initialize()
5555
Menu.SetButtonImage(_refreshButton, refreshIcon);
5656

5757
_statusButton = (CommandBarButton)_toolbar.Controls.Add(MsoControlType.msoControlButton, Temporary: true);
58-
_statusButton.Caption = string.Format(RubberduckUI.CodeInspections_NumberOfIssues, 0, "s");
58+
_statusButton.Caption = string.Format(RubberduckUI.CodeInspections_NumberOfIssues_Plural, 0);
5959
_statusButton.FaceId = 463; // Resources.Warning doesn't look good here
6060
_statusButton.Style = MsoButtonStyle.msoButtonIconAndCaption;
6161

@@ -200,7 +200,10 @@ private void _refreshButton_Click(CommandBarButton Ctrl, ref bool CancelDefault)
200200
private void OnIssuesFound(object sender, InspectorIssuesFoundEventArg e)
201201
{
202202
_issueCount = _issueCount + e.Issues.Count;
203-
_statusButton.Caption = string.Format(RubberduckUI.CodeInspections_NumberOfIssues, _issueCount, (_issueCount == 1 ? string.Empty : "s"));
203+
var resource = _issueCount == 1
204+
? RubberduckUI.CodeInspections_NumberOfIssues_Singular
205+
: RubberduckUI.CodeInspections_NumberOfIssues_Plural;
206+
_statusButton.Caption = string.Format(resource, _issueCount);
204207
}
205208

206209
private async void RefreshAsync(CancellationToken token)

RetailCoder.VBE/UI/CodeInspections/CodeInspectionsWindow.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ private void InitWindow()
6565
NextButton.Text = RubberduckUI.Next;
6666
PreviousButton.Text = RubberduckUI.Previous;
6767

68-
StatusLabel.Text = string.Format(RubberduckUI.CodeInspections_NumberOfIssues, 0, "s");
68+
StatusLabel.Text = string.Format(RubberduckUI.CodeInspections_NumberOfIssues_Plural, 0);
6969

7070
RefreshButton.ToolTipText = RubberduckUI.CodeInspections_RefreshToolTip;
7171
QuickFixButton.ToolTipText = RubberduckUI.CodeInspections_QuickFixToolTip;
@@ -123,13 +123,16 @@ public void SetIssuesStatus(int issueCount, bool completed = false)
123123
if (completed)
124124
{
125125
StatusLabel.Image = Resources.exclamation_diamond;
126-
StatusLabel.Text = string.Format(RubberduckUI.CodeInspections_NumberOfIssues, issueCount, (issueCount != 1 ? "s" : string.Empty));
126+
var resource = issueCount == 1
127+
? RubberduckUI.CodeInspections_NumberOfIssues_Singular
128+
: RubberduckUI.CodeInspections_NumberOfIssues_Plural;
129+
StatusLabel.Text = string.Format(resource, issueCount);
127130
QuickFixButton.Enabled = QuickFixButton.HasDropDownItems;
128131
}
129132
else
130133
{
131134
StatusLabel.Image = Resources.hourglass;
132-
StatusLabel.Text = string.Format(RubberduckUI.CodeInspections_InspectingIssues, RubberduckUI.CodeInspections_Inspecting, issueCount, (issueCount != 1 ? "s" : string.Empty));
135+
StatusLabel.Text = string.Format(RubberduckUI.CodeInspections_InspectingIssues_Singular, RubberduckUI.CodeInspections_Inspecting, issueCount, (issueCount != 1 ? "s" : string.Empty));
133136
}
134137
}
135138
}

RetailCoder.VBE/UI/RubberduckUI.Designer.cs

Lines changed: 38 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

RetailCoder.VBE/UI/RubberduckUI.fr.resx

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -354,9 +354,9 @@
354354
<data name="CodeExplorerDockablePresenter_ParseStarted" xml:space="preserve">
355355
<value>{0} (analyse...)</value>
356356
</data>
357-
<data name="CodeInspections_NumberOfIssuesFound" xml:space="preserve">
357+
<data name="CodeInspections_NumberOfIssuesFound_Plural" xml:space="preserve">
358358
<value>Inspections Rubberduck - {0}
359-
{1} problème{2} trouvé{2}.
359+
{1} problèmes trouvés.
360360
</value>
361361
</data>
362362
<data name="Home" xml:space="preserve">
@@ -459,8 +459,8 @@ Attention: les valeurs personnalisées seront perdues.</value>
459459
<data name="AllImplementations_Caption" xml:space="preserve">
460460
<value>Implémentations de '{0}'</value>
461461
</data>
462-
<data name="CodeInspections_InspectingIssues" xml:space="preserve">
463-
<value>{0} ({1} problème{2})</value>
462+
<data name="CodeInspections_InspectingIssues_Singular" xml:space="preserve">
463+
<value>{0} ({1} problème)</value>
464464
</data>
465465
<data name="CodeInspections_PreviousToolTip" xml:space="preserve">
466466
<value>Naviguer au problème précédent</value>
@@ -795,8 +795,9 @@ Attention: les valeurs personnalisées seront perdues.</value>
795795
<data name="CodeInspections_NextToolTip" xml:space="preserve">
796796
<value>Naviguer au prochain problème</value>
797797
</data>
798-
<data name="CodeInspections_NumberOfIssues" xml:space="preserve">
799-
<value>{0} problème{1}</value>
798+
<data name="CodeInspections_NumberOfIssues_Singular" xml:space="preserve">
799+
<value>{0} problème</value>
800+
<comment>{0}=number</comment>
800801
</data>
801802
<data name="CodeInspections_QuickFixToolTip" xml:space="preserve">
802803
<value>Appliquer une solution</value>
@@ -1050,45 +1051,58 @@ Attention: les valeurs personnalisées seront perdues.</value>
10501051
<value>Fusionner les branches</value>
10511052
</data>
10521053
<data name="CodeInspectionSeverity_DoNotShow" xml:space="preserve">
1053-
<value>z Do Not Show</value>
1054+
<value>Ne pas afficher</value>
10541055
</data>
10551056
<data name="CodeInspectionSeverity_Error" xml:space="preserve">
1056-
<value>z Error</value>
1057+
<value>Erreur</value>
10571058
</data>
10581059
<data name="CodeInspectionSeverity_Hint" xml:space="preserve">
1059-
<value>z Hint</value>
1060+
<value>Astuce</value>
10601061
</data>
10611062
<data name="CodeInspectionSeverity_Suggestion" xml:space="preserve">
1062-
<value>z Suggestion</value>
1063+
<value>Suggestion</value>
10631064
</data>
10641065
<data name="CodeInspectionSeverity_Warning" xml:space="preserve">
1065-
<value>z Warning</value>
1066+
<value>Avertissement</value>
10661067
</data>
10671068
<data name="SourceControl_NoRepoFound" xml:space="preserve">
1068-
<value>z No repository found.</value>
1069+
<value>Dépôt introuvable.</value>
10691070
</data>
10701071
<data name="ToDoPriority_High" xml:space="preserve">
1071-
<value>z High</value>
1072+
<value>Haute</value>
10721073
</data>
10731074
<data name="ToDoPriority_Low" xml:space="preserve">
1074-
<value>z Low</value>
1075+
<value>Basse</value>
10751076
</data>
10761077
<data name="ToDoPriority_Medium" xml:space="preserve">
1077-
<value>z Medium</value>
1078+
<value>Moyenne</value>
10781079
</data>
10791080
<data name="SourceControl_SuccessfulMerge" xml:space="preserve">
1080-
<value>z Successfully Merged {0} into {1}</value>
1081+
<value>La branche {0} a été fusionnée dans {1} avec succès.</value>
10811082
</data>
10821083
<data name="SourceControl_DeleteBranchCaption" xml:space="preserve">
1083-
<value>z Rubberduck - Delete Branch</value>
1084+
<value>Rubberduck - Supprimer branche</value>
10841085
</data>
10851086
<data name="SourceControl_CreateNewBranchCaption" xml:space="preserve">
1086-
<value>z Rubberduck - Create Branch</value>
1087+
<value>Rubberduck - Créer branche</value>
10871088
</data>
10881089
<data name="SourceControl_DeleteBranchInstructionsLabel" xml:space="preserve">
1089-
<value>z Please specify branch name.</value>
1090+
<value>Veuillez spécifier le nom de la branche.</value>
10901091
</data>
10911092
<data name="SourceControl_DeleteBranchTitleLable" xml:space="preserve">
1092-
<value>z Delete branch</value>
1093+
<value>Supprimer branche</value>
1094+
</data>
1095+
<data name="CodeInspections_InspectingIssues_Plural" xml:space="preserve">
1096+
<value>{0} ({1} problèmes)</value>
1097+
<comment>{0}=status; {1}=number</comment>
1098+
</data>
1099+
<data name="CodeInspections_NumberOfIssuesFound_Singular" xml:space="preserve">
1100+
<value>Inspections Rubberduck - {0}
1101+
{1} problème trouvé.</value>
1102+
<comment>{0}=timestamp; {1}=number</comment>
1103+
</data>
1104+
<data name="CodeInspections_NumberOfIssues_Plural" xml:space="preserve">
1105+
<value>{0} problèmes</value>
1106+
<comment>{0}=number</comment>
10931107
</data>
10941108
</root>

RetailCoder.VBE/UI/RubberduckUI.resx

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -458,11 +458,12 @@ Warning: All customized settings will be lost.</value>
458458
<data name="CodeInspections" xml:space="preserve">
459459
<value>Code Inspections</value>
460460
</data>
461-
<data name="CodeInspections_InspectingIssues" xml:space="preserve">
462-
<value>{0} ({1} issue{2})</value>
461+
<data name="CodeInspections_InspectingIssues_Singular" xml:space="preserve">
462+
<value>{0} ({1} issue)</value>
463463
</data>
464-
<data name="CodeInspections_NumberOfIssues" xml:space="preserve">
465-
<value>{0} issue{1}</value>
464+
<data name="CodeInspections_NumberOfIssues_Singular" xml:space="preserve">
465+
<value>{0} issue</value>
466+
<comment>{0}=number</comment>
466467
</data>
467468
<data name="CodeInspections_Run" xml:space="preserve">
468469
<value>Run code inspections</value>
@@ -821,9 +822,10 @@ Warning: All customized settings will be lost.</value>
821822
<data name="TodoSettings_Caption" xml:space="preserve">
822823
<value>To-Do Explorer</value>
823824
</data>
824-
<data name="CodeInspections_NumberOfIssuesFound" xml:space="preserve">
825+
<data name="CodeInspections_NumberOfIssuesFound_Plural" xml:space="preserve">
825826
<value>Rubberduck Code Inspections - {0}
826-
{1} {2} found.</value>
827+
{1} issues found.</value>
828+
<comment>{0}=timestamp; {1}=number</comment>
827829
</data>
828830
<data name="RenamePresenter_TargetIsInterfaceMemberImplementation" xml:space="preserve">
829831
<value>Method '{0}' implements '{1}.{2}'. Rename the interface member?</value>
@@ -1092,4 +1094,17 @@ Are you sure you want to proceed with this rename?</value>
10921094
<data name="SourceControl_DeleteBranchTitleLable" xml:space="preserve">
10931095
<value>Delete branch</value>
10941096
</data>
1097+
<data name="CodeInspections_InspectingIssues_Plural" xml:space="preserve">
1098+
<value>{0} ({1} issues)</value>
1099+
<comment>{0}=status; {1}=number</comment>
1100+
</data>
1101+
<data name="CodeInspections_NumberOfIssuesFound_Singular" xml:space="preserve">
1102+
<value>Rubberduck Code Inspections - {0}
1103+
{1} issue found.</value>
1104+
<comment>{0}=timestamp; {1}=number</comment>
1105+
</data>
1106+
<data name="CodeInspections_NumberOfIssues_Plural" xml:space="preserve">
1107+
<value>{0} issues</value>
1108+
<comment>{0}=number</comment>
1109+
</data>
10951110
</root>

RetailCoder.VBE/UI/RubberduckUI.sv.resx

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -358,10 +358,11 @@
358358
<data name="CodeExplorerDockablePresenter_ParseStarted" xml:space="preserve">
359359
<value>{0} (tolkar...)</value>
360360
</data>
361-
<data name="CodeInspections_NumberOfIssuesFound" xml:space="preserve">
362-
<value>Gummianka Inspektioner - {0}
363-
{1} problem{2} hittades{2}.
361+
<data name="CodeInspections_NumberOfIssuesFound_Plural" xml:space="preserve">
362+
<value>Gummianka Inspektioner - {0}
363+
{1} problems hittades.
364364
</value>
365+
<comment>{0}=timestamp; {1}=number</comment>
365366
</data>
366367
<data name="Home" xml:space="preserve">
367368
<value>Hem</value>
@@ -463,8 +464,8 @@ Varning: Alla anpassade inställningar kommer att försvinna.</value>
463464
<data name="AllImplementations_Caption" xml:space="preserve">
464465
<value>Implementationer av '{0}'</value>
465466
</data>
466-
<data name="CodeInspections_InspectingIssues" xml:space="preserve">
467-
<value>{0} ({1} problem{2})</value>
467+
<data name="CodeInspections_InspectingIssues_Plural" xml:space="preserve">
468+
<value>{0} ({1} problems)</value>
468469
</data>
469470
<data name="CodeInspections_PreviousToolTip" xml:space="preserve">
470471
<value>Navigera till föregående problem</value>
@@ -814,8 +815,8 @@ Varning: Alla anpassade inställningar kommer att försvinna.</value>
814815
<data name="CodeInspectionSettings_MaintainabilityAndReadabilityIssues" xml:space="preserve">
815816
<value>Problem med läsbarhet och underhållning</value>
816817
</data>
817-
<data name="CodeInspections_NumberOfIssues" xml:space="preserve">
818-
<value>{0} problem{1}</value>
818+
<data name="CodeInspections_NumberOfIssues_Plural" xml:space="preserve">
819+
<value>{0} problems</value>
819820
</data>
820821
<data name="Line" xml:space="preserve">
821822
<value>Rad</value>
@@ -1079,4 +1080,15 @@ Are you sure you want to proceed with this rename?</value>
10791080
<data name="SourceControl_DeleteBranchTitleLable" xml:space="preserve">
10801081
<value>z Delete branch</value>
10811082
</data>
1083+
<data name="CodeInspections_InspectingIssues_Singular" xml:space="preserve">
1084+
<value>{0} ({1} problem)</value>
1085+
</data>
1086+
<data name="CodeInspections_NumberOfIssuesFound_Singular" xml:space="preserve">
1087+
<value>Gummianka Inspektioner - {0}
1088+
{1} problem hittades.</value>
1089+
<comment>is "hittades" correct for singular?</comment>
1090+
</data>
1091+
<data name="CodeInspections_NumberOfIssues_Singular" xml:space="preserve">
1092+
<value>{0} problem</value>
1093+
</data>
10821094
</root>

0 commit comments

Comments
 (0)