Hmm, Well I clearly don’t have a clue as to what I’m doing
I added these lines to xboard.c main() (mimicking what HGM did for SVGDIR) I
know they would have to be put in ifdef ENABLE_NLS but I just want it working.
#ifdef __APPLE__
{ // prepare to catch OX OpenFile signal, which will tell us the clicked
file
char *path = gtkosx_application_get_bundle_path();
theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
strncpy(dataDir, path, MSG_SIZ);
snprintf(masterSettings, MSG_SIZ,
"%s/Contents/Resources/etc/xboard.conf", path);
snprintf(svgDir, MSG_SIZ,
"%s/Contents/Resources/share/xboard/themes/default", path);
+ char localeDir[MSG_SIZ] = LOCALEDIR;
+ snprintf(localeDir, MSG_SIZ, "%s/Contents/Resources/share/locale", path);
suppress = (argc == 1 || argc > 1 && argv[1][00] != '-'); // OSX sends
signal even if name was already argv[1]!
g_signal_connect(theApp, "NSApplicationOpenFile",
G_CALLBACK(StartNewXBoard), NULL);
// we must call application ready before we can get the signal,
// and supply a (dummy) menu bar before that, to avoid problems with
dual apples in it
gtkosx_application_set_menu_bar(theApp,
GTK_MENU_SHELL(gtk_menu_bar_new()));
gtkosx_application_ready(theApp);
if(argc == 1) { // called without args: OSX open-file
signal might follow
static char *fakeArgv[3] = {NULL, clickedFile, NULL};
usleep(10000); // wait 10 msec (and hope this is long
enough).
while(gtk_events_pending())
gtk_main_iteration(); // process all events that came in
upto now
suppress = 0; // future open-file signals should
start new instance
if(clickedFile[0]) { // we were sent an open-file signal
with filename!
fakeArgv[0] = argv[0];
argc = 2; argv = fakeArgv; // fake that we were called as "xboard
filename"
}
}
}
#endif
knowing that below there is
bindtextdomain(PACKAGE, LOCALEDIR);
and to xboard.h
+ extern char localeDir[];
It compiles but it doesn’t find the locale folder like I hoped…
Any ideas, or is what I’m doing complete gibberish?
-Josh
On 04.10.2014, at 11:14 nachm., Joshua Pettus <[email protected]> wrote:
> I see, it’s a form of Cantonese. I could attempt to make a folder for that.
> Can’t tell you how useable that would be. :)
> Google Translate doesn’t have it. I found this site though:
>
> http://www.cantonese.sheik.co.uk/scripts/wordsearch.php?level=0
>
>
>
> On Oct 4, 2014, at 9:39 PM, Tim Mann <[email protected]> wrote:
>
>> For what it's worth, a little googling tells me that zh_HK is Hong Kong
>> Chinese.
>>
>> On Sat, Oct 4, 2014 at 12:27 PM, Joshua Pettus <[email protected]> wrote:
>>> Even if we cant get the code in for 4.8, I kinda would still like to have
>>> localization in the app bundle for the release, if that’s ok.
>>>
>>> Josh
>>>
>>> On Oct 3, 2014, at 1:55 AM, Joshua Pettus <[email protected]> wrote:
>>>
>>>> Hi Harm,
>>>>
>>>> I wanted to let you know that I can have gettext working in the mac app.
>>>> Turns out, all we needed was to compile xboard with NLS and we were good.
>>>> Xboard of course checks the LOCALEDIR which is originally set to
>>>> /usr/local/share/locale in the makefile. I was hoping we could hardcode
>>>> it for the Xboard.app to be DataDir/Contents/Resources/share/locale in a
>>>> way similar to what we did with SVGDIR.
>>>>
>>>> There was an extra hurdle regarding the gtkmacintegration library with the
>>>> Application (Xboard) menu, which requires to be localized separately by
>>>> OSX. Namely a bunch of language.lproj folders with
>>>> Gtkosxapplication.strings files in the app’s resource folder with each
>>>> string for the menu items. On the gtk-osx-users-list email list we
>>>> managed to squash a library bug stoping this from working for us properly.
>>>> I also updated those .string files that came with the library
>>>> accordingly, so we now have a matching language folder for every language
>>>> we have with gettext. Except for zh_HK, which I have no idea what that is.
>>>>
>>>> There is one more problem though. “About Xboard” was moved from the help
>>>> menu to the Xboard menu. John Ralls said that moved menu items need to be
>>>> handled by gettext, but for some reason this is never translated by
>>>> gettext. Anything we can do to restore this?
>>>>
>>>> Thanks!
>>>> Josh Pettus
>>>
>>>
>