はい、Boost.Localeでエンコードされたアプリケーションのすべての文字列をUnicodeにすることができます。
To make it work you imbue the locale into the string, or set the default global locale to your new unicode-based locale (generated by Boost.Locale).
See here for how to do that: http://www.boost.org/libs/locale/doc/html/locale_gen.html
and http://www.boost.org/libs/locale/doc/html/faq.html
The string manipulation APIs in Boost.Locale are different to the ones provided in the Boost string algorithm library.
See here for why the Boost.Locale functions are better: http://www.boost.org/libs/locale/doc/html/conversions.html
グローバルロケールを正しく設定していれば、引き続きboost :: lexical_castを使うことができます(正しく思い出すと、明示的にロケールオブジェクトをBoost.LexicalCastに渡すことはできません)。
しかし、Cのロケールを使用するのではなく、整数を文字列に変換する場合(これは恐らく以前のデフォルトだったように)には、これを '中断する'ことに注意してください。別のものを使用します。ユーザに表示されない変換を行うときは、std :: stringstreamなどを直接使用して、これらの望ましくない書式変更を避けることができます。
Boost.Localeのドキュメントを完全に読むことを強くお勧めします。あなたの懸念(特にFAQ、世代バックエンド情報など)の問題に対処する必要があります。