FastReport VCL & FMX 2023.3 の日本語化(2)

# FastReport VCL & FMX 2023.3 の日本語化(2)

[FastReport VCL & FMX 2023.3 の日本語化(1)](https://qiita.com/igy/items/b97050c0fd6ed7872967) の続きです。

前回の記事の最後で、

> 以前のバージョン同様、日本語のリソースファイルは、すべての文字が日本語に翻訳されているわけではなく、英語のままの箇所があります。
> ただ、以前のバージョンは、XMLファイルがそのままフォルダに格納されていたのですが、現在のバージョンは、frLanguageJapanese.res に格納されているようです。

と書きましたが、今回、この frLanguageJapanese.res に格納されている日本語のリソースファイルを書き換えてみたいと思います。


## 日本語のリソースファイルの書き換え

### frLanguageJapanese.resファイル

frLanguageJapanese.res
は、インストール先の
VCL : RS29\VCL\Win32フォルダ
FMX : RS29\FMX\Win32フォルダ
にあり、両方とも同じファイルのようなので、書き換えるために、
RS29\VCL\Win32フォルダ
にある frLanguageJapanese.res と（後で参照するために、英語の）frLanguageEnglish.res の２つのファイルを、（作業用の）別のフォルダにコピーします。


### リソースデータ編集ソフト

frLanguageJapanese.res から日本語のリソースファイルを取り出すために、リソースデータ編集ソフトを使います。

リソーエディタ ver.5.7.9 リソースデータ編集ソフト
[https://katahiromz.fc2.page/risoheditor/](https://katahiromz.fc2.page/risoheditor/)
を使って、frLanguageJapanese.res を開き、エクスポート（メニュー「ファイル」－「エクスポート」）して、ファイルを取り出します。

RCData_FRXRCCLASSJAPANESE.bin
RCData_FRXRCDESGNJAPANESE.bin
RCData_FRXRCEXPORTSJAPANESE.bin
RCData_FRXRCINSPJAPANESE.bin
の４つのファイル（中身はXMLファイル）が出力されます。

### 各リソースファイルの書き換え

「印刷ダイアログ」・「PDFファイルへのエクスポート」・「レポートデザイナー画面」の文字をいくつか変更してみたいと思います。

日本語の各リソースファイルを下記のように、書き換えます。

**印刷ダイアログ**

|ファイル|Name|元のText|書き換え後のText|
|:--|:--:|:--|:--|
|RCData_FRXRCCLASSJAPANESE.bin|201|プリンタ名|プリンター|
|RCData_FRXRCCLASSJAPANESE.bin|206|印刷|印刷対象|
|RCData_FRXRCCLASSJAPANESE.bin|207|!Other|その他|
|RCData_FRXRCCLASSJAPANESE.bin|211|!Order|ページの順序|
|RCData_FRXRCCLASSJAPANESE.bin|212|Name:|名前:|
|RCData_FRXRCCLASSJAPANESE.bin|213|Print mode|印刷モード|
|RCData_FRXRCCLASSJAPANESE.bin|214|Print on sheet|用紙サイズの指定|
|RCData_FRXRCCLASSJAPANESE.bin|216|Duplex|両面印刷|


**PDFファイルへのエクスポート**

|ファイル|Name|元のText|書き換え後のText|
|:--|:--:|:--|:--|
|RCData_FRXRCEXPORTSJAPANESE.bin|8700|PDF 形式へのエクスポート|PDF ファイルへのエクスポート|
|RCData_FRXRCEXPORTSJAPANESE.bin|8704|概観|アウトライン|
|RCData_FRXRCEXPORTSJAPANESE.bin|8709|Transparency|透過|
|RCData_FRXRCEXPORTSJAPANESE.bin|8710|PDF Standard:|PDFの規格:|
|RCData_FRXRCEXPORTSJAPANESE.bin|8711|PDF Version:|PDFのバージョン:|
|RCData_FRXRCEXPORTSJAPANESE.bin|8712|Compressed|圧縮|
|RCData_FRXRCEXPORTSJAPANESE.bin|8713|Interactive forms|インタラクティブフォーム|
|RCData_FRXRCEXPORTSJAPANESE.bin|8714|Used glyphs|使用されるグリフ|
|RCData_FRXRCEXPORTSJAPANESE.bin|8730|Partial embedding|部分的な埋め込み|

なお、8709から8714と8730は、日本語のリソースファイルに含まれていないため、リソースデータ編集ソフトで、英語の frLanguageEnglish.res を開き、エクスポートし、出力した RCData_FRXRCEXPORTSENGLISH.bin から、

```xml:RCData_FRXRCEXPORTSENGLISH.bin
  <StrRes Name="8709" Text="Transparency"/>
  <StrRes Name="8710" Text="PDF Standard:"/>
  <StrRes Name="8711" Text="PDF Version:"/>
  <StrRes Name="8712" Text="Compressed"/>
  <StrRes Name="8713" Text="Interactive forms"/>
  <StrRes Name="8714" Text="Used glyphs"/>
  <StrRes Name="8730" Text="Partial embedding"/>
```
を日本語のリソースファイル RCData_FRXRCEXPORTSJAPANESE.bin にコピーして、Textを書き換えます。


**レポートデザイナー画面**

|ファイル|Name|元のText|書き換え後のText|
|:--|:--:|:--|:--|
|RCData_FRXRCDESGNJAPANESE.bin|2000|Object Inspector|オブジェクト インスペクタ|
|RCData_FRXRCDESGNJAPANESE.bin|oiProp|Properties|プロパティ|
|RCData_FRXRCDESGNJAPANESE.bin|oiEvent|Events|イベント|
|RCData_FRXRCDESGNJAPANESE.bin|2100|Data Tree|データ ツリー|
|RCData_FRXRCDESGNJAPANESE.bin|2101|Data|データ|
|RCData_FRXRCDESGNJAPANESE.bin|2102|Variables|変数|
|RCData_FRXRCDESGNJAPANESE.bin|2103|Functions|関数|
|RCData_FRXRCDESGNJAPANESE.bin|2106|Classes|クラス|
|RCData_FRXRCDESGNJAPANESE.bin|dtData|Data|データ|
|RCData_FRXRCDESGNJAPANESE.bin|dtSysVar|System variables|システム変数|
|RCData_FRXRCDESGNJAPANESE.bin|dtVar|Variables|変数|
|RCData_FRXRCDESGNJAPANESE.bin|dtFunc|Functions|関数|
|RCData_FRXRCDESGNJAPANESE.bin|2200|Report Tree|レポート ツリー|
|RCData_FRXRCDESGNJAPANESE.bin|2378|\&amp;File|ファイル(\&amp;F)|
|RCData_FRXRCDESGNJAPANESE.bin|2379|\&amp;Edit|編集(\&amp;E)|
|RCData_FRXRCDESGNJAPANESE.bin|2383|\&amp;Report|レポート(\&amp;R)|
|RCData_FRXRCDESGNJAPANESE.bin|2384|Data...|データ...|
|RCData_FRXRCDESGNJAPANESE.bin|2385|Options...|オプション...|
|RCData_FRXRCDESGNJAPANESE.bin|2386|Styles...|スタイル...|
|RCData_FRXRCDESGNJAPANESE.bin|2387|\&amp;View|表示(\&amp;V)|
|RCData_FRXRCDESGNJAPANESE.bin|2394|Object Inspector|オブジェクト インスペクタ|
|RCData_FRXRCDESGNJAPANESE.bin|2401|\&amp;Help|ヘルプ(\&amp;H)|
|RCData_FRXRCDESGNJAPANESE.bin|2402|Help Contents...|目次(\&amp;C)...|
|RCData_FRXRCDESGNJAPANESE.bin|2403|About FastReport...|バージョン情報(\&amp;A)...|


書き換えが終わったら、リソースデータ編集ソフトにてインポート（メニュー「ファイル」－「インポート」）して、データを上書き保存します。
書き換えた frLanguageJapanese.res を、元々あった
インストール先の
VCL : RS29\VCL\Win32フォルダ
FMX : RS29\FMX\Win32フォルダ
にコピーします。（元のファイルは、あらかじめバックアップを取っておきます。）

## 動作確認

TfrLocalizationController を設定済みの既存のプロジェクトをコンパイルし直すと、

**印刷ダイアログ(VCL)**
![fr2023_vcl_printdlg2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/ba38388a-bd49-6f29-13b3-76ead274c1fe.png)


**PDFファイルへのエクスポート(VCL)**
![fr2023_vcl_exportpdf2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/d6418c11-b432-3f42-9938-1762ca6b29ac.png)


**印刷ダイアログ(FMX)**
![fr2023_fmx_printdlg2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/e800e215-88b5-e46f-ce7b-a597de7f7d39.png)

のように追加した翻訳箇所が反映されています。

一方、IDE上でTfrxReport をダブルクリックすると起動できる「レポートデザイナー画面」では・・・翻訳箇所が反映されません。
色々試したところ、前回、コンパイル＆インストールしたリソースパッケージ
VCL : RS29\VCL\Win32フォルダにある frLanguageJapanese29.dpk
FMX : RS29\FMX\Win32フォルダにある FMXfrLanguageJapanese29.dpk
をコンパイルし直すことで、「レポートデザイナー画面」も日本語表示されるようになりました。

**レポートデザイナー画面(VCL)**
![fr2023_vcl_repdesign.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/25819f0d-2011-ec82-20c1-40395fbaf82d.png)

**レポートデザイナー画面(FMX)**
![fr2023_fmx_repdesign.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/6ee0f613-a2de-b853-58d0-084a5ffc7239.png)

## 最後に

今回は、日本語の各リソースファイルに対し、手作業で文字を書き換えたり、英語のリソースファイルから足りない項目をコピーする手順を書きましたが、FastReportのアップデートがリリースされるごとに、手作業で書き換えを行うのは手間なので、翻訳するデータをあらかじめCSVファイルなどに保存しておき、日本語のリソースファイルの該当箇所を書き換えるプログラムを作ってしまえば良いかもしれません。