diff --git a/src/lib/utils/contest.ts b/src/lib/utils/contest.ts index 8417adb36..69b8fae39 100644 --- a/src/lib/utils/contest.ts +++ b/src/lib/utils/contest.ts @@ -356,6 +356,8 @@ export function getAtCoderUniversityContestLabel(contestId: string): string { ); } +const SPACE = ' '; + /** * Maps PCK contest type abbreviations to their Japanese translations. * @@ -368,8 +370,8 @@ export function getAtCoderUniversityContestLabel(contestId: string): string { */ const PCK_TRANSLATIONS = { PCK: 'パソコン甲子園', - Prelim: '予選', - Final: '本選', + Prelim: SPACE + '予選' + SPACE, + Final: SPACE + '本選' + SPACE, }; /** @@ -382,8 +384,8 @@ const PCK_TRANSLATIONS = { * } */ const JAG_TRANSLATIONS = { - Prelim: '模擬国内', - Regional: '模擬地区', + Prelim: SPACE + '模擬国内' + SPACE, + Regional: SPACE + '模擬地区' + SPACE, }; const aojBaseLabel = 'AOJ - '; @@ -398,7 +400,7 @@ function getAojChallengeLabel( label = label.replace(abbrEnglish, japanese); }); - return aojBaseLabel + label; + return aojBaseLabel + '(' + label + ')'; } export const addContestNameToTaskIndex = (contestId: string, taskTableIndex: string): string => { diff --git a/src/test/lib/utils/test_cases/contest_name_and_task_index.ts b/src/test/lib/utils/test_cases/contest_name_and_task_index.ts index ae5c1a61e..1130f895f 100644 --- a/src/test/lib/utils/test_cases/contest_name_and_task_index.ts +++ b/src/test/lib/utils/test_cases/contest_name_and_task_index.ts @@ -432,7 +432,7 @@ const generateAojPckTestCases = ( )({ contestId: `PCK${contestId}`, taskTableIndex: taskIndex, - expected: `AOJ - パソコン甲子園${contestId.replace('Prelim', '予選').replace('Final', '本選')} - ${taskIndex}`, + expected: `AOJ - (パソコン甲子園${contestId.replace('Prelim', ' 予選 ').replace('Final', ' 本選 ')}) - ${taskIndex}`, }); return testCase; @@ -534,7 +534,7 @@ const generateAojJagTestCases = (contestIds: JagContestIds, taskIndices: string[ taskIndices, (contestId, taskIndex) => `AOJ, JAG${contestId} - ${taskIndex}`, (contestId, taskIndex) => - `AOJ - JAG${contestId.replace('Prelim', '模擬国内').replace('Regional', '模擬地区')} - ${taskIndex}`, + `AOJ - (JAG${contestId.replace('Prelim', ' 模擬国内 ').replace('Regional', ' 模擬地区 ')}) - ${taskIndex}`, ); export const aojJag = Object.entries(AOJ_JAG_TEST_DATA).flatMap(([contestId, tasks]) => diff --git a/src/test/lib/utils/test_cases/contest_name_labels.ts b/src/test/lib/utils/test_cases/contest_name_labels.ts index 0954a0687..ac00b49bf 100644 --- a/src/test/lib/utils/test_cases/contest_name_labels.ts +++ b/src/test/lib/utils/test_cases/contest_name_labels.ts @@ -334,121 +334,121 @@ export const aojCourses = [ export const aojPck = [ createTestCaseForContestNameLabel('AOJ, PCK Prelim 2023')({ contestId: 'PCKPrelim2023', - expected: 'AOJ - パソコン甲子園予選2023', + expected: 'AOJ - (パソコン甲子園 予選 2023)', }), createTestCaseForContestNameLabel('AOJ, PCK Prelim 2022')({ contestId: 'PCKPrelim2022', - expected: 'AOJ - パソコン甲子園予選2022', + expected: 'AOJ - (パソコン甲子園 予選 2022)', }), createTestCaseForContestNameLabel('AOJ, PCK Prelim 2005')({ contestId: 'PCKPrelim2005', - expected: 'AOJ - パソコン甲子園予選2005', + expected: 'AOJ - (パソコン甲子園 予選 2005)', }), createTestCaseForContestNameLabel('AOJ, PCK Prelim 2004')({ contestId: 'PCKPrelim2004', - expected: 'AOJ - パソコン甲子園予選2004', + expected: 'AOJ - (パソコン甲子園 予選 2004)', }), createTestCaseForContestNameLabel('AOJ, PCK Final 2023')({ contestId: 'PCKFinal2023', - expected: 'AOJ - パソコン甲子園本選2023', + expected: 'AOJ - (パソコン甲子園 本選 2023)', }), createTestCaseForContestNameLabel('AOJ, PCK Final 2022')({ contestId: 'PCKFinal2022', - expected: 'AOJ - パソコン甲子園本選2022', + expected: 'AOJ - (パソコン甲子園 本選 2022)', }), createTestCaseForContestNameLabel('AOJ, PCK Final 2021')({ contestId: 'PCKFinal2021', - expected: 'AOJ - パソコン甲子園本選2021', + expected: 'AOJ - (パソコン甲子園 本選 2021)', }), createTestCaseForContestNameLabel('AOJ, PCK Final 2004')({ contestId: 'PCKFinal2004', - expected: 'AOJ - パソコン甲子園本選2004', + expected: 'AOJ - (パソコン甲子園 本選 2004)', }), createTestCaseForContestNameLabel('AOJ, PCK Final 2003')({ contestId: 'PCKFinal2003', - expected: 'AOJ - パソコン甲子園本選2003', + expected: 'AOJ - (パソコン甲子園 本選 2003)', }), ]; export const aojJag = [ createTestCaseForContestNameLabel('AOJ, JAG Prelim 2005')({ contestId: 'JAGPrelim2005', - expected: 'AOJ - JAG模擬国内2005', + expected: 'AOJ - (JAG 模擬国内 2005)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2006')({ contestId: 'JAGPrelim2006', - expected: 'AOJ - JAG模擬国内2006', + expected: 'AOJ - (JAG 模擬国内 2006)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2009')({ contestId: 'JAGPrelim2009', - expected: 'AOJ - JAG模擬国内2009', + expected: 'AOJ - (JAG 模擬国内 2009)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2010')({ contestId: 'JAGPrelim2010', - expected: 'AOJ - JAG模擬国内2010', + expected: 'AOJ - (JAG 模擬国内 2010)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2011')({ contestId: 'JAGPrelim2011', - expected: 'AOJ - JAG模擬国内2011', + expected: 'AOJ - (JAG 模擬国内 2011)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2020')({ contestId: 'JAGPrelim2020', - expected: 'AOJ - JAG模擬国内2020', + expected: 'AOJ - (JAG 模擬国内 2020)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2021')({ contestId: 'JAGPrelim2021', - expected: 'AOJ - JAG模擬国内2021', + expected: 'AOJ - (JAG 模擬国内 2021)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2022')({ contestId: 'JAGPrelim2022', - expected: 'AOJ - JAG模擬国内2022', + expected: 'AOJ - (JAG 模擬国内 2022)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2023')({ contestId: 'JAGPrelim2023', - expected: 'AOJ - JAG模擬国内2023', + expected: 'AOJ - (JAG 模擬国内 2023)', }), createTestCaseForContestNameLabel('AOJ, JAG Prelim 2024')({ contestId: 'JAGPrelim2024', - expected: 'AOJ - JAG模擬国内2024', + expected: 'AOJ - (JAG 模擬国内 2024)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2005')({ contestId: 'JAGRegional2005', - expected: 'AOJ - JAG模擬地区2005', + expected: 'AOJ - (JAG 模擬地区 2005)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2006')({ contestId: 'JAGRegional2006', - expected: 'AOJ - JAG模擬地区2006', + expected: 'AOJ - (JAG 模擬地区 2006)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2009')({ contestId: 'JAGRegional2009', - expected: 'AOJ - JAG模擬地区2009', + expected: 'AOJ - (JAG 模擬地区 2009)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2010')({ contestId: 'JAGRegional2010', - expected: 'AOJ - JAG模擬地区2010', + expected: 'AOJ - (JAG 模擬地区 2010)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2011')({ contestId: 'JAGRegional2011', - expected: 'AOJ - JAG模擬地区2011', + expected: 'AOJ - (JAG 模擬地区 2011)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2016')({ contestId: 'JAGRegional2016', - expected: 'AOJ - JAG模擬地区2016', + expected: 'AOJ - (JAG 模擬地区 2016)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2017')({ contestId: 'JAGRegional2017', - expected: 'AOJ - JAG模擬地区2017', + expected: 'AOJ - (JAG 模擬地区 2017)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2020')({ contestId: 'JAGRegional2020', - expected: 'AOJ - JAG模擬地区2020', + expected: 'AOJ - (JAG 模擬地区 2020)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2021')({ contestId: 'JAGRegional2021', - expected: 'AOJ - JAG模擬地区2021', + expected: 'AOJ - (JAG 模擬地区 2021)', }), createTestCaseForContestNameLabel('AOJ, JAG Regional 2022')({ contestId: 'JAGRegional2022', - expected: 'AOJ - JAG模擬地区2022', + expected: 'AOJ - (JAG 模擬地区 2022)', }), ];