iPhone - многоязычный поиск - PullRequest
1 голос
/ 18 июня 2011

Я разрабатываю приложение для iPhone, которое поддерживает несколько языков. Существует довольно много данных, в частности изображений. При первом запуске приложения я создаю NSManagedObject для каждого элемента данных. Допустим, у меня есть NSManagedObject, который хранит конкретное изображение (то есть имя пути к изображению) и специальный ключ для этого изображения. Ключом является одновременно имя изображения (Пример: у меня есть изображение Эйфелевой башни в Париже, поэтому ключ будет "Эйфелева башня").

В дополнение к этому я хочу реализовать поиск. Если вы ищете «Эйфелева башня», то должно быть показано изображение с Эйфелевой башней в Париже. До этого момента все работало идеально.

Как вы могли заметить, клавиши изображений на английском языке. Если я выполню поиск непосредственно по ключу изображения, будет поддерживаться только английский язык. Я знаю, что не могу выполнить поиск по ключу изображения. Я знаком с NSLocalizedString, но там у вас есть ключ, и с этим ключом вы можете получить выражение на правильном языке. Так что я подумал о «обратной NSLocalizedString» функции, где у вас есть окончательное выражение, скажем, по-французски (Tour Eiffel), и на основе этого выражения вы можете получить ключ исходного изображения, чтобы вы могли отобразить правильное изображение , Существует ли такая функция или мне нужно что-то писать самостоятельно? Я был бы очень рад, если бы вы могли рассказать, каковы правильные стратегии и как вы делаете это в своих собственных приложениях.

1 Ответ

1 голос
/ 18 июня 2011

В приложении, которое я создал, у меня была поисковая сущность с полем для поиска и objectID.Затем я добавил все тексты на каждом языке в качестве экземпляров этой сущности.Тогда я мог бы искать в этой «таблице».Таким образом, я также мог бы добавить к нему синонимы или другие ключевые слова.

Думайте об этом как о поисковом индексе.

...