Перейти к основному содержимому

AI-перевод текста

Переводите текст с исходного языка на целевой и получайте результат по мере его формирования.

Предварительные условия

  • AIBudsAISDK инициализирован, и выбран зарегистрированный поставщик.
  • Поставщик поддерживает AITextTranslationServiceAPI.
  • Исходный текст и целевой язык не пусты.
  • Идентификаторы языков записываются через дефис, например zh-CN и en-US; пустой исходный язык включает автоматическое определение.

Реализация с помощью AI

Разработка с AI

Реализуйте этот сценарий с AI

Используйте официальный навык «Реализация перевода текста AIBuds» и адаптируйте сценарий к приложению.

Прочитайте и выполните инструкции https://docs-aibuds.github.io/ru/skills/implement-aibuds-text-translation. Используйте этот навык, чтобы реализовать «Реализация перевода текста AIBuds» в данном iOS-проекте и проверить результат.
Открыть официальный навык

API Reference

Framework

AIBudsAI.xcframework

Import

Swift
import AIBudsAI

Declaration

Swift
/// Translates text from one language to another.
/// - Parameters:
///   - text: The text to translate.
///   - sourceLanguage: Source language code. An empty string enables auto-detect.
///   - targetLanguage: Target language code.
///   - streamResultHandler: Called repeatedly with translation results.
///     - isFinal: `true` when translation is complete.
///     - transcript: The current incremental translated text.
///     - error: The translation error, or `nil` on success.
public static func translateText(_ text: String,
                    from sourceLanguage: String,
                      to targetLanguage: String,
                    streamResultHandler: ((_ isFinal: Bool, _ transcript: String?, _ error: Error?) -> Void)? = nil)

/// Cancels the current text translation operation.
public static func cancelTextTranslation()

См. translateText и cancelTextTranslation.

Примеры использования

Swift
AIBudsAISDK.translateText(
    "你好,欢迎使用 AIBuds SDK。",
    from: "zh-CN",
    to: "en-US"
) { isFinal, transcript, error in
    DispatchQueue.main.async {
        if let error {
            translationLabel.text = error.localizedDescription
            return
        }

        if let transcript {
            translationLabel.text = transcript
        }

        translateButton.isEnabled = isFinal
    }
}

Примечания

  • Не задавайте одинаковые исходный и целевой языки. Для автоматического определения передайте пустую строку исходного языка.
  • Текст результата поступает по частям и может заменять ранее показанное значение.
  • Этот API переводит только текст. Для непрерывного перевода речи используйте синхронный перевод.
  • У cancelTextTranslation() нет completion callback; обновляйте локальное состояние при запросе отмены.