我有一个Cocoa应用程序。 这挂接到OSX服务菜单。 我已经创建了三个ServicesMenu.strings
为en.lproj
, zh-Hans.lproj
和hi-IN.lproj
本地化服务菜单标题。 问题是OSX似乎要使用本地化的文本都没有。
的Info.plist(相关部分)
<key>NSServices</key>
<array>
<dict>
<key>NSKeyEquivalent</key>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>CreateHere</string>
</dict>
<key>NSMessage</key>
<string>createHere</string>
<key>NSPortName</key>
<string>CreateHereFilesService</string>
<key>NSRequiredContext</key>
<dict>
<key>NSApplicationIdentifier</key>
<string>com.apple.finder</string>
</dict>
<key>NSSendFileTypes</key>
<array>
<string>public.folder</string>
</array>
<key>NSUserData</key>
<string>create</string>
</dict>
</array>
ServicesMenu.strings(en.lproj)
/*
ServicesMenu.strings
*/
/* default */
"CreateHere" = "Create File Here";
在服务菜单,我可以看到选项CreateHere
,而不是Create File Here
。
更新
如果这会有所帮助。 下面是输出/System/Library/CoreServices/pbs -dump_pboard
{
CFPrincipalLocalizations = (
English
);
CFVendedServices = (
{
NSBundleIdentifier = "com.applegrew.apple.service.CreateHereFiles";
NSBundlePath = "/Users/applegrew/Library/Services/CreateHereFiles.app";
NSMenuItem = {
default = CreateHere;
};
NSMessage = createHere;
NSPortName = CreateHereFilesService;
NSRequiredContext = {
NSApplicationIdentifier = "com.apple.finder";
};
NSSendFileTypes = (
"public.folder"
);
NSUUID = <199fd7c0 cdd146fb 9a564a93 231b23f9>;
NSUserData = create;
}
);
CFVersion = 2;
}
不像其它服务(上面没有显示) NSMenuItem
确实没有任何进入English
。 这是否有什么关系,我没有任何English.lproj
,而是我已经en.lproj
?