forked from bartvdbraak/blender
store message catalogs in Resources folder of the application bundle on OS
X. Opening a file selector is no longer needed in order to switch the language for the first time; apparently gettext wasn't too happy about relative paths.
This commit is contained in:
parent
2292658124
commit
99bd02a98b
@ -39,6 +39,11 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include "libintl.h"
|
#include "libintl.h"
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#include <libgen.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "../FTF_Settings.h"
|
#include "../FTF_Settings.h"
|
||||||
|
|
||||||
#include "FTF_TTFont.h"
|
#include "FTF_TTFont.h"
|
||||||
@ -52,6 +57,7 @@
|
|||||||
|
|
||||||
#define FTF_MAX_STR_SIZE 256
|
#define FTF_MAX_STR_SIZE 256
|
||||||
|
|
||||||
|
extern char bprogname[];
|
||||||
|
|
||||||
int utf8towchar(wchar_t *w, char *c)
|
int utf8towchar(wchar_t *w, char *c)
|
||||||
{
|
{
|
||||||
@ -136,6 +142,11 @@ int FTF_TTFont::SetFont(char* str, int size)
|
|||||||
|
|
||||||
void FTF_TTFont::SetLanguage(char* str)
|
void FTF_TTFont::SetLanguage(char* str)
|
||||||
{
|
{
|
||||||
|
#ifdef __APPLE__
|
||||||
|
char tmp[1024];
|
||||||
|
char msgpath[1024];
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined (_WIN32) || defined(__APPLE__)
|
#if defined (_WIN32) || defined(__APPLE__)
|
||||||
char envstr[12];
|
char envstr[12];
|
||||||
|
|
||||||
@ -158,9 +169,17 @@ void FTF_TTFont::SetLanguage(char* str)
|
|||||||
setlocale(LC_NUMERIC, "C");
|
setlocale(LC_NUMERIC, "C");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
/* message catalogs are stored inside the application bundle */
|
||||||
|
strcpy(tmp, dirname(bprogname));
|
||||||
|
strcat(tmp, "/../Resources/message");
|
||||||
|
realpath(tmp, msgpath);
|
||||||
|
bindtextdomain(DOMAIN_NAME, msgpath);
|
||||||
|
textdomain(DOMAIN_NAME);
|
||||||
|
#else
|
||||||
bindtextdomain(DOMAIN_NAME, MESSAGE_FILE);
|
bindtextdomain(DOMAIN_NAME, MESSAGE_FILE);
|
||||||
textdomain(DOMAIN_NAME);
|
textdomain(DOMAIN_NAME);
|
||||||
|
#endif
|
||||||
strcpy(language, str);
|
strcpy(language, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# $Id: Makefile,v 1.4 2003/02/02 17:28:15 sgefant Exp $
|
# $Id: Makefile,v 1.5 2003/02/09 18:32:55 sgefant Exp $
|
||||||
#
|
#
|
||||||
# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
|
# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
|
||||||
#
|
#
|
||||||
@ -44,6 +44,10 @@ all::
|
|||||||
@cp $(DIR)/bin/$(APPLICATION) $(DIR)/bin/$(APPLICATION).app/Contents/MacOS/
|
@cp $(DIR)/bin/$(APPLICATION) $(DIR)/bin/$(APPLICATION).app/Contents/MacOS/
|
||||||
@echo "---> adding excutable attributes"
|
@echo "---> adding excutable attributes"
|
||||||
@chmod +x $(DIR)/bin/$(APPLICATION).app/Contents/MacOS/$(APPLICATION)
|
@chmod +x $(DIR)/bin/$(APPLICATION).app/Contents/MacOS/$(APPLICATION)
|
||||||
|
ifeq ($(APPLICATION), blender)
|
||||||
|
@echo "---> copying message files"
|
||||||
|
@cp -R ../../bin/message $(DIR)/bin/$(APPLICATION).app/Contents/Resources
|
||||||
|
endif
|
||||||
@echo "---> removing CVS directories and Mac hidden files from distribution"
|
@echo "---> removing CVS directories and Mac hidden files from distribution"
|
||||||
@find $(DIR)/bin/$(APPLICATION).app -name CVS -prune -exec rm -rf {} \;
|
@find $(DIR)/bin/$(APPLICATION).app -name CVS -prune -exec rm -rf {} \;
|
||||||
@find $(DIR)/bin/$(APPLICATION).app -name .DS_Store -exec rm -f {} \;
|
@find $(DIR)/bin/$(APPLICATION).app -name .DS_Store -exec rm -f {} \;
|
||||||
|
Loading…
Reference in New Issue
Block a user