米国とヨーロッパでは、アプリケーションフォルダの名前Applications
はですが、中国語または日本語のローカリゼーションでは、どのように名前が付けられていますか?
プログラムでフォルダの名前を取得する方法はありますか?
米国とヨーロッパでは、アプリケーションフォルダの名前Applications
はですが、中国語または日本語のローカリゼーションでは、どのように名前が付けられていますか?
プログラムでフォルダの名前を取得する方法はありますか?
ファイルシステムのディレクトリ名は常に英語です。ディレクトリには、ユーザーに表示するためにローカライズされた名前を付けることができますが、それらはディレクトリへのアクセスに使用する名前ではありません。国際化プログラミングトピックから:
アプリケーションでローカライズされたパス名を認識し、適切に表示する必要があります。ローカライズされたパス名は表示のみを目的としており、ファイルシステムにアクセスするときに使用しないでください。キャッシュやユーザー設定に書き込む必要がある場合など、コード内のファイルやディレクトリを操作するときは、引き続き実際のパス名を使用する必要があります。ローカライズされたパス名を使用する必要があるのは、アプリケーションのユーザーインターフェイスを介してそのパスをユーザーに表示する場合のみです。
そうは言っても、プログラムを使用してパスを取得しますNSSearchPathForDirectoriesInDomains
。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationDirectory, NSLocalDomainMask, YES);
// Returns an NSArray containing the string "/Applications"
また、使用することができます-[NSFileManager URLsForDirectory:inDomains:]
:
NSArray *urls = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationDirectory inDomains:NSLocalDomainMask];
// Returns an NSArray containing the NSURL "file://localhost/Applications"
ローカライズされた名前をユーザーに表示する必要がある場合は、InternationalizationProgrammingTopicsを参照してください。
[[[NSFileManager defaultManager] URLsForDirectory: NSApplicationDirectory inDomains:NSLocalDomainMask] lastObject];
うまくいくと思います(参考)。以前のバージョンのOSXを使用していて、URLsForDirectoryがサポートされていない場合NSSearchPathForDirectoriesInDomains()
は、別の方法です。
ユーザーへの表示に適したフォルダー(またはローカライズされた名前のアプリケーション)のローカライズされた名前を取得するには、次を使用します。
NSString *localizedName = [[NSFileManager defaultManager] displayNameAtPath:path];
アプリケーションフォルダには、次のものを使用できます。
NSString *localizedApplicationDirectoryName = [[NSFileManager defaultManager] displayNameAtPath:NSSearchPathForDirectoriesInDomains(NSApplicationDirectory, NSLocalDomainMask, YES).lastObject];
迅速:
let urls = FileManager().urls(for: .applicationDirectory, in: .localDomainMask)
▿1要素
▿0:file:/// Applications /
let urls = FileManager().urls(for: .allApplicationsDirectory, in: .localDomainMask)
▿4つの要素
▿0:file:/// Applications /
▿1:file:/// Applications / Utilities /
▿2:file:/// Developer / Applications /
▿3:file:/// Applications / Demos /