Ana içeriğe geç

Aygıt Dilini Ayarlama

Bağlı aygıtın kullanacağı dili ayarlayın. Hedef dil, SDK'nın DeviceLanguage enum'u ile temsil edilir.

Ön Koşullar

Aygıt dilini ayarlamadan önce şunları doğrulayın:

  • Aygıt bağlı ve kararlı durumdadır
  • Aygıt DeviceInfoAPI protokolünü destekler
  • Seçilen dil aygıtın supportedLanguages listesinde yer alır

API Reference

Framework

AIBuds.xcframework

Import

SDK'yı kullanacağınız dosyalarda ana framework'ü içe aktarın:

Swift
import AIBuds

Protokol

setDeviceLanguage yöntemi DeviceInfoAPI içinde tanımlıdır. Bu protokol temel aygıt API protokolünden türetilir.

Swift
protocol DeviceInfoAPI: DeviceAPI {
    /// Current language setting of the device.
    var languageSetting: DeviceLanguage { get }

    /// List of languages supported by the device, each element is an
    /// `NSNumber` wrapping the raw value of `DeviceLanguage`.
    var supportedLanguages: [NSNumber] { get }

    /// Sets the device language.
    /// - Parameters:
    ///   - language: The target language to set.
    ///   - completion: A closure that is called when the operation completes.
    ///     - success: `true` if the operation was successful; otherwise `false`.
    ///     - error: An `NSError` object that describes the error that occurred, or `nil` if the operation was successful.
    func setDeviceLanguage(
        _ language: DeviceLanguage,
        completion: AIBudsCompletionHandler?
    )
}

Örnek Yöntemi

Aygıt dilini desteklenen bir DeviceLanguage değerine ayarlar.

Swift
/// Sets the device language.
/// - Parameters:
///   - language: The target language to set.
///   - completion: A closure that is called when the operation completes.
///     - success: `true` if the operation was successful; otherwise `false`.
///     - error: An `NSError` object that describes the error that occurred, or `nil` if the operation was successful.
func setDeviceLanguage(
    _ language: DeviceLanguage,
    completion: AIBudsCompletionHandler?
)

Parametreler

ParametreTürAçıklama
languageDeviceLanguage / AIBudsDeviceLanguageAyarlanacak hedef dil.
completionAIBudsCompletionHandler?İşlem tamamlandığında çağrılan isteğe bağlı tamamlanma işleyicisi.

Geri Çağrı Parametreleri:

AdTürAçıklama
successBool / BOOLİşlem başarılıysa true; aksi halde false.
errorNSError?İşlem başarısızsa hata ayrıntıları; aksi halde nil.

Dönüş Değeri

Bu yöntem doğrudan bir değer döndürmez. Sonuç tamamlanma işleyicisi aracılığıyla iletilir.

Kullanım Örnekleri

Swift
import AIBuds

final class DeviceManager {
    weak var device: DeviceConvertible?

    func setDeviceLanguage(_ language: DeviceLanguage) {
        guard let device = device as? DeviceInfoAPI else {
            print("Device does not support language settings")
            return
        }

        let isSupported = device.supportedLanguages.contains {
            $0.intValue == language.rawValue
        }
        guard isSupported else {
            print("The selected language is not supported by this device")
            return
        }

        device.setDeviceLanguage(language) { success, error in
            if !success {
                print("Failed to set language: \(error?.localizedDescription ?? "Unknown error")")
                return
            }

            print("Device language set successfully")
        }
    }
}

Hata Yönetimi

  1. Yeni dili uygulanmış kabul etmeden önce success değerini kontrol edin.
  2. İşlem başarısız olduğunda hata ayrıntıları için error değerini kullanın.
  3. Komutu göndermeden önce desteklenmeyen değerleri reddedin.
  4. Hedef aygıt için belgelenmedikçe belirli bir hata kodu varsaymayın.

En İyi Uygulamalar

  1. SDK Enum'unu Kullanın: ISO dil kodu dizesi yerine bir DeviceLanguage değeri verin.
  2. Desteklenen Dilleri Denetleyin: Yöntemi çağırmadan önce enum'un ham değerini supportedLanguages ile karşılaştırın.
  3. Protokol Uyumluluğunu Denetleyin: Aygıtın DeviceInfoAPI desteğini doğrulayın.
  4. Arayüzü Ana Kuyrukta Güncelleyin: Tamamlanma geri çağrısına bağlı UIKit güncellemelerini ana kuyruğa aktarın.

Notlar

  • supportedLanguages, NSNumber içinde sarmalanmış DeviceLanguage ham değerlerini içerir.
  • languageSetting, aygıtın geçerli dil ayarını sunar.
  • Desteklenen diller aygıt modeline ve firmware sürümüne göre değişebilir.
  • SDK Demo'su dili AIBudsDeviceLanguageEnglish olarak ayarlar; üretim uygulamaları aygıtın bildirdiği değerler arasından seçim yapmalıdır.