BashはCのロケール固有の翻訳をエミュレートしますか?

BashはCのロケール固有の翻訳をエミュレートしますか?

Bashのマニュアルには次のものがあります。

3.1.2.5 ロケール別翻訳

ドル記号( '$')の前に二重引用符を付けた文字列を使用すると、その文字列は現在のロケールに従って翻訳されます。現在のロケールがCまたはPOSIXの場合、ドル記号は無視されます。文字列が翻訳されて置き換えられると、置換は二重引用符で囲まれます。

文字列リテラルを指定するこれらの方法はCまたはいくつかのCライブラリにありますか?

bashはこのようにCを模倣しますか?

ベストアンサー1

$"..."Bashのアクセス方法です。GNUテキストのインポート翻訳する。 Cコードでは通常、gettext("...")またはです_("...")。 Bashはシステムのデフォルトメッセージディレクトリを使用します。 Cアプリケーションは、使用したいディレクトリをロードすることもできます。

構文$"は、既存のパラメータ拡張構文と同様のBash拡張です。特に私の考えでは$'ANSI-Cの引用kshからのものです。可能今後POSIXに統合される予定です。 C言語はこの構文自体をサポートしておらず、同様の構文もありません。

おすすめ記事