0
0

Web 開発再入門 #14 ― マルチロケール処理

Last updated at Posted at 2024-04-28

Web 開発再入門 #14 ― マルチロケール処理

fmockup

はじめに

サーバーサイドにおけるマルチロケールの処理を実現します。
英日中(en、ja、zh_CN)に対応します。

フォルダー・ファイル構成

D:\
└ Developments\
    └ Workspace\
         └ fmockup\
             ├ build\
             ├ sql\
             ├ src\
             │ └ main\
             │     ├ java\
             │     │ └ cn\
             │     │     └ com\
             │     │         └ xxxx\
             │     │             └ fmockup\
             │     │                  ├ action\
             │     │                  ├ controller\
             │     │                  ├ customizer\
             │     │                  ├ entity\
             │     │                  ├ mapper\
             │     │                  ├ response\
             │     │                  ├ service\
             │     │                  ├ util\
             │     │                  │ └ MessageUtil.java ← コレ
             │     │                  ├ validator\
             │     │                  └ validator_order\
             │     └ resources\
             │          ├ messages_en.properties ← コレ
             │          ├ messages_ja.properties ← コレ
             │          ├ messages_zh_CN.properties ← コレ
             │          └ messages.properties ← コレ
             ├ vue-vite\
             └ WinSW.NET-nnn\

ファイルの作成

  1. Eclipse で、ファイル “messages_en.properties”、“messages_ja.properties”、“messages_zh_CN.properties”、“messages.properties”、“MessageUtil.java” を作成する。
    messages_en.properties
    COMMON_ERROR_TITLE_SESSION_TIMEOUT_HAS_OCCURRED=Session timeout has occurred.
    COMMON_ERROR_TITLE_PLEASE_MODIFY_VALUE=Please modify value.
    
    MENU_ERROR_TITLE_MENU_LIST_DOES_NOT_EXIST=Menu List does not exist.
    
    LOGIN_ERROR_FORM_NO_USER_ID_IS_SPECIFIED=No User ID is specified.
    LOGIN_ERROR_FORM_NO_PASSWORD_IS_SPECIFIED=No Password is specified.
    
    LOGIN_ERROR_TITLE_USER_ID_OR_PASSWORD_IS_NOT_CORRECT=User ID or Password is not correct.
    LOGIN_ERROR_TITLE_THIS_ACCOUND_DOES_NOT_EXIST=This Actount does not exist.
    
    PASSWORD_ERROR_TITLE_INVALID_CURRENT_PASSWORD=Invalid Current Password.
    PASSWORD_ERROR_TITLE_ERROR_IN_PASSWORD_CHARACTER=Error in Password character.
    PASSWORD_ERROR_TITLE_ERROR_INVALID_NEW_PASSWORD=Invalid New Password.
    PASSWORD_ERROR_TITLE_ERROR_NEW_PASSWORD_AND_CONFIRM_PASSWORD_ARE_UNMATCHED=New Password and Confirm Password are unmatched.
    
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_DOES_NOT_EXIST=Your Account does not exist.
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED_PLEASE_LOGOUT_AND_TRY_TO_LOGIN_AGAIN=Your Account was locked. Please logout, and try to login again.
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED=Your Account was locked. Please logout.
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_IS_RESTRICTED=Your Account access is restricted.
    
    USER_ERROR_FORM_NO_USER_NAME_IS_SPECIFIED=No User Name is specified.
    USER_ERROR_FORM_ERROR_IN_USER_NAME_LENGTH=Error in User Name length.
    USER_ERROR_FORM_ERROR_IN_USER_NAME_CHARACTER=Error in User Name character.
    USER_ERROR_FORM_NO_CURRENT_PASSWORD_IS_SPECIFIED=No Current Password is specified.
    USER_ERROR_FORM_ERROR_IN_CURRENT_PASSWORD_LENGTH=Error in Current Password length.
    USER_ERROR_FORM_ERROR_IN_CURRENT_PASSWORD_CHARACTER=Error in Current Password character.
    USER_ERROR_FORM_NO_NEW_PASSWORD_IS_SPECIFIED=No New Password is specified.
    USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_LENGTH=Error in New Password length.
    USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_CHARACTER=Error in New Password character.
    USER_ERROR_FORM_NO_CONFIRM_PASSWORD_IS_SPECIFIED=No Confirm Password is specified.
    USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_LENGTH=Error in Confirm Password length.
    USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_CHARACTER=Error in Confirm Password character.
    USER_ERROR_FORM_ERROR_IN_USER_REMARK_LENGTH=Error in User Remark length.
    USER_ERROR_FORM_ERROR_IN_USER_REMARK_CHARACTER=Error in User Remark character.
    
    USER_ERROR_TITLE_USER_LIST_DOES_NOT_EXIST=User List does not exist.
    USER_ERROR_TITLE_THIS_USER_DOES_NOT_EXIST=This User does not exist.
    USER_ERROR_TITLE_THIS_USER_ALREADY_EXISTS=This User already exists.
    USER_ERROR_TITLE_USER_ROLE_LIST_DOES_NOT_EXIST=User Role List does not exist.
    USER_ERROR_TITLE_THIS_USER_ROLE_ALREADY_EXISTS=This User Role already exists.
    USER_ERROR_TITLE_THIS_USER_OR_ROLE_DOES_NOT_EXIST=This User or Role does not exist.
    
    ROLE_ERROR_FORM_NO_ROLE_NAME_IS_SPECIFIED=No Role Name is specified.
    ROLE_ERROR_FORM_ERROR_IN_ROLE_NAME_LENGTH=Error in Role Name length.
    ROLE_ERROR_FORM_ERROR_IN_ROLE_NAME_CHARACTER=Error in Role Name character.
    ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_LENGTH=Error in Role Remark length.
    ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_CHARACTER=Error in Role Remark character.
    
    ROLE_ERROR_TITLE_NOT_SELECT_ROLE_NAME=Not select Role Name.
    ROLE_ERROR_TITLE_ROLE_LIST_DOES_NOT_EXIST=Role List does not exist.
    ROLE_ERROR_TITLE_THIS_ROLE_DOES_NOT_EXIST=This Role does not exist.
    ROLE_ERROR_TITLE_THIS_ROLE_ALREADY_EXISTS=This Role already exists.
    ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_DOES_NOT_EXIST=This Role Transaction does not exist.
    ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_ALREADY_EXISTS=This Role Transaction already exists.
    ROLE_ERROR_TITLE_THIS_ROLE_OR_TRANSACTION_DOES_NOT_EXISTS=This Role or Transaction does not exist.
    ROLE_ERROR_TITLE_THIS_ROLE_IS_ASSIGNED_BY_USER=This Role is assigned by User.
    
    XXXX_ERROR_FORM_NO_XXXX_NAME_IS_SPECIFIED=No Xxxx Name is specified.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_LENGTH=Error in Xxxx Name length.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_NAME_CHARACTER=Error in Xxxx Name character.
    XXXX_ERROR_FORM_NO_XXXX_VALUE_IS_SPECIFIED=No Xxxx Value is specified.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_LENGTH=Error in Xxxx Value length.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_CHARACTER=Error in Xxxx Value character.
    XXXX_ERROR_FORM_NO_XXXX_FLAG_IS_SPECIFIED=No Xxxx Flag is specified.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_FLAG_LENGTH=Error in Xxxx Flag length.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_FLAG_CHARACTER=Error in Xxxx Flag character.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_LENGTH=Error in Xxxx Remark length.
    XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_CHARACTER=Error in Xxxx Remark character.
    
    XXXX_ERROR_TITLE_XXXX_LIST_DOES_NOT_EXIST=Xxxx List does not exist
    XXXX_ERROR_TITLE_THIS_XXXX_DOES_NOT_EXIST=This Xxxx does not exist.
    XXXX_ERROR_TITLE_THIS_XXXX_ALREADY_EXISTS=This Xxxx already exists.
    
    YYYY_ERROR_FORM_NO_YYYY_NAME_IS_SPECIFIED=No Yyyy Name is specified.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_LENGTH=Error in Yyyy Name length.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_NAME_CHARACTER=Error in Yyyy Name character.
    YYYY_ERROR_FORM_NO_YYYY_VALUE_IS_SPECIFIED=No Yyyy Value is specified.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_LENGTH=Error in Yyyy Value length.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_CHARACTER=Error in Yyyy Value character.
    YYYY_ERROR_FORM_NO_YYYY_FLAG_IS_SPECIFIED=No Yyyy Flag is specified.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_FLAG_LENGTH=Error in Yyyy Flag length.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_FLAG_CHARACTER=Error in Yyyy Flag character.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_LENGTH=Error in Yyyy Remark length.
    YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_CHARACTER=Error in Yyyy Remark character.
    
    YYYY_ERROR_TITLE_YYYY_LIST_DOES_NOT_EXIST=Yyyy List does not exist.
    YYYY_ERROR_TITLE_THIS_YYYY_DOES_NOT_EXIST=This Yyyy does not exist.
    YYYY_ERROR_TITLE_THIS_YYYY_ALREADY_EXISTS=This Yyyy already exists.
    
    ZZZZ_ERROR_FORM_NO_ZZZZ_NAME_IS_SPECIFIED=No Zzzz Name is specified.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_LENGTH=Error in Zzzz Name length.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_NAME_CHARACTER=Error in Zzzz Name character.
    ZZZZ_ERROR_FORM_NO_ZZZZ_VALUE_IS_SPECIFIED=No Zzzz Value is specified.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_LENGTH=Error in Zzzz Value length.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_CHARACTER=Error in Zzzz Value character.
    ZZZZ_ERROR_FORM_NO_ZZZZ_FLAG_IS_SPECIFIED=No Zzzz Flag is specified.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_FLAG_LENGTH=Error in Zzzz Flag length.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_FLAG_CHARACTER=Error in Zzzz Flag character.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_LENGTH=Error in Zzzz Remark length.
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_CHARACTER=Error in Zzzz Remark character.
    
    ZZZZ_ERROR_TITLE_ZZZZ_LIST_DOES_NOT_EXIST=Zzzz List does not exist.
    ZZZZ_ERROR_TITLE_THIS_ZZZZ_DOES_NOT_EXIST=This Zzzz does not exist.
    ZZZZ_ERROR_TITLE_THIS_ZZZZ_ALREADY_EXISTS=This Zzzz already exists.
    
    messages_ja.properties
    COMMON_ERROR_TITLE_SESSION_TIMEOUT_HAS_OCCURRED=セッションタイムアウトが発生しました。
    COMMON_ERROR_TITLE_PLEASE_MODIFY_VALUE=値を修正してください。
    
    MENU_ERROR_TITLE_MENU_LIST_DOES_NOT_EXIST=メニューリストが存在しません。
    
    LOGIN_ERROR_FORM_NO_USER_ID_IS_SPECIFIED=ユーザー ID が指定されていません。
    LOGIN_ERROR_FORM_NO_PASSWORD_IS_SPECIFIED=パスワードが指定されていません。
    
    LOGIN_ERROR_TITLE_USER_ID_OR_PASSWORD_IS_NOT_CORRECT=ユーザー ID またはパスワードに誤りがあります。
    LOGIN_ERROR_TITLE_THIS_ACCOUNT_DOES_NOT_EXIST=このアカウントは存在しません。
    
    PASSWORD_ERROR_TITLE_INVALID_CURRENT_PASSWORD=現パスワードが正しくありません。
    PASSWORD_ERROR_TITLE_ERROR_IN_PASSWORD_CHARACTER=パスワードの文字に誤りがあります。
    PASSWORD_ERROR_TITLE_ERROR_INVALID_NEW_PASSWORD=新パスワードが正しくありません。
    PASSWORD_ERROR_TITLE_ERROR_NEW_PASSWORD_AND_CONFIRM_PASSWORD_ARE_UNMATCHED=新パスワードとパスワード確認が一致しません。
    
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_DOES_NOT_EXIST=あなたのアカウントは存在しません。
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED_PLEASE_LOGOUT_AND_TRY_TO_LOGIN_AGAIN=あなたのアカウントはロックされました。ログアウトし、再ログインしてください。
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED=あなたのアカウントはロックされました。ログアウトしてください。
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_IS_RESTRICTED=あなたのアカウントのアクセスは制限されています。
    
    USER_ERROR_FORM_NO_USER_NAME_IS_SPECIFIED=ユーザー名が指定されていません。
    USER_ERROR_FORM_ERROR_IN_USER_NAME_LENGTH=ユーザー名の長さに誤りがあります。
    USER_ERROR_FORM_ERROR_IN_USER_NAME_CHARACTER=ユーザー名の文字に誤りがあります。
    USER_ERROR_FORM_NO_CURRENT_PASSWORD_IS_SPECIFIED=現パスワードが指定されていません。
    USER_ERROR_FORM_ERROR_IN_CURRENT_PASSWORD_LENGTH=現パスワードの長さに誤りがあります。
    USER_ERROR_FORM_ERROR_IN_CURRENT_PASSWORD_CHARACTER=現パスワードの文字に誤りがあります。
    USER_ERROR_FORM_NO_NEW_PASSWORD_IS_SPECIFIED=新パスワードが指定されていません。
    USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_LENGTH=新パスワードの長さに誤りがあります。
    USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_CHARACTER=新パスワードの文字に誤りがあります。
    USER_ERROR_FORM_NO_CONFIRM_PASSWORD_IS_SPECIFIED=パスワード確認が指定されていません。
    USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_LENGTH=パスワード確認の長さに誤りがあります。
    USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_CHARACTER=パスワード確認の文字に誤りがあります。
    USER_ERROR_FORM_ERROR_IN_USER_REMARK_LENGTH=ユーザーコメントの長さに誤りがあります。
    USER_ERROR_FORM_ERROR_IN_USER_REMARK_CHARACTER=ユーザーコメントの文字に誤りがあります。
    
    USER_ERROR_TITLE_USER_LIST_DOES_NOT_EXIST=ユーザーリストが存在しません。
    USER_ERROR_TITLE_THIS_USER_DOES_NOT_EXIST=このユーザーは存在しません。
    USER_ERROR_TITLE_THIS_USER_ALREADY_EXISTS=このユーザーは既に存在します。
    USER_ERROR_TITLE_USER_ROLE_LIST_DOES_NOT_EXIST=ユーザー・ロールリストが存在しません。
    USER_ERROR_TITLE_THIS_USER_ROLE_ALREADY_EXISTS=このユーザー・ロールは既に存在します。
    USER_ERROR_TITLE_THIS_USER_OR_ROLE_DOES_NOT_EXIST=このユーザーまたはロールは存在しません。
    
    ROLE_ERROR_FORM_NO_ROLE_NAME_IS_SPECIFIED=ロール名が指定されていません。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_NAME_LENGTH=ロール名の長さに誤りがあります。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_NAME_CHARACTER=ロール名の文字に誤りがあります。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_LENGTH=ロールコメントの長さに誤りがあります。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_CHARACTER=ロールコメントの文字に誤りがあります。
    
    ROLE_ERROR_TITLE_NOT_SELECT_ROLE_NAME=ロール名が選択されていません。
    ROLE_ERROR_TITLE_ROLE_LIST_DOES_NOT_EXIST=ロールリストが存在しません。
    ROLE_ERROR_TITLE_THIS_ROLE_DOES_NOT_EXIST=このロールは存在しません。
    ROLE_ERROR_TITLE_THIS_ROLE_ALREADY_EXISTS=このロールは既に存在します。
    ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_DOES_NOT_EXIST=このロール・トランザクションは存在しません。
    ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_ALREADY_EXISTS=このロール・トランザクションは既に存在します。
    ROLE_ERROR_TITLE_THIS_ROLE_OR_TRANSACTION_DOES_NOT_EXISTS=このロールまたはトランザクションは存在しません。
    ROLE_ERROR_TITLE_THIS_ROLE_IS_ASSIGNED_BY_USER=このロールはユーザーに割り当てられています。
    
    XXXX_ERROR_FORM_NO_XXXX_NAME_IS_SPECIFIED=XXXX名が指定されていません。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_LENGTH=XXXX名の長さに誤りがあります。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_NAME_CHARACTER=XXXX名の文字に誤りがあります。
    XXXX_ERROR_FORM_NO_XXXX_VALUE_IS_SPECIFIED=XXXX値が指定されていません。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_LENGTH=XXXX値の長さに誤りがあります。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_CHARACTER=XXXX値の文字に誤りがあります。
    XXXX_ERROR_FORM_NO_XXXX_FLAG_IS_SPECIFIED=XXXXフラグが指定されていません。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_FLAG_LENGTH=XXXXフラグの長さに誤りがあります。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_FLAG_CHARACTER=XXXXフラグの文字に誤りがあります。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_LENGTH=XXXXコメントの長さに誤りがあります。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_CHARACTER=XXXXコメントの文字に誤りがあります。
    
    XXXX_ERROR_TITLE_XXXX_LIST_DOES_NOT_EXIST=XXXXリストは存在しません。
    XXXX_ERROR_TITLE_THIS_XXXX_DOES_NOT_EXIST=このXXXXは存在しません。
    XXXX_ERROR_TITLE_THIS_XXXX_ALREADY_EXISTS=このXXXXは既に存在します。
    
    YYYY_ERROR_FORM_NO_YYYY_NAME_IS_SPECIFIED=YYYY名が指定されていません。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_LENGTH=YYYY名の長さに誤りがあります。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_NAME_CHARACTER=YYYY名の文字に誤りがあります。
    YYYY_ERROR_FORM_NO_YYYY_VALUE_IS_SPECIFIED=YYYY値が指定されていません。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_LENGTH=YYYY値の長さに誤りがあります。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_CHARACTER=YYYY値の文字に誤りがあります。
    YYYY_ERROR_FORM_NO_YYYY_FLAG_IS_SPECIFIED=YYYYフラグが指定されていません。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_FLAG_LENGTH=YYYYフラグの長さに誤りがあります。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_FLAG_CHARACTER=YYYYフラグの文字に誤りがあります。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_LENGTH=YYYYコメントの長さに誤りがあります。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_CHARACTER=YYYYコメントの文字に誤りがあります。
    
    YYYY_ERROR_TITLE_YYYY_LIST_DOES_NOT_EXIST=YYYYリストは存在しません。
    YYYY_ERROR_TITLE_THIS_YYYY_DOES_NOT_EXIST=このYYYYは存在しません。
    YYYY_ERROR_TITLE_THIS_YYYY_ALREADY_EXISTS=このYYYYは既に存在します。
    
    ZZZZ_ERROR_FORM_NO_ZZZZ_NAME_IS_SPECIFIED=ZZZZ名が指定されていません。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_LENGTH=ZZZZ名の長さに誤りがあります。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_NAME_CHARACTER=ZZZZ名の文字に誤りがあります。
    ZZZZ_ERROR_FORM_NO_ZZZZ_VALUE_IS_SPECIFIED=ZZZZ値が指定されていません。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_LENGTH=ZZZZ値の長さに誤りがあります。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_CHARACTER=ZZZZ値の文字に誤りがあります。
    ZZZZ_ERROR_FORM_NO_ZZZZ_FLAG_IS_SPECIFIED=ZZZZフラグが指定されていません。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_FLAG_LENGTH=ZZZZフラグの長さに誤りがあります。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_FLAG_CHARACTER=ZZZZフラグの文字に誤りがあります。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_LENGTH=ZZZZコメントの長さに誤りがあります。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_CHARACTER=ZZZZコメントの文字列に誤りがあります。
    
    ZZZZ_ERROR_TITLE_ZZZZ_LIST_DOES_NOT_EXIST=ZZZZリストは存在しません。
    ZZZZ_ERROR_TITLE_THIS_ZZZZ_DOES_NOT_EXIST=このZZZZは存在しません。
    ZZZZ_ERROR_TITLE_THIS_ZZZZ_ALREADY_EXISTS=このZZZZは既に存在します。
    
    messages_zh_CN.properties
    COMMON_ERROR_TITLE_SESSION_TIMEOUT_HAS_OCCURRED=会话超时。
    COMMON_ERROR_TITLE_PLEASE_MODIFY_VALUE=请修改输入值。
    
    MENU_ERROR_TITLE_MENU_LIST_DOES_NOT_EXIST=菜单清单无存在。
    
    LOGIN_ERROR_FORM_NO_USER_ID_IS_SPECIFIED=无指定用户 ID。
    LOGIN_ERROR_FORM_NO_PASSWORD_IS_SPECIFIED=无指定密码。
    
    LOGIN_ERROR_TITLE_USER_ID_OR_PASSWORD_IS_NOT_CORRECT=用户 ID 或密码错误。
    LOGIN_ERROR_TITLE_THIS_ACCOUNT_DOES_NOT_EXIST=无存在这账号。
    
    PASSWORD_ERROR_TITLE_INVALID_CURRENT_PASSWORD=现密码不正确。
    PASSWORD_ERROR_TITLE_ERROR_IN_PASSWORD_CHARACTER=密码的文字错误。
    PASSWORD_ERROR_TITLE_ERROR_INVALID_NEW_PASSWORD=新密码不正确。
    PASSWORD_ERROR_TITLE_ERROR_NEW_PASSWORD_AND_CONFIRM_PASSWORD_ARE_UNMATCHED=新密码和密码确认不一致。
    
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_DOES_NOT_EXIST=你的账号不存在。
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED_PLEASE_LOGOUT_AND_TRY_TO_LOGIN_AGAIN=你的账号被锁定了。请注销和重新注册。
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED=你的账号被锁定了。请注销。
    ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_IS_RESTRICTED=你的账号的访问被限制。
    
    USER_ERROR_FORM_NO_USER_NAME_IS_SPECIFIED=无指定用户名
    USER_ERROR_FORM_ERROR_IN_USER_NAME_LENGTH=用户名的长度错误。
    USER_ERROR_FORM_ERROR_IN_USER_NAME_CHARACTER=用户名的文字错误。
    USER_ERROR_FORM_NO_CURRENT_PASSWORD_IS_SPECIFIED=无指定现密码。
    USER_ERROR_FORM_ERROR_IN_CURRENT_PASSWORD_LENGTH=现密码的长度错误。
    USER_ERROR_FORM_ERROR_IN_CURRENT_PASSWORD_CHARACTER=现密码的文字错误。
    USER_ERROR_FORM_NO_NEW_PASSWORD_IS_SPECIFIED=无指定新密码。
    USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_LENGTH=新密码的长度错误。
    USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_CHARACTER=新密码的文字错误。
    USER_ERROR_FORM_NO_CONFIRM_PASSWORD_IS_SPECIFIED=无指定密码确认。
    USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_LENGTH=密码确认的长度错误。
    USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_CHARACTER=Error in Confirm Password character.
    USER_ERROR_FORM_ERROR_IN_USER_REMARK_LENGTH=用户注释的长度错误。
    USER_ERROR_FORM_ERROR_IN_USER_REMARK_CHARACTER=用户注释的文字错误。
    
    USER_ERROR_TITLE_USER_LIST_DOES_NOT_EXIST=用户清单无存在。
    USER_ERROR_TITLE_THIS_USER_DOES_NOT_EXIST=此用户无存在。
    USER_ERROR_TITLE_THIS_USER_ALREADY_EXISTS=此用户已经存在。
    USER_ERROR_TITLE_USER_ROLE_LIST_DOES_NOT_EXIST=用户・角色清单无存在。
    USER_ERROR_TITLE_THIS_USER_ROLE_ALREADY_EXISTS=此用户・角色已经存在。
    USER_ERROR_TITLE_THIS_USER_OR_ROLE_DOES_NOT_EXIST=此用户或角色无存在。
    
    ROLE_ERROR_FORM_NO_ROLE_NAME_IS_SPECIFIED=无指定角色名。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_NAME_LENGTH=角色名的长度错误。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_NAME_CHARACTER=角色名的文字错误。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_LENGTH=角色注释的长度错误。
    ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_CHARACTER=角色注释的文字错误。
    
    ROLE_ERROR_TITLE_NOT_SELECT_ROLE_NAME=无挑选角色名。
    ROLE_ERROR_TITLE_ROLE_LIST_DOES_NOT_EXIST=角色清单无存在。
    ROLE_ERROR_TITLE_THIS_ROLE_DOES_NOT_EXIST=此角色无存在。
    ROLE_ERROR_TITLE_THIS_ROLE_ALREADY_EXISTS=此角色已经存在。
    ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_DOES_NOT_EXIST=此角色・业务无存在。
    ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_ALREADY_EXISTS=此角色・业务已经存在。
    ROLE_ERROR_TITLE_THIS_ROLE_OR_TRANSACTION_DOES_NOT_EXISTS=此角色或业务无存在。
    ROLE_ERROR_TITLE_THIS_ROLE_IS_ASSIGNED_BY_USER=此角色被用户绑定。
    
    XXXX_ERROR_FORM_NO_XXXX_NAME_IS_SPECIFIED=无指定XXXX名。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_LENGTH=XXXX名的长度错误。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_NAME_CHARACTER=XXXX名的文字错误。
    XXXX_ERROR_FORM_NO_XXXX_VALUE_IS_SPECIFIED=无指定XXXX值。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_LENGTH=XXXX值的长度错误。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_VALUE_CHARACTER=XXXX值的文字错误。
    XXXX_ERROR_FORM_NO_XXXX_FLAG_IS_SPECIFIED=无指定XXXX旗标。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_FLAG_LENGTH=XXXX旗标的长度错误。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_FLAG_CHARACTER=XXXX旗标的文字错误。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_LENGTH=XXXX注释的长度错误。
    XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_CHARACTER=XXXX注释的文字错误。
    
    XXXX_ERROR_TITLE_XXXX_LIST_DOES_NOT_EXIST=XXXX清单无存在。
    XXXX_ERROR_TITLE_THIS_XXXX_DOES_NOT_EXIST=此XXXX无存在。
    XXXX_ERROR_TITLE_THIS_XXXX_ALREADY_EXISTS=此XXXX已经存在。
    
    YYYY_ERROR_FORM_NO_YYYY_NAME_IS_SPECIFIED=无指定YYYY名。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_LENGTH=YYYY名的长度错误。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_NAME_CHARACTER=YYYY名的文字错误。
    YYYY_ERROR_FORM_NO_YYYY_VALUE_IS_SPECIFIED=无指定YYYY值。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_LENGTH=YYYY值的长度错误。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_VALUE_CHARACTER=YYYY值的文字错误。
    YYYY_ERROR_FORM_NO_YYYY_FLAG_IS_SPECIFIED=无指定YYYY旗标。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_FLAG_LENGTH=YYYY旗标的长度错误。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_FLAG_CHARACTER=YYYY旗标的文字错误。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_LENGTH=YYYY注释的长度错误。
    YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_CHARACTER=YYYY注释的文字错误。
    
    YYYY_ERROR_TITLE_YYYY_LIST_DOES_NOT_EXIST=YYYY清单无存在。
    YYYY_ERROR_TITLE_THIS_YYYY_DOES_NOT_EXIST=此YYYY无存在。
    YYYY_ERROR_TITLE_THIS_YYYY_ALREADY_EXISTS=此YYYY已经存在。
    
    ZZZZ_ERROR_FORM_NO_ZZZZ_NAME_IS_SPECIFIED=无指定ZZZZ名。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_LENGTH=ZZZZ名的长度错误。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_NAME_CHARACTER=ZZZZ名的文字错误。
    ZZZZ_ERROR_FORM_NO_ZZZZ_VALUE_IS_SPECIFIED=无指定ZZZZ值。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_LENGTH=ZZZZ值的长度错误。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_VALUE_CHARACTER=ZZZZ值的文字错误。
    ZZZZ_ERROR_FORM_NO_ZZZZ_FLAG_IS_SPECIFIED=无指定ZZZZ旗标。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_FLAG_LENGTH=ZZZZ旗标的长度错误。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_FLAG_CHARACTER=ZZZZ旗标的文字错误。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_LENGTH=ZZZZ注释的长度错误。
    ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_CHARACTER=ZZZZ注释的文字错误。
    
    ZZZZ_ERROR_TITLE_ZZZZ_LIST_DOES_NOT_EXIST=ZZZZ清单无存在。
    ZZZZ_ERROR_TITLE_THIS_ZZZZ_DOES_NOT_EXIST=此ZZZZ无存在。
    ZZZZ_ERROR_TITLE_THIS_ZZZZ_ALREADY_EXISTS=此ZZZZ已经存在。
    
    messages.properties
    (空ファイル)
    
    MessageUtil.java
    ・・・
    
    package cn.com.xxxx.fmockup.util;
    
    import java.util.Locale;
    
    import org.springframework.context.i18n.LocaleContextHolder;
    import org.springframework.context.support.ResourceBundleMessageSource;
    
    /**
     * Message Utitility
     */
    
    public class MessageUtil {
    
    	public static String COMMON_ERROR_STRING_UNKNOWN_TROUBLE_HAS_OCCURRED = "Unknown trouble has occurred.";
    	
    	public static String COMMON_ERROR_TITLE_SESSION_TIMEOUT_HAS_OCCURRED = "COMMON_ERROR_TITLE_SESSION_TIMEOUT_HAS_OCCURRED";
    	public static String COMMON_ERROR_TITLE_PLEASE_MODIFY_VALUE = "COMMON_ERROR_TITLE_PLEASE_MODIFY_VALUE";
    	
    	public static String MENU_ERROR_TITLE_MENU_LIST_DOES_NOT_EXIST = "MENU_ERROR_TITLE_MENU_LIST_DOES_NOT_EXIST";
    
    	public static String LOGIN_ERROR_TITLE_USER_ID_OR_PASSWORD_IS_NOT_CORRECT = "LOGIN_ERROR_TITLE_USER_ID_OR_PASSWORD_IS_NOT_CORRECT";
    	public static String LOGIN_ERROR_TITLE_THIS_ACCOUNT_DOES_NOT_EXIST = "LOGIN_ERROR_TITLE_THIS_ACCOUNT_DOES_NOT_EXIST";
    
    	public static String PASSWORD_ERROR_TITLE_INVALID_CURRENT_PASSWORD = "PASSWORD_ERROR_TITLE_INVALID_CURRENT_PASSWORD";
    	public static String PASSWORD_ERROR_TITLE_ERROR_IN_PASSWORD_CHARACTER = "PASSWORD_ERROR_TITLE_ERROR_IN_PASSWORD_CHARACTER";
    	public static String PASSWORD_ERROR_TITLE_ERROR_INVALID_NEW_PASSWORD = "PASSWORD_ERROR_TITLE_ERROR_INVALID_NEW_PASSWORD";
    	public static String PASSWORD_ERROR_TITLE_ERROR_NEW_PASSWORD_AND_CONFIRM_PASSWORD_ARE_UNMATCHED = "PASSWORD_ERROR_TITLE_ERROR_NEW_PASSWORD_AND_CONFIRM_PASSWORD_ARE_UNMATCHED";
    
    	public static String ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_DOES_NOT_EXIST = "ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_DOES_NOT_EXIST";
    	public static String ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED_PLEASE_LOGOUT_AND_TRY_TO_LOGIN_AGAIN = "ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED_PLEASE_LOGOUT_AND_TRY_TO_LOGIN_AGAIN";
    	public static String ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED = "ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_WAS_LOCKED";
    	public static String ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_IS_RESTRICTED = "ACCOUNT_ERROR_TITLE_YOUR_ACCOUNT_IS_RESTRICTED";
    
    	public static String USER_ERROR_FORM_ERROR_IN_USER_REMARK_CHARACTER = "USER_ERROR_FORM_ERROR_IN_USER_REMARK_CHARACTER";
    	public static String USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_LENGTH = "USER_ERROR_FORM_ERROR_IN_NEW_PASSWORD_LENGTH";
    	public static String USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_LENGTH = "USER_ERROR_FORM_ERROR_IN_CONFIRM_PASSWORD_LENGTH";
    	
    	public static String USER_ERROR_TITLE_USER_LIST_DOES_NOT_EXIST = "USER_ERROR_TITLE_USER_LIST_DOES_NOT_EXIST";
    	public static String USER_ERROR_TITLE_THIS_USER_DOES_NOT_EXIST = "USER_ERROR_TITLE_THIS_USER_DOES_NOT_EXIST";
    	public static String USER_ERROR_TITLE_THIS_USER_ALREADY_EXISTS = "USER_ERROR_TITLE_THIS_USER_ALREADY_EXISTS";
    	public static String USER_ERROR_TITLE_USER_ROLE_LIST_DOES_NOT_EXIST = "USER_ERROR_TITLE_USER_ROLE_LIST_DOES_NOT_EXIST";
    	public static String USER_ERROR_TITLE_THIS_USER_ROLE_ALREADY_EXISTS = "USER_ERROR_TITLE_THIS_USER_ROLE_ALREADY_EXISTS";
    	public static String USER_ERROR_TITLE_THIS_USER_OR_ROLE_DOES_NOT_EXIST = "USER_ERROR_TITLE_THIS_USER_OR_ROLE_DOES_NOT_EXIST";
    
    	public static String ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_CHARACTER = "ROLE_ERROR_FORM_ERROR_IN_ROLE_REMARK_CHARACTER";
    
    	public static String ROLE_ERROR_TITLE_NOT_SELECT_ROLE_NAME = "ROLE_ERROR_TITLE_NOT_SELECT_ROLE_NAME";
    	public static String ROLE_ERROR_TITLE_ROLE_LIST_DOES_NOT_EXIST = "ROLE_ERROR_TITLE_ROLE_LIST_DOES_NOT_EXIST";
    	public static String ROLE_ERROR_TITLE_THIS_ROLE_DOES_NOT_EXIST = "ROLE_ERROR_TITLE_THIS_ROLE_DOES_NOT_EXIST";
    	public static String ROLE_ERROR_TITLE_THIS_ROLE_ALREADY_EXISTS = "ROLE_ERROR_TITLE_THIS_ROLE_ALREADY_EXISTS";
    	public static String ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_DOES_NOT_EXIST = "ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_DOES_NOT_EXIST";
    	public static String ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_ALREADY_EXISTS = "ROLE_ERROR_TITLE_THIS_ROLE_TRANSACTION_ALREADY_EXISTS";
    	public static String ROLE_ERROR_TITLE_THIS_ROLE_OR_TRANSACTION_DOES_NOT_EXISTS = "ROLE_ERROR_TITLE_THIS_ROLE_OR_TRANSACTION_DOES_NOT_EXISTS";
    	public static String ROLE_ERROR_TITLE_THIS_ROLE_IS_ASSIGNED_BY_USER = "ROLE_ERROR_TITLE_THIS_ROLE_IS_ASSIGNED_BY_USER";
    
    	public static String XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_CHARACTER = "XXXX_ERROR_FORM_ERROR_IN_XXXX_REMARK_CHARACTER";
    	public static String XXXX_ERROR_TITLE_XXXX_LIST_DOES_NOT_EXIST = "XXXX_ERROR_TITLE_XXXX_LIST_DOES_NOT_EXIST";
    	public static String XXXX_ERROR_TITLE_THIS_XXXX_DOES_NOT_EXIST = "XXXX_ERROR_TITLE_THIS_XXXX_DOES_NOT_EXIST";
    	public static String XXXX_ERROR_TITLE_THIS_XXXX_ALREADY_EXISTS = "XXXX_ERROR_TITLE_THIS_XXXX_ALREADY_EXISTS;";
    
    	public static String YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_CHARACTER = "YYYY_ERROR_FORM_ERROR_IN_YYYY_REMARK_CHARACTER";
    	public static String YYYY_ERROR_TITLE_YYYY_LIST_DOES_NOT_EXIST = "YYYY_ERROR_TITLE_YYYY_LIST_DOES_NOT_EXIST";
    	public static String YYYY_ERROR_TITLE_THIS_YYYY_DOES_NOT_EXIST = "YYYY_ERROR_TITLE_THIS_YYYY_DOES_NOT_EXIST";
    	public static String YYYY_ERROR_TITLE_THIS_YYYY_ALREADY_EXISTS = "YYYY_ERROR_TITLE_THIS_YYYY_ALREADY_EXISTS";
    
    	public static String ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_CHARACTER = "ZZZZ_ERROR_FORM_ERROR_IN_ZZZZ_REMARK_CHARACTER";
    	public static String ZZZZ_ERROR_TITLE_ZZZZ_LIST_DOES_NOT_EXIST = "ZZZZ_ERROR_TITLE_ZZZZ_LIST_DOES_NOT_EXIST";
    	public static String ZZZZ_ERROR_TITLE_THIS_ZZZZ_DOES_NOT_EXIST = "ZZZZ_ERROR_TITLE_THIS_ZZZZ_DOES_NOT_EXIST";
    	public static String ZZZZ_ERROR_TITLE_THIS_ZZZZ_ALREADY_EXISTS = "ZZZZ_ERROR_TITLE_THIS_ZZZZ_ALREADY_EXISTS";
    
    	private static ResourceBundleMessageSource messageSource;
    
    	/*
    	 * Set message file Locale.
    	 */
    	public static void setLocale() {
    
    		Locale locale = LocaleContextHolder.getLocale();
    		String lang = locale.getLanguage();
    		String country = locale.getCountry();
    
    		if (lang.equals("ja")) {
    			locale = new Locale("ja");
    		} else if (lang.equals("zh") && country.equals("CN")) {
    			locale = new Locale("zh", "CN");
    		} else if (
    			(lang.equals("en") && country.equals("US")) ||
    			(lang.equals("en") && country.equals("UK")) ||
    			(lang.equals("zh") && country.equals("TW"))) {
    			locale = new Locale("en");
    		} else {
    			locale = new Locale("en");
    		}
    		LocaleContextHolder.setLocale(locale);
    		messageSource = new ResourceBundleMessageSource();
    		messageSource.setBasename("messages");
    		messageSource.setDefaultEncoding("UTF-8");
    		return;
    	}
    
    	/*
    	 * Get message from message file. 
    	 */
    	public static String getMessage(String id) {
    		String message = "";
    		try {
    			message = messageSource.getMessage(id, null, LocaleContextHolder.getLocale());
    		} catch (Exception ex) {
    			message = ex.getMessage();
    		}
    		return message;
    	}
    }
    

参考

0
0
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
0
0