2011-06-18 123 views
1

我正在开发支持多种语言的iPhone应用程序。有相当多的数据,特别是图像。在应用程序首次启动时,我为每个数据元素创建一个NSManagedObject。比方说,我有一个NSManagedObject存储特定图像(即图像路径名)和该图像的特定关键字。关键是在同一时间的图像名称(例如:我有一个在巴黎埃菲尔铁塔的图像,所以关键将是“艾菲尔铁塔”)。iPhone - 多语言搜索

除此之外,我想执行搜索。如果您搜索“埃菲尔铁塔”,则应显示巴黎埃菲尔铁塔的图像。到目前为止,一切都很完美。

像你可能已经注意到的那样,图像键是英文的。如果我直接在图像键上进行搜索,则只会支持英语。我知道我无法在图像键上进行搜索。 我对NSLocalizedString很熟悉,但是在那里你有一个键,并且用这个键你可以用正确的语言获得表达式。所以我想到了一种“反向NSLocalizedString”函数,在那里你有最后的表达,比如法语(Tour Eiffel),并且在这个表达式的基础上,你可以得到原始图像的关键,这样你就可以显示正确的图像。是否存在这样的功能,还是我需要自己编码?如果你能说出什么是正确的策略以及如何在自己的应用程序中执行操作,我会非常高兴。

回答

1

在我构建的应用程序中,我有一个带有可搜索字段和对象ID的搜索实体。然后,我将每种语言的所有文本都添加为该实体的实例。然后我可以在那个“桌子”上搜索。这样我也可以添加同义词或其他关键字。

认为它是一种搜索索引。