如何本地化 Apple 帮助手册

How to localise an Apple help book

我为我的 cocoa 应用程序制作了一本帮助手册,并将其注册到我的 Info.plist 文件中。

这本书打开了,但是我无法打开汉化版。

这些是我目录的内容:

Contents/
    Info.plist
    PkfInfo
    Resources/
        en.lproj/
            index.html
            InfoPlist.strings
            locale-info.json
        index.html
        shrd/
    version.plist

当我打开帮助手册时,会加载 Resources 文件夹中的索引,而不是 en.lproj 中的索引。当我删除 "global" 索引时,出现 "The selected topic is currently unavailable." 错误。

如何正确本地化帮助手册?

更新: 我发现一种方法是将 .help 包复制到我的应用程序的语言文件夹中,但我有 8 个不同的 .help 包。这是正确的方法吗?我必须复制所有共享图像,并试图维护帮助手册会很糟糕。

根据 Mac Developer Libary

For each language you support, you must provide a complete, localized help book in its own resource subdirectory within the Resources directory in the help bundle (see Organizing the Help Book Bundle).

Each localized version of the help book must have a localized book name in the InfoPlist.strings file in the help bundle.

关于分享的图片,您可以将它们放在Resources/shrd目录中,然后这样引用:

The filepath reference in HTML tags to artwork in the shrd/ folder should look like this:

On the .html page:

../shrd/artworkname.jpg

On a content page in the pgs/ or other folders:

../../shrd/artworkname.jpg

你解决了吗?

有一个可用的应用程序可以让您以多种语言创作内容,如果您不想弄乱它,然后为您生成包:http://www.putercraft.com

但是,要回答这个问题,您不需要复制您的帮助包。也许您的帮助包 Info.plist 缺少密钥?例如,您是否设置了 CFBundleDevelopmentRegion?我发现某些版本的 Help Viewer 对 plist 很挑剔 - 您应该在另一个应用程序中查看有效的帮助包,并确保您设置了所有相同的键。

我的(工作)帮助包具有以下一般结构:

Contents
    Resources
    Info.plist
    images
    en.lproj
        help.helpindex (for english)
        <html content>
        InfoPlist.strings (english title)
    fr.lproj
        help.helpindex (for french)
        <html content>
        InfoPlist.strings (french title)