CFBundleDisplayName

アプリケーションによってはタイトルバーにアプリケーション名が入ったりするわけですが、一番簡単なのはnibファイルに書いておく方法。ただ、多言語化を考えるとちょっと頂けない。まぁ、nibも多言語化できるので、問題がないことはないんですが、InterfaceBuilderのようなビジュアルツールでnibを変更するのはちょっと手間。それに、FinderやDockから参照されるアプリケーション名の設定はまた別のところにあるので、名称を変更したときなどに混乱する可能性もあります。ということで、プログラマならプログラマらしく、プログラムにやらせましょう。
まずは下準備。FinderやDockが参照するのは、CFBundleDisplayNameという値です。これはxcodeのデフォルトでは定義されておらず、info.plistと各言語のinfoPlist.stringsで定義しておく必要があります。
info.plist の適当な場所に

CFBundleDisplayName
Sample

を挟みます。こうすることにより、システムはCFBundleDisplayNameというキーの存在を認識します。でもこれだけでは中身がないので、各言語のinfoPlist.strings に

CFBundleDisplayName = "サンプル";

と書いておきます。そうすれば言語に応じて適切なものが選ばれます。
そして各自のアプリケーションからの参照はこんな感じで。

WindowRew windowRef;
CFStringRef strRef;
strRef = static_cast(CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), CFSTR("CFBundleDisplayName")));
SetWindowTitleWithCFString(windowRef, strRef);
CFRelease(strRef);

言語化ファイルの参照となると、思わず CFCopyLocalizedString を使いたくなりますが、それとは別物です。ローカライズ用文字列ファイルのデフォルトは Localizable.strings です(CFBundleCopyLocalizedString で別のファイルも使えますけどね)。また、キーの定義はダブルクオーテーションで囲まれていますが(ex. "Key")、CFBundleDisplayName は違います。間違えないようにしましょう(自分が間違えたので…)。
なお、最後の CFRelease は不要かもしれません。参照しているだけのような気もするので。簡単にメモリリークとか調べる方法はないもんかなぁ。