Question
Azure PaaS 環境に構築した Orchestrator で、ユーザー設定画面から表示言語を変更しても、設定画面以外の Orchestrator 画面に変更後の言語が反映されない場合があります。
設定画面の表示言語は変更されますが、Orchestrator 画面は変更前の言語、またはテナント設定とは異なる言語で表示されます。
参考:
「Selecting the user language」
エラーメッセージ:
ブラウザーのネットワークログでは、言語変更時に以下のようなリクエスト結果が確認される場合があります。
PUT https:///api/Setting
結果: 200
POST https:///odata/Users/UiPath.Server.Configuration.OData.ChangeCulture
Answer
原因
Azure PaaS 環境では Orchestrator と Identity Server が異なるホストで構成されるため、ユーザー設定画面から表示言語を変更した場合に、Identity Server 側の言語設定のみが変更され、Orchestrator 側のユーザー言語設定に反映されない場合があります。
Orchestrator 画面の表示言語は、ユーザー単位の Orchestrator 側の言語設定がテナントの言語設定より優先されます。そのため、該当ユーザーの Orchestrator 側の言語設定が残っている場合、テナントの言語設定とは異なる言語で表示されます。
解決策
Orchestrator API を使用して、該当ユーザーの Orchestrator 側の言語設定を変更します。
以下は Swagger を使用して変更する手順です。
- Orchestrator 管理者ユーザーで Orchestrator にログインします。
- 新しいブラウザータブで以下の URL にアクセスします。
https: //<Orchestrator URL>/swagger
- Swagger 画面右上の「Authorize」をクリックし、既定値のままポップアップ内の「Authorize」をクリックします。
- 「Users」セクションの「GET /odata/Users」を実行し、言語を変更するユーザーの Id を確認します。
$selectにUserName,TenantId,Idを指定すると、対象ユーザーを確認しやすくなります。 - 「Users」セクションの「POST /odata/Users({key})/UiPath.Server.Configuration.OData.ChangeUserCulture」を実行します。(a)
keyに、手順 4 で確認したユーザー Id を指定します。
(b)bodyのcultureに、設定する言語を指定します。
日本語に変更する場合の指定例:
{
"culture" : "ja"
}
日本語以外の言語を指定する場合は、「Settings」セクションの「GET /odata/Settings/UiPath.Server.Configuration.OData.GetLanguages」を実行し、レスポンス内の Name で指定可能な言語を確認してください。
