FastReport Embarcadero Edition を日本語化

# FastReport Embarcadero Edition を日本語化

前回、[FastReport Embarcadero Editionのご紹介](https://qiita.com/igy/items/32bef6a31530a3b9287e)を書きましたが、今回はUIの日本語化です。

**2024/03/07 追記**
この記事で取り上げている Recompile Wizard は、Ver.2023.1まで使用されており、Ver.2023.2 でLocalization Systemが変更され、Recompile Wizardが使われなくなりました。
Ver.2023.2以降の場合、
[FastReport VCL & FMX 2023.3 の日本語化(1)](https://qiita.com/igy/items/b97050c0fd6ed7872967)
[FastReport VCL & FMX 2023.3 の日本語化(2)](https://qiita.com/igy/items/81c1cb704b5a03d753dc)
を参照してください。



## FastReportインストール後に、Recompile Wizard で日本語化

Recompile Wizardは、UIの文字を、デフォルトの英語から日本語（あるいは、他の言語）に変更します。

起動は、スタートメニューにある「FastReport」－「Recompile Wizard」を管理者権限で実行します。（バージョンによっては、メニューにない場合があります。その場合は、FastReportをインストールしたフォルダーにあるrecompile.exeを管理者権限で実行します。）

![recompile_wizard.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/082e083b-f9c8-5e9d-3575-45a001983709.jpeg)


「1. Select the compiler」で使用している Delphi のバージョンを選択、
「2. Select the FastReport version」で「Embarcadero Edition」を選択します。（製品版をお使いの場合、該当するEditionを選択。）
そして、「4. What you want to do」で、「Change language to:」が選択され、「Japanese」になっていることを確認して、「Compile」ボタンをクリックします。






FastReport Embarcadero Edition（Ver.6.4.10）をインストール後、Recompile Wizardで日本語化したとき、

印刷ダイアログ
![PrintDialog1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/341515a4-9d06-69f8-01bd-dc2434444042.jpeg)

PDFファイルへのエクスポート
![PDF_Export1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/7716078d-b6c9-4a34-038f-bf3754611015.jpeg)

のようになります。

## 日本語のリソースファイルを書き換えてみよう

各言語のリソースファイルは、FastReportをインストールしたフォルダーの Res フォルダーにあり、日本語のリソースファイルは、Res\Japanese フォルダーにあります。
Recompile Wizard で日本語化するときは、このリソースファイルを使っているようです。

この日本語のリソースファイルですが、いくつか注意する点があります。

- すべての文字が日本語に翻訳されているわけではなく、英語のままの箇所がある。
- 日本語に翻訳されている箇所でも、別の文字にしたほうがいい箇所がある。
- 一部データが欠落していることがある。（英語のリソースファイルのみに存在。）


そこで、「印刷ダイアログ」と「PDFファイルへのエクスポート」の文字をいくつか変更してみたいと思います。

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

印刷ダイアログ

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


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

|ファイル|Name|元のText|書き換え後のText|
|:--|:--:|:--|:--|
|frxrcExports.xml|8700|PDF 形式へのエクスポート|PDF ファイルへのエクスポート|
|frxrcExports.xml|8710|PDF Standard:|PDFの規格:|
|frxrcExports.xml|8711|PDF Version:|PDFのバージョン:|
|frxrcExports.xml|8712|Compressed|圧縮|
|frxrcExports.xml|8704|概観|アウトライン|
|frxrcExports.xml|8709|Transparency|透過|

なお、8709, 8710, 8711, 8712は、FastReportインストール直後では日本語のリソースファイルに含まれておらず、１回でも、Recompile Wizard で日本語化したら、自動的に追加されるようです。

もし、日本語のリソースファイルに含まれていない場合、英語のリソースファイルにある

```xml:frxrcExports.xml
  <StrRes Name="8709" Text="Transparency"/>
  <StrRes Name="8710" Text="PDF Standard:"/>
  <StrRes Name="8711" Text="PDF Version:"/>
  <StrRes Name="8712" Text="Compressed"/>
```
をコピーして、日本語のリソースファイルに追加してから、Textを書き換えます。

書き換えが完了したら、Recompile Wizardを実行します。

印刷ダイアログ
![PrintDialog2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/7b507dba-cb3a-b8e5-fca5-726eaeb65701.jpeg)

PDFファイルへのエクスポート
![PDF_Export2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318490/6f7f024b-6b16-a931-2fde-545a650d4e71.jpeg)

## 最後に

FastReportのアップデートがリリースされるごとに、手作業で書き換えを行うのは手間なので、

- 英語のリソースファイルと日本語のリソースファイルを比較して、欠落しているデータは日本語のリソースファイルに追加する
- 置き換えたい文字列を、あらかじめCSVファイルなどに保存しておき、日本語のリソースファイルの該当箇所を書き換える
 
これらを行うプログラムを、作ってしまえば良いかもしれません。
（難しいプログラムじゃないので、Delphiユーザーであれば、すぐ作れるかと・・）