Skip to content

Commit 9254817

Browse files
handling pluralization
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
1 parent 9182c07 commit 9254817

9 files changed

Lines changed: 23 additions & 10 deletions

File tree

workspaces/lightspeed/plugins/lightspeed/src/components/SourcesChipModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ export const SourcesChipModal = ({ sources }: SourcesChipModalProps) => {
193193
}
194194
>
195195
<Button variant="link" icon={<LinkIcon />} className={classes.chipButton}>
196-
{(t as Function)('sources.chip.label', { count: String(count) })}
196+
{(t as Function)('sources.chip.label', { count })}
197197
</Button>
198198
</Popover>
199199
);

workspaces/lightspeed/plugins/lightspeed/src/components/__tests__/SourcesChipModal.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ describe('SourcesChipModal', () => {
121121

122122
render(<SourcesChipModal sources={sourcesWithoutLink} />);
123123

124-
fireEvent.click(screen.getByText('1 Sources'));
124+
fireEvent.click(screen.getByText('1 Source'));
125125

126126
expect(screen.getByText('local-doc.yaml')).toBeInTheDocument();
127127
});
@@ -164,7 +164,7 @@ describe('SourcesChipModal', () => {
164164

165165
render(<SourcesChipModal sources={sourcesWithoutTitle} />);
166166

167-
fireEvent.click(screen.getByText('1 Sources'));
167+
fireEvent.click(screen.getByText('1 Source'));
168168

169169
expect(screen.getByText('Source 1')).toBeInTheDocument();
170170
});

workspaces/lightspeed/plugins/lightspeed/src/test-utils/mockTranslations.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,14 @@ function flattenMessages(obj: any, prefix = ''): Record<string, string> {
3535
const flattenedMessages = flattenMessages(lightspeedMessages);
3636

3737
export const mockT = (key: string, params?: any) => {
38-
let message = flattenedMessages[key] || key;
38+
let resolvedKey = key;
39+
if (params && typeof params.count === 'number') {
40+
const pluralSuffix = params.count === 1 ? '_one' : '_other';
41+
if (flattenedMessages[`${key}${pluralSuffix}`]) {
42+
resolvedKey = `${key}${pluralSuffix}`;
43+
}
44+
}
45+
let message = flattenedMessages[resolvedKey] || key;
3946
if (params) {
4047
for (const [paramKey, paramValue] of Object.entries(params)) {
4148
message = message.replace(

workspaces/lightspeed/plugins/lightspeed/src/translations/de.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,8 @@ const lightspeedTranslationDe = createTranslationMessages({
317317
'sort.label': 'Unterhaltungen sortieren',
318318
'sort.newest': 'Datum (neuestes zuerst)',
319319
'sort.oldest': 'Datum (ältestes zuerst)',
320-
'sources.chip.label': '{{count}} Quellen',
320+
'sources.chip.label_one': '{{count}} Quelle',
321+
'sources.chip.label_other': '{{count}} Quellen',
321322
'sources.modal.description':
322323
'Die folgenden Quellen wurden verwendet, um diese KI-Antwort zu generieren und ergänzende Informationen bereitzustellen:',
323324
'sources.modal.title': 'Quellen',

workspaces/lightspeed/plugins/lightspeed/src/translations/es.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,8 @@ const lightspeedTranslationEs = createTranslationMessages({
312312
'sort.label': 'Ordenar conversaciones',
313313
'sort.newest': 'Fecha (la más reciente primero)',
314314
'sort.oldest': 'Fecha (la más antigua primero)',
315-
'sources.chip.label': '{{count}} Fuentes',
315+
'sources.chip.label_one': '{{count}} Fuente',
316+
'sources.chip.label_other': '{{count}} Fuentes',
316317
'sources.modal.description':
317318
'Las siguientes fuentes se utilizaron para generar esta respuesta de IA y proporcionar información complementaria:',
318319
'sources.modal.title': 'Fuentes',

workspaces/lightspeed/plugins/lightspeed/src/translations/fr.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,8 @@ const lightspeedTranslationFr = createTranslationMessages({
317317
'sort.label': 'Trier les conversations',
318318
'sort.newest': 'Date (plus récent en premier)',
319319
'sort.oldest': 'Date (plus ancien en premier)',
320-
'sources.chip.label': '{{count}} Sources',
320+
'sources.chip.label_one': '{{count}} Source',
321+
'sources.chip.label_other': '{{count}} Sources',
321322
'sources.modal.description':
322323
'Les sources suivantes ont été utilisées pour générer cette réponse IA et fournir des informations complémentaires\u00a0:',
323324
'sources.modal.title': 'Sources',

workspaces/lightspeed/plugins/lightspeed/src/translations/it.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,8 @@ const lightspeedTranslationIt = createTranslationMessages({
315315
'sort.label': 'Ordina conversazioni',
316316
'sort.newest': 'Data (più recente prima)',
317317
'sort.oldest': 'Data (meno recente prima)',
318-
'sources.chip.label': '{{count}} Fonti',
318+
'sources.chip.label_one': '{{count}} Fonte',
319+
'sources.chip.label_other': '{{count}} Fonti',
319320
'sources.modal.description':
320321
'Le seguenti fonti sono state utilizzate per generare questa risposta IA e fornire informazioni di supporto:',
321322
'sources.modal.title': 'Fonti',

workspaces/lightspeed/plugins/lightspeed/src/translations/ja.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,8 @@ const lightspeedTranslationJa = createTranslationMessages({
307307
'sort.label': '会話を並べ替え',
308308
'sort.newest': '日付(新しい順)',
309309
'sort.oldest': '日付(古い順)',
310-
'sources.chip.label': '{{count}} ソース',
310+
'sources.chip.label_one': '{{count}} ソース',
311+
'sources.chip.label_other': '{{count}} ソース',
311312
'sources.modal.description':
312313
'以下のソースは、この AI 応答の生成と補足情報の提供に使用されました:',
313314
'sources.modal.title': 'ソース',

workspaces/lightspeed/plugins/lightspeed/src/translations/ref.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,8 @@ export const lightspeedMessages = {
394394
'sort.alphabeticalAsc': 'Name (A-Z)',
395395
'sort.alphabeticalDesc': 'Name (Z-A)',
396396
// Sources
397-
'sources.chip.label': '{{count}} Sources',
397+
'sources.chip.label_one': '{{count}} Source',
398+
'sources.chip.label_other': '{{count}} Sources',
398399
'sources.modal.title': 'Sources',
399400
'sources.modal.description':
400401
'The following sources were used to generate this AI response and provide supporting information:',

0 commit comments

Comments
 (0)