MFGドキュメント
Home
Getting Started
Reference
  • ja-JP
  • en-US
Home
Getting Started
Reference
  • ja-JP
  • en-US
  • 国際化とリソース

国際化とリソース

  • 前: ユーザー定義関数と組み込み関数
  • トップへ

ここでは国際化のための文字列リソースとサムネイルやテクスチャをプロジェクトに含める方法を解説します。

文字列リソースと国際化

プロジェクト(またはmar)にstrings.jsonというファイルがあったら、それを文字列リソースとして扱います。

MFGStudioのファイルエクスプローラーのTのボタンでデフォルトのリソースを作る事が出来、 これをウイジェットのラベルなどの国際化に使用する事ができます。

おおまかな例

まず全体像を簡単に説明します。

以下のようなstrings.jsonがプロジェクト内にあったとします。

{
  "ja": {
    "LABEL_TITLE": "ハーフトーンディザ",
    "LABEL_THRESHOLD": "閾値"
  },
  "en": {
    "LABEL_TITLE": "Halftone Dither", "LABEL_THRESHOLD": "Threshold"
  }
}

mfgファイルで、以下のようになっている時に、

@title "ハーフトーンディザ"

@param_f32 threshold(SLIDER, label="閾値", init=1.0, min=0.0, max=1.0)

この"ハーフトーンディア"や"閾値"を、リソースにするには以下のようにします。

@title $LABEL_TITLE

@param_f32 threshold(SLIDER, label=$LABEL_THRESHOLD, init=1.0, min=0.0, max=1.0)

$で始めて、ダブルクオーテーションは無しです。

こうしておくと、FireAlpaca3やMFGStudioで、言語設定を日本語から英語に変えたりすると、それぞれ適切な文字列が表示されるようになります。

なお、MFGで文字列を表示するのはアトリビュートと入力ウィジェットのみなので、国際化の対象もここだけとなります。

アトリビュートと入力ウィジェットに関してはアトリビュートと入力ウィジェットを参照してください。

strings.jsonの書式

strings.jsonファイルは以下のようになっています。

{
  "ja": {
    "LABEL_TITLE": "ハーフトーンディザ",
    "LABEL_THRESHOLD": "閾値"
  },
  "en": {
    "LABEL_TITLE": "Halftone Dither", "LABEL_THRESHOLD": "Threshold"
  }
}

言語ごとにidとそのidに対応した文字列を指定します。

対応している言語

対応している言語は以下の通りです。

キー説明
zh_HansChinese simplified
zh_HantChinese traditional
en英語
frフランス語
deドイツ語
ja日本語
ko韓国語
ptポルトガル語
ruロシア語
esスペイン語
hiヒンズー語
bnベンガル語
plポーランド語

指定されている言語が無い場合はenが使われます。

文字列リソースの使い方

文字列リソースは、通常のダブルクオートで囲んである文字列全体を、$と文字列IDで置き換える事で使用出来ます。

タイトルの場合、以下のようになっていたら、

@title "ハーフトーンディザ"

これを、以下のように置き換える事で使用出来ます。

@title $LABEL_TITLE

ドロップダウンなどのウィジェットの場合は以下のようになります。

@param_i32 pattern(DROPDOWN, label=$LABEL_SHAPE, items=[$LABEL_SHAPE_SQUARE, $LABEL_SHAPE_SIN, $LABEL_NEWSPAPER, $LABEL_INTERLEAVE])

実際の例

GitHubのMFGのprojectsには、国際化した多くのフィルタの例が置いてあるので実際にどう使うのかの参考にしてみてください。

MFG/projects

画像テクスチャ

プロジェクトの中にpngファイルを含めると、それをテクスチャとしてmfgから使用する事が出来ます。

たとえばプロジェクト内に「4rect_texture16.png」という画像ファイルを置き、以下のように定義すると、ltsというテンソルとして使う事が出来ます。

  def lts by load("4rect_texture16.png")

loadにはファイル名を渡します。

pngは現時点ではいつもu8v4のBGRAを要素として持つテンソルとしてロードされます。

サムネイル

thumbnail.pngというファイルがmar内にあると、FireALpaca SE 3.0などはそれをフィルタのサムネイルとして使用します。

thumbnail.pngは512x512のサイズのpng画像を置きます。

MFGStudioのファイルエクスプローラーの上のボタンには、 現在のプレビューを512x512にリサイズしてthumbnail.pngとしてプロジェクトに含める機能があるので、 これを用いてフィルタの特徴が一目でわかるようなサムネイルを含めてください。

最終更新: 2026/05/22 2:55
Contributors: Kazuma Arino