リソースの配置
Section titled “リソースの配置”src/main/resources/defaults/lang/en.ymlsrc/main/resources/defaults/lang/ja.ymlsrc/main/resources/defaults/lang/ja_JP.ymlfromResource(...) にリソースのディレクトリを指定します。pull(file) は読み込み時に言語を解決して出力ファイルを選びます。既存の出力ファイルは残すため、言語選択によって既存の設定を翻訳するわけではありません。
単一ファイル
Section titled “単一ファイル”import net.ririfa.yacla.Yaclaimport net.ririfa.yacla.yaml.YamlParserimport java.nio.file.Paths
val loader = Yacla.loader<AppConfig>() .fromResource("/defaults/lang/") .parser(YamlParser()) .language("ja_JP") .defaultLanguage("en") .pull(Paths.get("config.yml")) .load().language(...) を省略すると JVM のロケールを使います。フォールバックの初期値は en です。ja_JP では ja_JP、ja、フォールバック言語の候補の順に探します。ja-JP と ja_JP は両方指定でき、ハイフンはアンダースコアに正規化します。
YAML は各候補について yml、yaml の順に探し、JSON は json を探します。選択言語・フォールバックのリソースがなければ、試したパスを含む例外になります。
pull("ja", file) は言語指定と出力設定をまとめて行います。systemLanguage() で JVM の言語に戻せます。
複数ファイル
Section titled “複数ファイル”import net.ririfa.yacla.LanguageOutputMode
val loader = Yacla.loader<AppConfig>() .fromResource("/defaults/lang/") .parser(YamlParser()) .language("ja") .defaultLanguage("en") .languageOutputMode(LanguageOutputMode.MULTIPLE_FILES) .outputLanguages("en", "ja") .pull(Paths.get("config.yml")) .load()存在しない config_en.yml と config_ja.yml を出力し、日本語のファイルを読み込みます。出力対象には指定した言語、選択言語、フォールバック言語を含めます。リソースがない言語はフォールバックを使い、解決結果が同じ出力は重複させません。ファイル名の言語部分は実際に解決したリソースの言語です。
自動更新と手動更新は、読み込む対象として選んだファイルに適用します。他の出力ファイルは初回に存在しなければコピーしますが、1 つのローダーですべてを更新するわけではありません。