diff --git a/app/features/user-page/in-game-name.test.ts b/app/features/user-page/in-game-name.test.ts index f327a1eb1..9c98185aa 100644 --- a/app/features/user-page/in-game-name.test.ts +++ b/app/features/user-page/in-game-name.test.ts @@ -15,6 +15,10 @@ describe("inGameNameIsValid", () => { "★Test★#1234", "½#1234", "naïve#1234", + "「テスト」#1234", + "あ、い。#1234", + "テスト〜#1234", + "ロー・ル#1234", ]; for (const name of validNames) { diff --git a/app/features/user-page/in-game-name.ts b/app/features/user-page/in-game-name.ts index f433403ff..bdfaedec4 100644 --- a/app/features/user-page/in-game-name.ts +++ b/app/features/user-page/in-game-name.ts @@ -47,6 +47,11 @@ export const IN_GAME_NAME_CHARACTER_CATEGORIES = [ label: "inGameName.categories.katakana", characters: range(0x30a1, 0x30fa), }, + { + id: "cjk-symbols", + label: "inGameName.categories.cjkSymbols", + characters: [..."、。「」〜・ー"], + }, ] as const satisfies ReadonlyArray<{ id: string; label: FormsTranslationKey; diff --git a/locales/da/forms.json b/locales/da/forms.json index c803feba2..f463d8e29 100644 --- a/locales/da/forms.json +++ b/locales/da/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/de/forms.json b/locales/de/forms.json index 6255e0b5e..304d40487 100644 --- a/locales/de/forms.json +++ b/locales/de/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/en/forms.json b/locales/en/forms.json index 33acc33dd..46884597b 100644 --- a/locales/en/forms.json +++ b/locales/en/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "Cyrillic", "inGameName.categories.hiragana": "Hiragana", "inGameName.categories.katakana": "Katakana", + "inGameName.categories.cjkSymbols": "CJK Symbols", "labels.pronoun": "Pronoun", "bottomTexts.profilePronouns": "This setting is optional! Your pronouns will be displayed on your profile, tournament rosters, SendouQ groups, and text channels.", "errors.profilePronounsBothOrNeither": "Select both pronouns or neither", diff --git a/locales/es-ES/forms.json b/locales/es-ES/forms.json index cb3cbf319..36db36ae9 100644 --- a/locales/es-ES/forms.json +++ b/locales/es-ES/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/es-US/forms.json b/locales/es-US/forms.json index ca615ab0a..d2815d281 100644 --- a/locales/es-US/forms.json +++ b/locales/es-US/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/fr-CA/forms.json b/locales/fr-CA/forms.json index 44e8823c5..a450568cd 100644 --- a/locales/fr-CA/forms.json +++ b/locales/fr-CA/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/fr-EU/forms.json b/locales/fr-EU/forms.json index 332275f5e..49cc893f2 100644 --- a/locales/fr-EU/forms.json +++ b/locales/fr-EU/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/he/forms.json b/locales/he/forms.json index 85e0b3ed6..1b5bcecc7 100644 --- a/locales/he/forms.json +++ b/locales/he/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/it/forms.json b/locales/it/forms.json index 1c8b80be5..13f4bd037 100644 --- a/locales/it/forms.json +++ b/locales/it/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/ja/forms.json b/locales/ja/forms.json index 2a8c21d78..40060b1c4 100644 --- a/locales/ja/forms.json +++ b/locales/ja/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/ko/forms.json b/locales/ko/forms.json index 5037184f8..b8dc7b21e 100644 --- a/locales/ko/forms.json +++ b/locales/ko/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/nl/forms.json b/locales/nl/forms.json index 07aec8b08..dc6b07cd3 100644 --- a/locales/nl/forms.json +++ b/locales/nl/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/pl/forms.json b/locales/pl/forms.json index ce9fc1f77..d8674fa7b 100644 --- a/locales/pl/forms.json +++ b/locales/pl/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/pt-BR/forms.json b/locales/pt-BR/forms.json index b329cf075..5c12b1492 100644 --- a/locales/pt-BR/forms.json +++ b/locales/pt-BR/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/ru/forms.json b/locales/ru/forms.json index 8f6e2ad98..edc780b38 100644 --- a/locales/ru/forms.json +++ b/locales/ru/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "", "inGameName.categories.hiragana": "", "inGameName.categories.katakana": "", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "", "bottomTexts.profilePronouns": "", "errors.profilePronounsBothOrNeither": "", diff --git a/locales/zh/forms.json b/locales/zh/forms.json index 10ed96d6f..595dd707a 100644 --- a/locales/zh/forms.json +++ b/locales/zh/forms.json @@ -267,6 +267,7 @@ "inGameName.categories.cyrillic": "西里尔字母", "inGameName.categories.hiragana": "平假名", "inGameName.categories.katakana": "片假名", + "inGameName.categories.cjkSymbols": "", "labels.pronoun": "代词", "bottomTexts.profilePronouns": "此设置是可选的!您的代词将显示在您的个人资料、赛事名册、SendouQ 小组以及文字频道中。", "errors.profilePronounsBothOrNeither": "请同时选择两个代词,或者均不选择",