objectbrowser: Use pluralisable strings in the description pane
This avoids having ungrammatical text like “1 items”. Change-Id: I292f398bcfd2375f7b838e99230f6493840ccedb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206347 Tested-by: Jenkins Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#define BASCTL_INC_BASIDESH_HRC
|
||||
|
||||
#define NC_(Context, String) TranslateId(Context, u8##String)
|
||||
#define NNC_(Context, StringSingular, StringPlural) TranslateNId(Context, reinterpret_cast<char const *>(u8##StringSingular), reinterpret_cast<char const *>(u8##StringPlural))
|
||||
|
||||
#define RID_STR_FILTER_ALLFILES NC_("RID_STR_FILTER_ALLFILES", "<All>")
|
||||
#define RID_STR_NOMODULE NC_("RID_STR_NOMODULE", "< No Module >")
|
||||
@@ -130,13 +131,13 @@
|
||||
#define RID_STR_OB_FULLNAME_HEADER NC_("RID_STR_OB_FULLNAME_HEADER", "\nFull Name\n")
|
||||
#define RID_STR_OB_CONTENTS_HEADER NC_("RID_STR_OB_CONTENTS_HEADER", "Contents\n")
|
||||
#define RID_STR_OB_TOTAL_MEMBERS NC_("RID_STR_OB_TOTAL_MEMBERS", "Total members: ")
|
||||
#define RID_STR_OB_CONTAINS_ITEMS NC_("RID_STR_OB_CONTAINS_ITEMS", "Contains %1 items")
|
||||
#define RID_STR_OB_CONTAINS_ITEMS NNC_("RID_STR_OB_CONTAINS_ITEMS", "Contains 1 item", "Contains %1 items")
|
||||
// For Access Modifiers
|
||||
#define RID_STR_OB_ACCESS_PUBLIC NC_("RID_STR_OB_ACCESS_PUBLIC", "Public")
|
||||
#define RID_STR_OB_ACCESS_PRIVATE NC_("RID_STR_OB_ACCESS_PRIVATE", "Private")
|
||||
// For Status Bar
|
||||
#define RID_STR_OB_MEMBERS_COUNT NC_("RID_STR_OB_MEMBERS_COUNT", "%1 members")
|
||||
#define RID_STR_OB_ITEMS_COUNT NC_("RID_STR_OB_ITEMS_COUNT", "%1 items")
|
||||
#define RID_STR_OB_MEMBERS_COUNT NNC_("RID_STR_OB_MEMBERS_COUNT", "1 member", "%1 members")
|
||||
#define RID_STR_OB_ITEMS_COUNT NNC_("RID_STR_OB_ITEMS_COUNT", "1 item", "%1 items")
|
||||
#define RID_STR_OB_READY NC_("RID_STR_OB_READY", "Ready")
|
||||
#define RID_STR_OB_READY_LOADED NC_("RID_STR_OB_READY_LOADED", "✅ Ready (loaded in %1s)")
|
||||
// For Symbol Type Names
|
||||
|
||||
@@ -111,6 +111,12 @@ OUString IDEResId(TranslateId aId)
|
||||
return Translate::get(aId, SfxApplication::GetModule(SfxToolsModule::Basic)->GetResLocale());
|
||||
}
|
||||
|
||||
OUString IDEResId(TranslateNId aContextSingularPlural, int nCardinality)
|
||||
{
|
||||
return Translate::nget(aContextSingularPlural, nCardinality,
|
||||
SfxApplication::GetModule(SfxToolsModule::Basic)->GetResLocale());
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
|
||||
@@ -415,9 +415,9 @@ OUString FormatContainerSignature(const IdeSymbolInfo& rSymbol,
|
||||
{
|
||||
auto aChildren = pDataProvider->GetChildNodes(rSymbol);
|
||||
sal_Int64 nChildren = static_cast<sal_Int64>(aChildren.size());
|
||||
sInfo.append(
|
||||
IDEResId(RID_STR_OB_CONTENTS_HEADER)
|
||||
+ IDEResId(RID_STR_OB_CONTAINS_ITEMS).replaceFirst(u"%1", OUString::number(nChildren)));
|
||||
sInfo.append(IDEResId(RID_STR_OB_CONTENTS_HEADER)
|
||||
+ IDEResId(RID_STR_OB_CONTAINS_ITEMS, nChildren)
|
||||
.replaceFirst(u"%1", OUString::number(nChildren)));
|
||||
}
|
||||
|
||||
if (!rSymbol.sQualifiedName.isEmpty() && rSymbol.sQualifiedName != rSymbol.sName)
|
||||
@@ -1004,16 +1004,15 @@ void ObjectBrowser::UpdateStatusBar(const IdeSymbolInfo* pLeftSymbol,
|
||||
for (const auto& pair : aMembers)
|
||||
nTotalMembers += pair.second.size();
|
||||
sStatusText
|
||||
= IDEResId(RID_STR_OB_MEMBERS_COUNT)
|
||||
= IDEResId(RID_STR_OB_MEMBERS_COUNT, nTotalMembers)
|
||||
.replaceFirst(u"%1", OUString::number(static_cast<sal_Int64>(nTotalMembers)));
|
||||
}
|
||||
else if (IsExpandable(*pLeftSymbol))
|
||||
{
|
||||
auto aChildren = m_pDataProvider->GetChildNodes(*pLeftSymbol);
|
||||
size_t nChildren = m_pDataProvider->GetChildNodes(*pLeftSymbol).size();
|
||||
sStatusText
|
||||
= IDEResId(RID_STR_OB_ITEMS_COUNT)
|
||||
.replaceFirst(u"%1",
|
||||
OUString::number(static_cast<sal_Int64>(aChildren.size())));
|
||||
= IDEResId(RID_STR_OB_ITEMS_COUNT, nChildren)
|
||||
.replaceFirst(u"%1", OUString::number(static_cast<sal_Int64>(nChildren)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
namespace basctl
|
||||
{
|
||||
OUString IDEResId(TranslateId aId);
|
||||
OUString IDEResId(TranslateNId aContextSingularPlural, int nCardinality);
|
||||
|
||||
} // namespace basctl
|
||||
|
||||
|
||||
Reference in New Issue
Block a user