fix: use proper plural forms

This commit is contained in:
Balázs Úr
2026-02-20 14:27:01 +01:00
parent 55fc2b2bc8
commit e1b30d2ade
24 changed files with 27 additions and 17 deletions
@@ -30,8 +30,7 @@ export const CalSummary = ({ elementSummary, survey }: CalSummaryProps) => {
</div>
</div>
<p className="flex w-32 items-end justify-end text-slate-600">
{elementSummary.booked.count}{" "}
{elementSummary.booked.count === 1 ? t("common.response") : t("common.responses")}
{t("common.count_responses", { value: elementSummary.booked.count })}
</p>
</div>
<ProgressBar barColor="bg-brand-dark" progress={elementSummary.booked.percentage / 100} />
@@ -47,8 +46,7 @@ export const CalSummary = ({ elementSummary, survey }: CalSummaryProps) => {
</div>
</div>
<p className="flex w-32 items-end justify-end text-slate-600">
{elementSummary.skipped.count}{" "}
{elementSummary.skipped.count === 1 ? t("common.response") : t("common.responses")}
{t("common.count_responses", { value: elementSummary.skipped.count })}
</p>
</div>
<ProgressBar barColor="bg-brand-dark" progress={elementSummary.skipped.percentage / 100} />
@@ -64,7 +64,7 @@ export const ConsentSummary = ({ elementSummary, survey, setFilter }: ConsentSum
</div>
</div>
<p className="flex w-32 items-end justify-end text-slate-600">
{summaryItem.count} {summaryItem.count === 1 ? t("common.response") : t("common.responses")}
{t("common.count_responses", { value: summaryItem.count })}
</p>
</div>
<div className="group-hover:opacity-80">
@@ -48,7 +48,7 @@ export const ElementSummaryHeader = ({
{showResponses && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">
<InboxIcon className="mr-2 h-4 w-4" />
{`${elementSummary.responseCount} ${t("common.responses")}`}
{t("common.count_responses", { value: elementSummary.responseCount })}
</div>
)}
{additionalInfo}
@@ -41,8 +41,7 @@ export const HiddenFieldsSummary = ({ environment, elementSummary, locale }: Hid
</div>
<div className="flex items-center rounded-lg bg-slate-100 p-2">
<InboxIcon className="mr-2 h-4 w-4" />
{elementSummary.responseCount}{" "}
{elementSummary.responseCount === 1 ? t("common.response") : t("common.responses")}
{t("common.count_responses", { value: elementSummary.responseCount })}
</div>
</div>
</div>
@@ -31,7 +31,7 @@ export const MatrixElementSummary = ({ elementSummary, survey, setFilter }: Matr
if (label) {
return label;
} else if (percentage !== undefined && totalResponsesForRow !== undefined) {
return `${Math.round((percentage / 100) * totalResponsesForRow)} ${t("common.responses")}`;
return t("common.count_responses", { value: Math.round((percentage / 100) * totalResponsesForRow) });
}
return "";
};
@@ -123,8 +123,7 @@ export const NPSSummary = ({ elementSummary, survey, setFilter }: NPSSummaryProp
</div>
</div>
<p className="flex w-32 items-end justify-end text-slate-600">
{elementSummary[group]?.count}{" "}
{elementSummary[group]?.count === 1 ? t("common.response") : t("common.responses")}
{t("common.count_responses", { value: elementSummary[group]?.count })}
</p>
</div>
<ProgressBar
@@ -198,7 +198,7 @@ export const RatingSummary = ({ elementSummary, survey, setFilter }: RatingSumma
</div>
</div>
<p className="flex w-32 items-end justify-end text-slate-600">
{result.count} {result.count === 1 ? t("common.response") : t("common.responses")}
{t("common.count_responses", { value: result.count })}
</p>
</div>
<ProgressBar barColor="bg-brand-dark" progress={result.percentage / 100} />
@@ -215,8 +215,7 @@ export const RatingSummary = ({ elementSummary, survey, setFilter }: RatingSumma
<div className="text flex justify-between px-2">
<p className="font-semibold text-slate-700">{t("common.dismissed")}</p>
<p className="flex w-32 items-end justify-end text-slate-600">
{elementSummary.dismissed.count}{" "}
{elementSummary.dismissed.count === 1 ? t("common.response") : t("common.responses")}
{t("common.count_responses", { value: elementSummary.dismissed.count })}
</p>
</div>
</div>
+1
View File
@@ -150,6 +150,7 @@ checksums:
common/copy_link: 57a37acfe6d7ed71d00fbbc8079fbb35
common/count_attributes: 042fba9baffef5afe2c24f13d4f50697
common/count_contacts: b1c413a4b06961b71b6aeee95d6775d7
common/count_members: 8cabb9805075f20e3977b919b3b2fdc5
common/count_responses: 690118a456c01c5b4d437ae82b50b131
common/create_new_organization: 51dae7b33143686ee218abf5bea764a5
common/create_segment: 9d8291cd4d778b53b73bbc84fd91c181
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Link kopieren",
"count_attributes": "{value, plural, one {{value} Attribut} other {{value} Attribute}}",
"count_contacts": "{value, plural, one {{value} Kontakt} other {{value} Kontakte}}",
"count_members": "{value, plural, one {{value} Mitglied} other {{value} Mitglieder}}",
"count_responses": "{value, plural, one {{value} Antwort} other {{value} Antworten}}",
"create_new_organization": "Neue Organisation erstellen",
"create_segment": "Segment erstellen",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Copy Link",
"count_attributes": "{value, plural, one {{value} attribute} other {{value} attributes}}",
"count_contacts": "{value, plural, one {{value} contact} other {{value} contacts}}",
"count_members": "{value, plural, one {{value} member} other {{value} members}}",
"count_responses": "{value, plural, one {{value} response} other {{value} responses}}",
"create_new_organization": "Create new organization",
"create_segment": "Create segment",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Copiar enlace",
"count_attributes": "{value, plural, one {{value} atributo} other {{value} atributos}}",
"count_contacts": "{value, plural, one {{value} contacto} other {{value} contactos}}",
"count_members": "{value, plural, one {{value} miembro} other {{value} miembros}}",
"count_responses": "{value, plural, one {{value} respuesta} other {{value} respuestas}}",
"create_new_organization": "Crear organización nueva",
"create_segment": "Crear segmento",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Copier le lien",
"count_attributes": "{value, plural, one {{value} attribut} other {{value} attributs}}",
"count_contacts": "{value, plural, one {# contact} other {# contacts} }",
"count_members": "{value, plural, one {{value} membre} other {{value} membres}}",
"count_responses": "{value, plural, other {# réponses}}",
"create_new_organization": "Créer une nouvelle organisation",
"create_segment": "Créer un segment",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Hivatkozás másolása",
"count_attributes": "{value, plural, one {{value} attribútum} other {{value} attribútum}}",
"count_contacts": "{value, plural, one {{value} partner} other {{value} partner}}",
"count_members": "{value, plural, one {{value} tag} other {{value} tag}}",
"count_responses": "{value, plural, one {{value} válasz} other {{value} válasz}}",
"create_new_organization": "Új szervezet létrehozása",
"create_segment": "Szakasz létrehozása",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "リンクをコピー",
"count_attributes": "{value, plural, other {{value}個の属性}}",
"count_contacts": "{count, plural, other {# 件の連絡先}}",
"count_members": "{value, plural, other {{value}人のメンバー}}",
"count_responses": "{count, plural, other {# 件の回答}}",
"create_new_organization": "新しい組織を作成",
"create_segment": "セグメントを作成",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Kopieer link",
"count_attributes": "{value, plural, one {{value} attribuut} other {{value} attributen}}",
"count_contacts": "{value, plural, one {{value} contact} other {{value} contacten}}",
"count_members": "{value, plural, one {{value} lid} other {{value} leden}}",
"count_responses": "{value, plural, one {{value} reactie} other {{value} reacties}}",
"create_new_organization": "Creëer een nieuwe organisatie",
"create_segment": "Segment maken",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Copiar Link",
"count_attributes": "{value, plural, one {{value} atributo} other {{value} atributos}}",
"count_contacts": "{value, plural, one {# contato} other {# contatos} }",
"count_members": "{value, plural, one {{value} membro} other {{value} membros}}",
"count_responses": "{value, plural, other {# respostas}}",
"create_new_organization": "Criar nova organização",
"create_segment": "Criar segmento",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Copiar Link",
"count_attributes": "{value, plural, one {{value} atributo} other {{value} atributos}}",
"count_contacts": "{value, plural, one {# contacto} other {# contactos} }",
"count_members": "{value, plural, one {{value} membro} other {{value} membros}}",
"count_responses": "{value, plural, other {# respostas}}",
"create_new_organization": "Criar nova organização",
"create_segment": "Criar segmento",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Copiază legătura",
"count_attributes": "{value, plural, one {{value} atribut} few {{value} atribute} other {{value} de atribute}}",
"count_contacts": "{value, plural, one {# contact} other {# contacte} }",
"count_members": "{value, plural, one {{value} membru} few {{value} membri} other {{value} de membri}}",
"count_responses": "{value, plural, one {# răspuns} other {# răspunsuri} }",
"create_new_organization": "Creează organizație nouă",
"create_segment": "Creați segment",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Скопировать ссылку",
"count_attributes": "{value, plural, one {{value} атрибут} few {{value} атрибута} many {{value} атрибутов} other {{value} атрибута}}",
"count_contacts": "{value, plural, one {{value} контакт} few {{value} контакта} many {{value} контактов} other {{value} контактов}}",
"count_members": "{value, plural, one {{value} участник} few {{value} участника} many {{value} участников} other {{value} участника}}",
"count_responses": "{value, plural, one {{value} ответ} few {{value} ответа} many {{value} ответов} other {{value} ответов}}",
"create_new_organization": "Создать новую организацию",
"create_segment": "Создать сегмент",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "Kopiera länk",
"count_attributes": "{value, plural, one {{value} attribut} other {{value} attribut}}",
"count_contacts": "{value, plural, one {{value} kontakt} other {{value} kontakter}}",
"count_members": "{value, plural, one {{value} medlem} other {{value} medlemmar}}",
"count_responses": "{value, plural, one {{value} svar} other {{value} svar}}",
"create_new_organization": "Skapa ny organisation",
"create_segment": "Skapa segment",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "复制 链接",
"count_attributes": "{value, plural, one {{value} 个属性} other {{value} 个属性}}",
"count_contacts": "{value, plural, other {{value} 联系人} }",
"count_members": "{value, plural, one {{value} 位成员} other {{value} 位成员}}",
"count_responses": "{value, plural, other {{value} 回复} }",
"create_new_organization": "创建 新的 组织",
"create_segment": "创建 细分",
+1
View File
@@ -177,6 +177,7 @@
"copy_link": "複製連結",
"count_attributes": "{value, plural, one {{value} 個屬性} other {{value} 個屬性}}",
"count_contacts": "{value, plural, other {{value} 聯絡人} }",
"count_members": "{value, plural, one {{value} 位成員} other {{value} 位成員}}",
"count_responses": "{value, plural, other {{value} 回應} }",
"create_new_organization": "建立新組織",
"create_segment": "建立區隔",
@@ -40,7 +40,7 @@ export const AccessTable = ({ teams }: AccessTableProps) => {
<TableRow key={team.id} className="border-slate-200 hover:bg-transparent">
<TableCell className="font-medium">{team.name}</TableCell>
<TableCell>
{team.memberCount} {team.memberCount === 1 ? t("common.member") : t("common.members")}
{t("common.count_members", { value: team.memberCount })}
</TableCell>
<TableCell>
<IdBadge id={team.id} />
@@ -98,7 +98,7 @@ export const TeamsTable = ({
<TableRow key={team.id} id={team.name} className="hover:bg-transparent">
<TableCell>{team.name}</TableCell>
<TableCell>
{team.memberCount} {team.memberCount === 1 ? t("common.member") : t("common.members")}
{t("common.count_members", { value: team.memberCount })}
</TableCell>
<TableCell>
<Badge
@@ -121,7 +121,7 @@ export const TeamsTable = ({
<TableRow key={team.id} id={team.name} className="hover:bg-transparent">
<TableCell>{team.name}</TableCell>
<TableCell>
{team.memberCount} {team.memberCount === 1 ? t("common.member") : t("common.members")}
{t("common.count_members", { value: team.memberCount })}
</TableCell>
<TableCell></TableCell>
<TableCell className="flex justify-end">