2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Supabase Auth】認証認可の際に表示されるエラーメッセージの日本語化

Posted at

概要

本記事では、SupabaseとFlutterを使用した開発において、
認証認可周りのエラーメッセージを日本語に翻訳する関数(translateError)を紹介します。

サンプルコード

// 英語のエラーメッセージを日本語に翻訳する関数
String translateError(String errorMessage) {
  const errorTranslations = {
    // エラーメッセージとその日本語訳
    'email rate limit exceeded': 'メールの送信制限を超えました。しばらく待ってから再試行してください。',
    'email_not_confirmed': 'メールアドレスが確認されていません。確認メールをチェックしてください。',
    'Email not confirmed': 'メールアドレスが確認されていません。確認メールをチェックしてください。',
    'over_email_send_rate_limit': 'メールの送信制限を超えました。しばらく待ってから再試行してください。',
    'email_already_in_use': 'このメールアドレスはすでに使用されています。',
    'invalid_email': 'メールアドレスが無効です。正しい形式を使用してください。',
    'missing email or phone': 'ログインに必要な項目が入力されていません。',
    'Anonymous sign-ins are disabled': 'ログインに失敗しました。',
    'User already registered': 'このユーザーは既に登録されています。',
    'Invalid login credentials': 'ログイン情報が誤っています。',
    'Password should be at least 6 characters': 'パスワードは6文字以上である必要があります。',
    'validation_failed': '入力内容の検証に失敗しました。',
  };

  for (var errorKey in errorTranslations.keys) {
    if (errorMessage.contains(errorKey)) {
      return errorTranslations[errorKey]!;
    }
  }

  return 'エラー: $errorMessage';
}

結果

下記の様に日本語に翻訳されている事が確認できる。

スクリーンショット 2024-09-22 1.37.52.png

スクリーンショット 2024-09-22 1.38.24.png

スクリーンショット 2024-09-22 1.39.54.png

その他コード

ログイン処理やサインアップ処理が出来るサンプルコードは下記です、
GitHub にアップしてますので、必要な方は確認してください。
自分のリポジトリにフォークしてクローンしていただいたあと、Supabase の
APIキー(anon key)と SupabaseプロジェクトURL を main.dart に記載していただければすぐに使える状態になります。
詳細は README を確認してください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?