【问题标题】:Why doesn't genstrings convert NSLocalizedStringFromTable entries to table.strings?为什么 genstrings 不将 NSLocalizedStringFromTable 条目转换为 table.strings?
【发布时间】:2010-06-15 09:20:55
【问题描述】:

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

【问题讨论】:

标签: iphone xcode genstrings


【解决方案1】:

胡安,

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

#define NSLocalizedStringFromTable(key, tbl, comment) \
        [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]

确保你没有做类似的事情:

#define ENSTRINGS @"en"
...
NSString *info = NSLocalizedStringFromTable( @"Info", ENSTRINGS, @"Title of this view" );

相反,您必须指定表名:

NSString *info = NSLocalizedStringFromTable( @"Info", @"en", @"Title of this view" );

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 2012-07-02
    • 2013-09-22
    • 2013-01-19
    相关资源
    最近更新 更多