Re: localizable strings file with macro
Re: localizable strings file with macro
- Subject: Re: localizable strings file with macro
- From: Stephane Sudre <email@hidden>
- Date: Tue, 4 Mar 2008 11:21:36 +0100
On 4 mars 08, at 10:28, Julien Jalon wrote:
1) Might not be a good idea to use CFStringGetCStringPtr as it might
return
NULL2) kCFStringEncodingMacRoman is likely not a good choice as the
encoding, especially for localized strings
If I were you, I'd do something like (warning: Mail compiled code):
const char* MyGetLocalizedCString(CFStringRef string)
{
// if you need to be thread safe, add proper locks around that
static CFMutableDictionaryRef mapping = NULL;
if(mapping == NULL) {
mapping = CFDictionaryCreateMutable(NULL, 0,
&kCFTypeDictionaryKeyCallBacks, NULL);
}
const char* result = (const char *)CFDictionaryGetValue(mapping,
string);
if(result == NULL) {
CFStringRef localizedString =
CFCopyLocalizedStringFromTable(string,
CFSTR("LibraryLocalizable"), NULL);
result = (const char
*)malloc(CFStringGetMaximumSizeForEncoding(CFStringGetLength(localizedS
tring),
kCFStringEncodingUTF8);
CFStringGetCString(localizedString, (char *)result, bufferSize,
kCFStringEncodingUTF8);
CFDictionarySetValue(mapping, string, result);
I'm not sure CFDictionarySetValue would accept a char *.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden