I did some experimenting and some research on this and found some answers.
Mostly I found answers here:
http://www.macdevcenter.com/pub/a/mac/2001/05/25/mac_help.html
In short:
- I was correct in my belief that the name of the help folder is never
displayed to the user. What's displayed to the user in Apple Help Viewer's
Library menu is the value of this entry in the InfoPList.strings file:
CFBundleHelpBookName = "Aide MyProduct";
or the corresponding value in the Info.plist file if no localized value is
defined.
- There's no need to rename the folder or to have a CFBundleHelpBookFolder
entry in InfoPList.strings file.
- The CFBundleHelpBookName value must match the content string of the
AppleTitle meta string in the help's main index page:
<meta name="AppleTitle" content="Aide MyProduct" />
- If you make changes to any of this, trashing the following seems to be
necessary to get Help Viewer to pick up on the change:
~/Library/Caches/com.apple.helpui
- If I change the AppleTitle string, I run the Apple Help Indexing Tool on
my help folder to update the index, just in case.
Depending on the changes you make, you may need to trash one or more of
these, but testing all this is time consuming* and I didn't feel like doing
more test cycles:
~/Library/Preferences/com.apple.helpviewer.plist
~/Library/Preferences/com.apple.helpui.plist
~/Library/Preferences/com.apple.help.plist
*I don't understand why, but Apple Help Viewer will not display help for me
when it's running in French, which is the language I used to test all this.
I checked and it has a French.lproj folder, but no joy nonetheless. So
here's what I had to do to test this:
1. Launch my application while French is the preferred language in the IPP
(International preferences pane).
2. Set my preferred language to English in the IPP.
3. Switch back to my application and open the help.
This sequence of events was consistently successful in getting my English
help to appear when running in English and the French help to appear when
running in French, as well as getting the French help to appear if I made
changes to the title by changing CFBundleHelpBookName and AppleTitle.
Larry
On 3/1/05 1:49 PM, Felix Schwarz didst favor us with:
> Hi,
>
> previously, I did not have this localized and a folder "MyProduct Help"
> in each .lproj-folder:
>
> MyProduct.app/Resources/German.lproj/MyProduct Help/
> MyProduct.app/Resources/English.lproj/MyProduct Help/
>
> now I have the localized InfoPlist.strings and
>
> MyProduct.app/Resources/German.lproj/MyProduct Hilfe/
> MyProduct.app/Resources/English.lproj/MyProduct Help/
>
> I guess it could also be
>
> MyProduct.app/Resources/German.lproj/MyProduct German/
> MyProduct.app/Resources/English.lproj/MyProduct English/
>
> as long as it's different.
>
> I don't think, that the help book *name* contributes to the solution. I
> just put it there for completeness. It is shown, though: have a look at
> the menu of the help book viewer, where you can choose all the
> helpbooks on the system.
>
> Best regards,
> Felix
>
> Am 01.03.2005 um 18:41 schrieb Laurence Harris:
>
>> On 3/1/05 12:30 PM, Felix Schwarz didst favor us with:
>>
>>> Hi,
>>>
>>> I stumbled over the same problem today and found the solution (works
>>> reproducably on two Macs ;). It seems a bug (or a subtle feature?!) in
>>> help viewer. It's not the folder name of the localized resources that
>>> matters, it's the name of the help folder itself.
>>>
>>> At first I only got a blank page, then tried exchanging "German" with
>>> "de" etc., but didn't get it to work. What helps, though:
>>>
>>> Localized versions of InfoPlist.strings:
>>>
>>> German:
>>> CFBundleHelpBookFolder = "MyProduct Hilfe";
>>> CFBundleHelpBookName = "MyProduct Hilfe";
>>>
>>> English:
>>> CFBundleHelpBookFolder = "MyProduct Help";
>>> CFBundleHelpBookName = "MyProduct Help";
>>>
>>> and then name the helpbook folders accordingly. Thought I'd share this
>>> with you ;-)
>>
>> I'm curious. Since the user never sees either the help folder in the
>> Finder
>> or its name in Help Viewer, we have never given them localized names.
>> However, I did see this problem once with one of our localizations.
>> Are you
>> saying that your help folder names didn't match your
>> CFBundleHelpBookxxx
>> values or that you changed both folder names and CFBundleHelpBookxxx
>> values
>> and that got it to work?
>>
>> Larry
>>>
>>> Best regards,
>>> Felix
>>>
>>>> Hi,
>>>>
>>>> I ran into a weird problem. I have a localized app with Help books in
>>>> various languages, each in a folder called "help" in their own .lproj
>>>> folder. In all cases the structure of the help and the help folder
>>>> name is the same. In the InfoPlist.strings files the right name for
>>>> the localize help is defined. Everything works fine for all helps
>>>> except for the Italian one. It stopped working and I cannot get it to
>>>> open up with anything but a blank page (blank content and no title),
>>>> irrespective of whether I choose Help in my apps Help menu, or use
>>>> AHGotoPage to jump to a specific help file. I do call
>>>> AHRegisterHelpBook to make sure the help book for the current
>>>> language
>>>> gets registered. The Italian help book won't appear in the help
>>>> library. Both AHRegisterHelpBook and AHGotoPage return noErr. What on
>>>> earth may be going wrong here? I tested on 10.3.5 and 10.3.8. Is this
>>>> a known Mac OS X bug? Any "help" appreciated :-)
>>>>
>>>> Cheers,
>>>>
>>>> david.
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Carbon-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/carbon-dev/email@hidden
This email sent to email@hidden