在iPhone上存储本地化的字符串数据

时间:2011-05-26 08:58:02

标签: iphone objective-c database-design localization

我们假设我想存储(以及稍后通过互联网更新)一个简单的单词数据库及其定义: - 标签 - 定义

根据你的说法,用不同语言存储它们的最佳方法是什么?

有法语和英语的标签和定义,稍后我们可以添加其他语言。

编辑:目前我只能想到第三个属性:语言

  • 标签
  • 定义
  • 语言

我会定义评估员根据当前设置返回语言,或默认为英语。

Coredata不支持数据本地化?它支持属性名称的本地化

2 个答案:

答案 0 :(得分:1)

假设您有大量单词,可以将它们保存为数组

如下所述: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html#//apple_ref/doc/uid/20000172-CIAEAHFJ

示例:

NSString *errString;
NSData *serialized =[NSPropertyListSerialization dataFromPropertyList:imgsData
                                               format:NSPropertyListBinaryFormat_v1_0
                                     errorDescription:&errString];

    [serialized writeToFile:dataFilePath atomically:YES];

    if (errString)
    {
        NSLog(@"%@" errString);
        [errString release]; // exception to the rules
    }

要重新阅读,请使用

NSString *errString;
NSData *serialized = [NSData dataWithContentsOfFile:data
FilePath];



imgsData =
    [NSPropertyListSerialization propertyListFromData:serialized
                                     mutabilityOption:NSPropertyListMutableContainers
                                               format:NULL
                                     errorDescription:&errString];

if (errString)
{
    NSLog(@"%@" errString);
    [errString release]; // exception to the rules
}

答案 1 :(得分:0)

您必须本地化文本字符串并支持您要使用的语言的翻译。有很多关于如何实现这一目标的教程。它更像是将枚举映射到文本。并且将根据您要求的语言返回文本。 Here是您需求的良好起点。 按照那里的步骤,一旦掌握了字符串的本地化,就可以根据需要修改它们。