設定ファイル
概要
Wiener Standaloneに渡す設定ファイルです。
指定方法
Wiener Standaloneに設定YAMLを指定します。
Wiener.exe -settings settings\develop_settings.yaml
記入例
# カレントディレクトリからのWiener本体のテキストパス
wiener_text_path: "../tools/wiener/WienerText.csv"
# Wiener本体のテキスト言語
wiener_text_language: "ja"
output_format:
# C#コード出力
- format: CSharp
bom: false
newline_lf: true
# UE5コード出力
- format: UE5
bom: false
newline_lf: true
# Json出力
- format: Json
bom: false
newline_lf: true
# SQL出力
- format: SQL
bom: false
newline_lf: true
# CSV出力
- format: CSV
bom: true
newline_lf: true
# PHP出力
- format: PHP
bom: false
newline_lf: true
# Manual出力
- format: Manual
bom: false
newline_lf: true
# UE5
ue5:
# UTC時間を無効
is_utc: false
# PHP
php:
# テーブルハッシュ出力の入力テンプレートパス
input_hash_list_template: "HashListPhp.php"
# テーブルハッシュ出力パス
output_hash_list: "HashList.php"
# Manual
manual:
# HTMLのタイトル
title: "マスターデータマニュアル"
# カレントディレクトリからのYAMLのパス
yaml_search_path: "yaml"
# カレントディレクトリからのローカル表入力のパス(Google Sheetsのみを使う場合は省略可)
input_search_path: "../excel"
# カレントディレクトリからの出力パス
output_path: "makes"
# カレントディレクトリからのテンプレートパス(PHP出力を使う場合は必須)
template_path: "../template"
# Windowsのタイムゾーン
windows_timezone: "Tokyo Standard Time"
# Mac、Linuxのタイムゾーン
unix_timezone: "Asia/Tokyo"
# 開発環境の有無
development: true
# 自動生成コードのnamespace(空文字だとWiener)
namespace: ""
google_sheets:
credential_path: "../secrets/wiener-service-account.json"
# ローカライズ設定
localization:
enable: true
input:
path: "localize/translations.csv"
target_languages:
- value: "ja"
- value: "en"
# 並列実行数
processor_count: 1
# Excel内のマスターバージョン名
version_excel_name: "master_version"
詳細
wiener_text_path
wiener_text_path: "../tools/wiener/WienerText.csv"
- 定義:必須
Wiener内部で使用するメッセージファイルのパスを、カレントディレクトリからの相対パスで指定します。
wiener_text_language
wiener_text_language: "ja"
- 定義:必須
Wiener内部で使用するメッセージファイルの言語を指定します。WienerText.csv の1行目の文字列を指定します。
output_format
output_format:
- format: CSharp
bom: false
newline_lf: true
- 定義:必須
出力形式を1つ以上定義します。
format
- 定義:必須
次のいずれかを指定します。
| 値 | 説明 |
|---|---|
| CSharp | C#コードを出力 |
| UE5 | Unreal Engine 5コードを出力 |
| Json | JSONファイルを出力 |
| SQL | SQLファイルを出力 |
| CSV | CSVファイルを出力 |
| PHP | PHPファイルを出力 |
| Manual | マニュアルHTMLを出力 |
| Binary | バイナリを出力(Unity Asset版向け機能。Standalone版で直接使う機会はない) |
bom
- 定義:オプション
- デフォルト:true
出力は UTF-8 です。BOM の有無を指定します。
newline_lf
- 定義:オプション
- デフォルト:true
改行コードを指定します。
| 値 | 改行コード |
|---|---|
| true | LF |
| false | CRLF |
ue5
ue5:
is_utc: false
- 定義:オプション
is_utc
- 定義:オプション
- デフォルト:false
DateTimeの出力をUTC時間に合わせます。
php
php:
input_hash_list_template: "HashListPhp.php"
output_hash_list: "HashList.php"
- 定義:オプション
input_hash_list_template
- 定義:オプション
PHPのハッシュテーブル用テンプレートファイル名を指定します。template_path からの相対パスを指定します。
output_hash_list
- 定義:オプション
PHPのデータハッシュ一覧ファイルの出力先パスを指定します。output_path からの相対パスを指定します。
各データのハッシュ値を記録し、前回出力から差分があるデータだけをリロードする用途を想定しています。
manual
manual:
title: "マスターデータマニュアル"
- 定義:オプション
title
- 定義:オプション
マニュアルHTMLのタイトル名を指定します。
yaml_search_path
yaml_search_path: "yaml"
- 定義:必須
カレントディレクトリからのYamlディレクトリのパスを指定します。
input_search_path
input_search_path: "../excel"
- 定義:条件付き必須(
google_sheets.credential_pathを指定しない場合)
カレントディレクトリからのローカル表入力ディレクトリのパスを指定します。
header.input_path に指定したローカルExcelのパスは、このディレクトリからの相対パスとして解決されます。Google Sheets URLはこのディレクトリの影響を受けません。
Google Sheets URLのみを入力として使用し、google_sheets.credential_path を指定している場合は省略できます。
output_path
output_path: "makes"
- 定義:必須
カレントディレクトリからの出力ディレクトリのパスを指定します。
template_path
template_path: "../template"
- 定義:条件付き必須(
output_formatにPHPを含む場合)
カレントディレクトリからのテンプレートディレクトリのパスを指定します。
PHP出力を使用しない場合は省略できます。
windows_timezone
windows_timezone: "Tokyo Standard Time"
- 定義:必須
Windowsのタイムゾーンを指定します。
unix_timezone
unix_timezone: "Asia/Tokyo"
- 定義:必須
Mac、Linuxのタイムゾーンを指定します。
development
development: true
- 定義:オプション
- デフォルト:false
開発モードを有効にします。true にすると以下の動作が変わります。
- 表入力のA列の「@」行を出力対象に含める
- YAML
header.development_input_pathに指定した追加入力を読み込む - ローカライズの未翻訳エントリ(
----)によるコンバートエラーを抑制する
A列「@」行の有効化 {#development-excel-at}
| 値 | 動作 |
|---|---|
| true | A列に「@」が付いた行を出力対象に含める |
| false | A列に「@」が付いた行をスキップする |
開発データのA列に @ を入れておき、開発中は true、本番では false にして運用します。
development_input_path の有効化 {#development-input-path}
YAMLの header.development_input_path に指定したパスは、development: true の場合にのみ読み込まれます。development: false のときは無視されます。
テストデータなど開発専用の入力を本番入力と分離するために使用します。
ローカライズ未翻訳エラーの抑制
ローカライズ機能を使用している場合、development: false(本番モード)では未翻訳(----)のエントリが残っているとコンバートエラーになります。development: true のときはこのチェックが抑制されます。
google_sheets
google_sheets:
credential_path: "../secrets/wiener-service-account.json"
- 定義:オプション
header.input_path にGoogle Sheets URLを指定する場合、またはローカライズのinput/outputにスプレッドシートURLを指定する場合の設定です。
詳細な設定手順はGoogle Sheets入力を参照してください。
credential_path
- 定義:条件付き必須(Google Sheetsを使用する場合)
Googleサービスアカウントの認証JSONファイルのパスを指定します。対象スプレッドシートに対する読み取り・書き込み権限が必要です。
namespace
namespace: "Wiener"
- 定義:オプション
- デフォルト:"Wiener"
C# / UE5 自動生成コードの namespace を指定します。
未指定の場合、従来通り Wiener namespace に出力します。マネージャークラス名は WienerManager 固定です。
localization
- 定義:オプション
ローカライズ機能を使う場合に設定します。
CSVを読み込んでCSVに書き込む(最もシンプルな構成)
localization:
enable: true
input:
path: "localize/translations.csv"
スプレッドシートを読み込んでスプレッドシートに書き込む
localization:
enable: true
input:
path: "https://docs.google.com/spreadsheets/d/xxxxxxxx/edit#gid=0"
sheet: "translations"
スプレッドシートを読み込んでCSVに書き込む
localization:
enable: true
input:
path: "https://docs.google.com/spreadsheets/d/xxxxxxxx/edit#gid=0"
sheet: "translations"
output:
path: "localize/translations.csv"
enable
- 定義:オプション
- デフォルト:false
true を指定するとローカライズ機能が有効になります。
開発中の運用について
enable: true の状態でコンバートを実行すると翻訳CSVが更新されるため、マスターデータ変更のたびにCSVのコミットが発生します。
開発中は enable: false(または設定を省略)にしておき、以下のタイミングでのみ enable: true にすることを推奨します。なお、本番コンバート(development: false)時に ---- の未翻訳エントリが残っているとエラーになります。
- 翻訳作業の開始前(CSVを最新状態に更新して翻訳者に渡す)
- ローカライズ対応のバイナリを実際に確認・検証するとき
- 本番コンバート時
input
- 定義:条件付き(enableがtrueの場合は必須)
翻訳データの読み込み元を指定します。
input.path
- 定義:必須
翻訳用ファイルのパスを指定します。
カレントディレクトリからの相対パス、またはGoogle SheetsのURLを指定します。
URLが http:// または https:// で始まる場合はスプレッドシートとして扱います。
コンバート時に自動生成・自動更新されます(出力先が別途指定されていない場合)。
input.sheet
- 定義:スプレッドシートの場合は必須
入力がスプレッドシートURLの場合に、読み込むシート名を指定します。
output
- 定義:オプション
翻訳データの書き込み先を指定します。省略時は input と同じ場所に書き込みます(入出力が同一の場合は内容が変わらなければ書き込みをスキップします)。
output.path
- 定義:オプション
翻訳用ファイルの書き込み先パスを指定します。
カレントディレクトリからの相対パス、またはGoogle SheetsのURLを指定します。
output.sheet
- 定義:スプレッドシートの場合は必須
出力先がスプレッドシートURLの場合に、書き込むシート名を指定します。
差分出力について
原文の変更・削除が発生した場合、差分データが出力されます。
| 出力先 | 差分の書き込み先 |
|---|---|
| CSV ファイル | {csv名}_diff_{timestamp}.csv(同ディレクトリ) |
| スプレッドシート | 同一スプレッドシートの diff_{timestamp} シート(新規作成) |
target_languages
- 定義:オプション
本番モード(development: false)における未翻訳エラーのチェック対象言語を絞り込みます。
定義なし(または空リスト)の場合は、CSVの全言語列がエラーチェック対象になります。定義した場合は、リストに含まれる言語のみエラーチェックを行い、含まれない言語は未翻訳(----)のまま原文フォールバックで通過します。
運用中に新しい言語を翻訳対象として追加する際は、翻訳作業が完了するまでその言語だけ target_languages から除外しておくことで、本番コンバートをエラーなく継続できます。
output_info_path
output_info_path: "output_info.json"
- 定義:オプション
- デフォルト:""
コンバート結果の情報をJSONファイルとして出力する場合に指定します。output_path からの相対パスを指定します。
出力内容は YamlHash と DataHash を含むJSONです。
指定しない場合は出力しません。
processor_count
processor_count: 1
- 定義:オプション
- デフォルト:実行マシンのスレッド数
並列実行数を指定します。
設定しない場合は、実行マシンに応じたスレッド数で実行されます。
version_excel_name
version_excel_name: "master_version"
- 定義:オプション
- デフォルト:""
バージョン指定をして出力する際に使用する、表入力内のフィールド名を指定します。