Bashのマニュアルには次のものがあります。
3.1.2.5 ロケール別翻訳
ドル記号( '$')の前に二重引用符を付けた文字列を使用すると、その文字列は現在のロケールに従って翻訳されます。現在のロケールがCまたはPOSIXの場合、ドル記号は無視されます。文字列が翻訳されて置き換えられると、置換は二重引用符で囲まれます。
文字列リテラルを指定するこれらの方法はCまたはいくつかのCライブラリにありますか?
bashはこのようにCを模倣しますか?
答え1
$"..."
Bashのアクセス方法です。GNUテキストのインポート翻訳する。 Cコードでは通常、gettext("...")
またはです_("...")
。 Bashはシステムのデフォルトメッセージディレクトリを使用します。 Cアプリケーションは、使用したいディレクトリをロードすることもできます。
構文$"
は、既存のパラメータ拡張構文と同様のBash拡張です。特に私の考えでは$'
ANSI-Cの引用kshからのものです。可能今後POSIXに統合される予定です。 C言語はこの構文自体をサポートしておらず、同様の構文もありません。