症状
エラーの文言を訳した文字列のまま state に持っている箇所が複数ある。表示中に言語を切り替えても、そのエラー文だけ前の言語のまま残る。
例(いずれも同じ形):
apps/web/src/components/EventChat.tsx(参加の失敗・送信の失敗)
apps/web/src/components/EventComments.tsx
apps/web/src/components/EventPhotos.tsx
apps/web/src/components/EventQa.tsx
apps/web/src/components/AccountDeleteCard.tsx
apps/web/src/components/AccountMergeCard.tsx
apps/web/src/pages/EventStatsPage.tsx
英語でエラーを出したまま日本語に切り替えると、その Alert だけ英語のまま残る(閉じるか次の操作をするまで)。
直し方
state には訳す前のもの(エラーコード、種別、数)を持ち、描画するときに訳す。#363 で AwardsPage の通知メッセージと受付のログを同じ形に直してあるので、そちらが手本になる。
AwardsPage: 訳文の代わりに人数を持つ
CheckinPage: 訳文の代わりにログの種別を積む
なぜ低優先か
エラーが出ている最中に言語を切り替える人は少なく、実害は限定的。ただし同じ壊れ方をする箇所が散っているので、まとめて直したほうが安い。
補足
i18n 第1段階から続く流儀で、#363 のレビューで洗い出した。#363 では範囲を絞るため直していない(一部だけ直すと画面ごとに扱いが割れるため)。
症状
エラーの文言を訳した文字列のまま state に持っている箇所が複数ある。表示中に言語を切り替えても、そのエラー文だけ前の言語のまま残る。
例(いずれも同じ形):
apps/web/src/components/EventChat.tsx(参加の失敗・送信の失敗)apps/web/src/components/EventComments.tsxapps/web/src/components/EventPhotos.tsxapps/web/src/components/EventQa.tsxapps/web/src/components/AccountDeleteCard.tsxapps/web/src/components/AccountMergeCard.tsxapps/web/src/pages/EventStatsPage.tsx英語でエラーを出したまま日本語に切り替えると、その Alert だけ英語のまま残る(閉じるか次の操作をするまで)。
直し方
state には訳す前のもの(エラーコード、種別、数)を持ち、描画するときに訳す。#363 で
AwardsPageの通知メッセージと受付のログを同じ形に直してあるので、そちらが手本になる。AwardsPage: 訳文の代わりに人数を持つCheckinPage: 訳文の代わりにログの種別を積むなぜ低優先か
エラーが出ている最中に言語を切り替える人は少なく、実害は限定的。ただし同じ壊れ方をする箇所が散っているので、まとめて直したほうが安い。
補足
i18n 第1段階から続く流儀で、#363 のレビューで洗い出した。#363 では範囲を絞るため直していない(一部だけ直すと画面ごとに扱いが割れるため)。