Skip to content

エラー文言を訳した文字列で state に持っていて、言語を切り替えても前の言語のまま残る #369

Description

@kojira

症状

エラーの文言を訳した文字列のまま 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 には訳す前のもの(エラーコード、種別、数)を持ち、描画するときに訳す。#363AwardsPage の通知メッセージと受付のログを同じ形に直してあるので、そちらが手本になる。

  • AwardsPage: 訳文の代わりに人数を持つ
  • CheckinPage: 訳文の代わりにログの種別を積む

なぜ低優先か

エラーが出ている最中に言語を切り替える人は少なく、実害は限定的。ただし同じ壊れ方をする箇所が散っているので、まとめて直したほうが安い。

補足

i18n 第1段階から続く流儀で、#363 のレビューで洗い出した。#363 では範囲を絞るため直していない(一部だけ直すと画面ごとに扱いが割れるため)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions