首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么table.strings不能将NSLocalizedStringFromTable条目转换为genstring?

为什么table.strings不能将NSLocalizedStringFromTable条目转换为genstring?
EN

Stack Overflow用户
提问于 2010-06-15 17:20:56
回答 1查看 3.3K关注 0票数 1

在我的源代码中,我有一些类似NSLocalizedStringFromTable(@"Info", @"en", @"Title of this view")的代码行。当我随后调用genstrings -o en.lproj ./Classes/*.m时,我得到的不是预期的文件en.strings,而是Localized.strings,尽管我在genstrings manpage中读到它将从NSLocalizedStringFromTable(a,table,c)函数生成一个table.strings文件。我说错了吗?那么我该如何创建table.strings文件呢?

EN

回答 1

Stack Overflow用户

发布于 2010-12-09 08:15:36

胡安

确保没有使用#define或常量作为表名。请记住,genstring并不查看编译后的代码,它只解析源文件。而且,所有的NSLocalizedStrings方法实际上都是在NSBundle.h中定义的宏:

代码语言:javascript
复制
#define NSLocalizedStringFromTable(key, tbl, comment) \
        [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]

确保你不是在做这样的事情:

代码语言:javascript
复制
#define ENSTRINGS @"en"
...
NSString *info = NSLocalizedStringFromTable( @"Info", ENSTRINGS, @"Title of this view" );

相反,您必须指定表名:

代码语言:javascript
复制
NSString *info = NSLocalizedStringFromTable( @"Info", @"en", @"Title of this view" );
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3043935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档