言語表示

  • 目的・用途

本機能は、リポジトリ管理者として、ユーザーが選択可能な表示言語を設定できる機能である

  • 利用方法

【Administration > 設定(Setting) > 言語設定(Language)画面】にて操作を行う

  • 利用可能なロール

ロール システム
管理者
リポジトリ
管理者
コミュニティ
管理者
登録ユーザー 一般ユーザー ゲスト
(未ログイン)
利用可否
  • 機能内容

使用している画面

  • 【Administration > 設定(Setting) > 言語設定(Language)画面】にて表示言語を設定する

    • 「対象言語」(Target language)に設定可能な表示言語をリスト表示する
      デフォルトリストは以下とする( ただし、言語実装は日本語、英語のみとする )

      • 日本語[Japanese ja]

      • 英語(米)[English en]

      • 中国簡体[Chinese zh]

      • インドネシア語[Indonesian id]

      • ベトナム語[Vietnamese vi]

      • マレー語[Malay ms]

      • タガログ語[Filipino (Pilipinas) fil]

      • タイ語[Thai th]

      • ヒンディー語[Hindi hi]

    • 言語リストから表示言語とする言語を選択して、[>]ボタンを押すと、「登録言語」(Registered language)に選択言語の表示が移る
      選択肢は同時に複数選択可能とする

    • 選択言語リストから任意言語を選択して、[\<]ボタンを押すと、「登録言語」(Registered language)から「対象言語」(Target language)に表示が移る

    • 登録言語リストから任意言語を選択しない場合、[↟]、[ʌ]、[ⅴ]、[↡]ボタンを無効とする

    • 登録言語リストから任意言語を選択している場合

      • [↟]ボタンを押すと、登録言語リストの上頭に表示が移る

      • [ʌ]ボタンを押すと、登録言語リストの1つ上言語に表示が移る

      • [ⅴ]ボタンを押すと、登録言語リストの1つ下言語に表示が移る

      • [↡]ボタンを押すと、登録言語リストの下頭に表示が移る

    • 登録言語リストが空である間は、[保存(Save)]ボタンは非活性になる

    • [保存(Save)]ボタンを押すと、「登録言語」(Registered language)の対象が表示言語として設定され、メッセージを画面上部に表示される

      • メッセージ:「Update languages action successfully」

      • 変更された内容をデータベースに保存する

        • テーブル名:admin_lang_settings

        • カラム名:
          ・lang_code
          ・lang_name
          ・is_registered
          ・sequence
          ・is_active

  • 【言語設定(Language)画面】で設定した表示言語は、ユーザ側の表示言語選択プルダウンから使用可能となる

    • 【言語設定(Language)画面】で設定した順番でプルダウン表示する

    • 【言語設定(Language)画面】で設定した順番の一番上の言語をデフォルト表示とする

  • 関連モジュール

  • weko_admin
  • 処理概要

1. 設定

${INVENIO_WEB_INSTANCE} language create \

--active --registered "en" "English" 001

${INVENIO_WEB_INSTANCE} language create \

--active "zh" "中文" 000

${INVENIO_WEB_INSTANCE} language create \

--active "id" "Indonesia" 000

${INVENIO_WEB_INSTANCE} language create \

--active "vi" "Tiếng Việt" 000

${INVENIO_WEB_INSTANCE} language create \

--active "ms" "Bahasa Melayu" 000

${INVENIO_WEB_INSTANCE} language create \

--active "fil" "Filipino (Pilipinas)" 000

${INVENIO_WEB_INSTANCE} language create \

--active "th" "ไทย" 000

${INVENIO_WEB_INSTANCE} language create \

--active "hi" "हिन्दी" 000

${INVENIO_WEB_INSTANCE} language create \

--active --registered "ja" "日本語" 002

対象言語一覧に言語を追加する場合、以下のコマンドを実施する

docker-compose exec web invenio language create --active "言語コード" "言語名" 000

2. 画面操作にともなう処理

  • 画面表示時に、weko_admin.views. get_lang_list関数が呼び出される

    • レスポンスとして、admin_lang_settingsテーブルから「is_active」フィールドがtrueであるレコードを「sequence」昇順で受け取る

    • 各レコードの言語は、「is_registered」フィールドがtrueなら登録言語リストに、falseなら対象言語リストに配置する

  • [保存(Save)]ボタンを押すと、.views.save_lang_list関数が呼び出される

    • リクエストのペイロードとして、要素が以下の内容であるJSON配列を送り、配列要素ごとにadmin_lang_settingsテーブルの「lang_code」フィールドが配列要素の「lang_code」に一致するレコードをその配列要素の内容で更新する。

      • is_registered:登録言語にある場合はtrue、そうでなければfalse

      • lang_code:言語コード

      • lang_name:言語名

      • sequence:表示順(対象言語リストにある場合は0固定)

  • 更新履歴

日付 GitHubコミットID 更新内容

2023/08/31

353ba1deb094af5056a58bb40f07596b8e95a562 初版作成

results matching ""

    No results matching ""