Cataclysm-BNのC++側で、ゲーム機能や定数、コールバックなどをLuaから呼び出せるAPIとして登録するスキルです。
- Luaからマップ操作を呼び出したいとき
- Lua APIに定数を追加したいとき
- Luaからコールバックを登録したいとき
同じ英語文字列が文脈によって異なる意味になる場合に、gettextの文脈情報を追加し、対象言語のPO翻訳を修正するスキルです。
Add gettext context for ambiguous user-facing strings and repair affected PO translations.
実行スコア 未検証
インストール方法を見る同じ英語の文字列が複数の意味で使われ、言語ごとに訳し分けたい場合に、gettextの文脈情報を追加する作業を案内します。C++の実行時文字列にはpgettext、翻訳対象を示すだけの文字列にはtranslate_marker_contextを使い、JSONやスニペット配列にはctxtとstrを含む形式を適用します。必要に応じてJSON読み込み側の型をtranslationへ変更し、新しい文脈ごとに対象言語のPOファイルの翻訳も更新します。文字列の利用箇所を探す方法と、抽出・翻訳形式の検証手順も含まれます。
ボタン名やゲーム内用語など、同じ表記でも画面や用途によって訳語を変える必要があるときに向いています。ソース側の文脈追加からPO翻訳の修正、検証まで一連の変更を行う場合に使えます。
git、rg、gettextツール、Pythonが必要です。対象ロケールに変更を加えた場合、msgfmtとprintf形式の検査が通る必要があります。JSON変更時はJSON lintも案内されています。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this when one English msgid has multiple meanings and a locale needs different translations.
msgfmt or printf checks fail for the touched locale.msgfmt/printf failures as pre-existing when this task touches that locale.rg -n 'msgid "<word>"|msgctxt .*\nmsgid "<word>"' lang/po/<lang>.porg -n '"<word>"|translate_marker\( "<word>" \)|_\( "<word>" \)' data srcpgettext( "short specific context", "text" ).translate_marker_context( "short specific context", "text" ).{ "ctxt": "short specific context", "str": "text" } or matching plural fields.{ "text": { "ctxt": "short specific context", "str": "text" } }.std::string, convert it to translation so contextual JSON can load.time format, map extra, music genre, damage type.lang/po/<lang>.po for each new msgctxt; do not rely on the old shared msgstr.rg -C2 -i '<term>' lang/po/ko.po | rg -v '^(#:|--)' | head -n 20python3 lang/extract_json_strings.py -i data/json -o /tmp/catabn-i18n-context.pot --tracked-onlymsgfmt -f -c -o /tmp/ko.mo lang/po/ko.po./tools/check_po_printf_format.py./build-scripts/lint-json.sh.pgettext and translate_marker_context.ctxt and updated PO entries.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Cataclysm-BNのC++側で、ゲーム機能や定数、コールバックなどをLuaから呼び出せるAPIとして登録するスキルです。
複雑なC++クラスをLuaから利用できるように、メソッドや継承、プロパティ、演算子、オブジェクトの所有権を含むバインディングの追加を支援します。
C++の`string_id`や列挙型、読み取り専用の基本型をLuaへ公開するためのバインディング追加手順を示し、登録と動作確認を支援します。
Gitの指定範囲に含まれる変更を調べ、英語・韓国語・日本語のゲーム更新履歴を作成・同期します。プレイヤー向けの項目整理や画像・動画の掲載にも対応します。
Cataclysm-BN向けのDeno/TypeScriptスクリプトを、プロジェクトの規約に沿って作成・修正します。CLIや移行処理、コード生成、Gitフックなどの実装を支援します。
Cataclysm-BNのLuaバインディング実装で使うLunaマクロ、型登録、ライブラリ、ビルド手順やよくあるエラーを調べるリファレンスです。