Обнаружить язык NSString

кто-то рассказал мне о классе для распознавания языка в Какао. Кто-нибудь знает, кто он?

Это не работает:

NSSpellChecker *spellChecker = [NSSpellChecker sharedSpellChecker]; [spellChecker setAutomaticallyIdentifiesLanguages:YES]; NSString *spellCheckText = @"Guten Tag Herr Mustermann. Dies ist ein deutscher Text. Bitte löschen Sie diesen nicht."; [spellChecker checkSpellingOfString:spellCheckText startingAt:0]; NSLog(@"%@", [spellChecker language]); 

Результатом является «en», но должно быть «de».

Благодаря…

4 Solutions collect form web for “Обнаружить язык NSString”

Существует API в какао, доступный для проверки языка строки, и всегда лучше использовать Foundation over CoreFoundation, когда это возможно.

 NSArray *tagschemes = [NSArray arrayWithObjects:NSLinguisticTagSchemeLanguage, nil]; NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes:tagschemes options:0]; [tagger setString:@"Das ist ein bisschen deutscher Text. Bitte löschen Sie diesen nicht."]; NSString *language = [tagger tagAtIndex:0 scheme:NSLinguisticTagSchemeLanguage tokenRange:NULL sentenceRange:NULL]; 

Кроме того, если у вас смешанный язык текста, вы можете использовать enumerateLinguisticTagsInRange API, чтобы получить язык каждого слова в тексте.

Это результат:

 - (NSString *)languageForString:(NSString *) text{ if (text.length < 100) { return (NSString *) CFStringTokenizerCopyBestStringLanguage((CFStringRef)text, CFRangeMake(0, text.length)); } else { return (NSString *)CFStringTokenizerCopyBestStringLanguage((CFStringRef)text, CFRangeMake(0, 100)); } } 

-requestCheckingOfString:… этого вы можете использовать -requestCheckingOfString:… NSTextCheckingTypeOrthography пытается идентифицировать язык, используемый в строке, а обработчик завершения получает параметр NSOrthography который может использоваться для получения информации об орфографии в строке, включая ее доминирующий язык.

В следующем примере выводится dominant language = de :

 NSSpellChecker *spellChecker = [NSSpellChecker sharedSpellChecker]; [spellChecker setAutomaticallyIdentifiesLanguages:YES]; NSString *spellCheckText = @"Guten Herr Mustermann. Dies ist ein deutscher Text. Bitte löschen Sie diesen nicht."; [spellChecker requestCheckingOfString:spellCheckText range:(NSRange){0, [spellCheckText length]} types:NSTextCheckingTypeOrthography options:nil inSpellDocumentWithTag:0 completionHandler:^(NSInteger sequenceNumber, NSArray *results, NSOrthography *orthography, NSInteger wordCount) { NSLog(@"dominant language = %@", orthography.dominantLanguage); }]; 

Быстрое расширение строки для ответа Дженнифер:

 extension String { func language() -> String? { let tagger = NSLinguisticTagger(tagSchemes: [NSLinguisticTagSchemeLanguage], options: 0) tagger.string = self return tagger.tagAtIndex(0, scheme: NSLinguisticTagSchemeLanguage, tokenRange: nil, sentenceRange: nil) } } 

Применение:

 let language = "What language is this?".language() 
  • Общий токен доступа Facebook между веб-сайтом и мобильным приложением
  • Проблема синхронизации iOS Swift Realm
  • Есть ли способ использовать Touch ID с iOS Keychain, но не запрашивать пароль пользователя?
  • Альтернатива оболочке обмена сообщениями «Layer» для обмена сообщениями iOS
  • Как мне (или приостановить) приложение IP-приложения Flex 4.5 через код?
  • Виджет «Ссылка на App Store» для мобильного сайта
  • Как справиться с устаревшей версией офлайн-доступа в Facebook, когда вы используете токен как в приложении iOS, так и на сервере
  • Interesting Posts

    функция cut / copy / paste перестала работать в моем приложении iOS

    почему настройка цвета UITableViewCell в «willDisplayCell», но не в «cellForRowAtIndexPath»?

    Facebook API для iOS, Получение фотографий друзей

    Использование Xamarin, почему мое приложение установило значение по умолчанию на false?

    PlayBack разные голоса

    Настраивать пользовательскую кнопку обратной кнопки в навигационном контроллере меньше

    iOS 5.1: переменные экземпляра IBOutlet и объявления @property

    Добавление ярлыка в окно приложения из приложения-делегата

    Как подсчитать строки в классе Parse программно в приложении iOS с помощью swift?

    Символ не найден: ABAddressBookCreateWithOptions

    Как читать и писать xml-файл в одном месте?

    Модальный UINavigationController скрывает, хотя и не увольняет

    Получение каждого NSDate в этом месяце как NSString

    UITabBar скроет последнюю ячейку UITableView

    Как обнаружить полноэкранный режим с помощью AVPlayerViewController в Swift?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.