How To Localize an AmaRecVR

アマレコVR Ver3.1.0からマルチランゲージに対応しました。
また、XMLファイルを編集することでユーザーによるローカライズも可能となっていますので、その方法を紹介します。

他のユーザーが用意したXMLファイルを導入する場合は[４．ローカライズ](#４ローカライズ)を見てください。


# １．XMLファイルを作る
アマレコVRの設定画面のLanguageから「Create XML file」を選択します。
![language_config.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3624096/6f1fea54-ce60-bf7c-4ecb-35a4b37be10a.png)




XMLファイル「language_template.xml」がQuest内に作成されます。
![lang_template.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3624096/fb9e5916-45a0-45d4-9f0e-dbfc7d7498de.png)






# ２．PCへ転送


QuestとPCをUSBケーブルで接続します。
```:Languageフォルダ
Quest / Android / data / com.amarectv.AmaRecVR3 / files / language
```
Languageフォルダへアクセスして「language_template.xml」ファイルをPCへ転送します。
![quest_language_file.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3624096/350fe544-c2a4-18b4-40ff-a7c98b30a87f.png)






# ３．XMLファイルを編集
```xml:language_template.xml
<?xml version="1.0" encoding="utf-8"?>
<AmaRecVR-Language device="Quest">
  <country>Universal</country>
  <comment>Date: 2024.4.2</comment>
  <Application version="310">
    <Class id="10" caption="WindowFile">
      <Item id="310.0010.1000" caption="WindowFile/imgExit">
        <ref0>アプリ終了</ref0>
        <txt0>Exit</txt0>
        <ref1>アマレコVRを終了します。
終了時にお気に入りリストなどの変更を保存します。</ref1>
        <txt1>Exit Application.</txt1>
      </Item>
      <Item id="310.0010.1001" caption="WindowFile/imgConfig">
        <ref0>設定</ref0>
        <txt0>Config</txt0>
        <ref1>設定画面を表示します。</ref1>
        <txt1>Show configuration.</txt1>
      </Item>
      ...
```
次のElementを編集してください。
Attributeは変更しないでください。

|Element|説明|備考|
|-|-|-|
|AmaRecVR-Language|アマレコVRの言語ファイルを示す|変更不可|
|country|国、地域、目的を示す文字列|任意、未使用|
|**comment**|**設定画面に表示する文字列**|**任意、日付、編集者など**|
|Application|バージョン毎に作られる|変更不可|
|Class|各画面やスクリプト毎に作られる|変更不可|
|Item|ボタン、メッセージボックス等|変更不可|
|ref0<br>ref1|原文|未使用|
|**txt0<br>txt1**|**表示する文字列**|**ここを編集してください**|

編集が終わったら名前を付けて保存します。


# ４．ローカライズ
1. QuestとPCをUSBケーブルで接続
2. XMLファイルをQuestのLanguageフォルダへ転送
    ```:Languageフォルダ
    Quest / Android / data / com.amarectv.AmaRecVR3 / files / language
    ```
    Languageフォルダが無い場合は作ってください。
3. アマレコVRの設定画面のLanguageから転送したXMLファイルを選択
4. アマレコVRを再起動

以上でローカライズ完了です。



:::note info
ヒント
# レイアウト調整など細かい作業を頻繁にする場合
再起動やファイル転送することなくレイアウト等の確認をする方法を紹介します。

AmaRecVR ServerのルートへLanguageフォルダを作ってXMLファイルを置きます。
![server_language_file.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3624096/7ec32f79-5eb2-4fb3-35c7-425ef7926e03.png)



AmaRecVR Serverの設定で ファイル拡張子 「xml」を追加します。
※ 登録されている拡張子のファイルでないとアクセスできない為
![server_ext_xml.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3624096/1cb3f6ce-d0d3-2c8a-7017-411abacc11f8.png)





これで、ランゲージ選択からサーバー側のファイルを選択できるようになります。
先頭に*が付いているのがサーバー側のXMLファイルですの選択します。
![lang_menu_server.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3624096/88e7df9c-105c-7796-04fb-df1fadb69d21.png)




ボタン設定で「ランゲージ リロード」をボタンへ割り当てます。
![button_lang.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3624096/db911674-1482-c70f-14b9-cc8289c41643.png)




以降は、アマレコVRを起動したまま、PCでXMLファイルを編集、保存。リロードボタンでXMLファイルの変更が即座に反映されます。

※ 一部アプリ起動時に確定する文字列があります。その場合リロードでは確認できません。
:::




:::note info
ヒント
# アップデート
アマレコVRのバージョンが更新された場合は新しく[Application]が追加され更新内容は全てこの中に記述されます。
原則古い[Application]の内容は更新されません。
廃止された項目も残ったままとなります。（古いアマレコVRを使う際に必要）
既存の項目に変更が生じた場合は古い[Application]をそのままにし、新しい[Application]に新しい[Item]が作成されます。
なので、**アップデート作業をする場合は新しい[Application]部分のみ編集してください**。

:::