// // GTMLocalizedString.h // // Copyright (c) 2010 Google Inc. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy // of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations under // the License. // #import #import "GTMDefines.h" // The NSLocalizedString macros do not have NS_FORMAT_ARGUMENT modifiers put // on them which means you get warnings on Snow Leopard with when // GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES and you do things like: // NSString *foo // = [NSString stringWithFormat:NSLocalizedString(@"blah %@", nil), @"bar"]; // The GTMLocalizedString functions fix that for you so you can do: // NSString *foo // = [NSString stringWithFormat:GTMLocalizedString(@"blah %@", nil), @"bar"]; // and you will compile cleanly. // If you use genstrings you can call it with // genstrings -s GTMLocalizedString ... // and it should work as expected. // You can override how GTM gets its localized strings (if you are using // something other than NSLocalizedString) by redefining // GTMLocalizedStringWithDefaultValueInternal. #ifndef GTMLocalizedStringWithDefaultValueInternal #define GTMLocalizedStringWithDefaultValueInternal \ NSLocalizedStringWithDefaultValue #endif GTM_INLINE NS_FORMAT_ARGUMENT(1) NSString *GTMLocalizedString( NSString *key, NSString *comment) { return GTMLocalizedStringWithDefaultValueInternal(key, nil, [NSBundle mainBundle], @"", comment); } GTM_INLINE NS_FORMAT_ARGUMENT(1) NSString *GTMLocalizedStringFromTable( NSString *key, NSString *tableName, NSString *comment) { return GTMLocalizedStringWithDefaultValueInternal(key, tableName, [NSBundle mainBundle], @"", comment); } GTM_INLINE NS_FORMAT_ARGUMENT(1) NSString *GTMLocalizedStringFromTableInBundle( NSString *key, NSString *tableName, NSBundle *bundle, NSString *comment) { return GTMLocalizedStringWithDefaultValueInternal(key, tableName, bundle, @"", comment); } GTM_INLINE NS_FORMAT_ARGUMENT(1) NSString *GTMLocalizedStringWithDefaultValue( NSString *key, NSString *tableName, NSBundle *bundle, NSString *value, NSString *comment) { return GTMLocalizedStringWithDefaultValueInternal(key, tableName, bundle, value, comment); }