Interface TranslateHandler

  • All Implemented Interfaces:

    
    public interface TranslateHandler
    
                        

    Translation event handler.

    Listens for translation-related event notifications, including:

    • Translation completion: message or text translation results (may contain both successful and failed items)

    • Language changes: user-level translation language setting updates

    • Auto-translation: user-level auto-translation toggle changes

    Note: Channel-level translation strategy changes are handled by ChannelHandler.onChannelTranslateStrategySync.

    Register via NCEngine.addTranslateHandler. All callback methods have default empty implementations; override only the callbacks you need.

    NCEngine.addTranslateHandler("TRANSLATE_HANDLER_ID", object : TranslateHandler {
        override fun onTranslationCompleted(event: TranslationCompletedEvent) {
            event.results.forEach { result ->
                println("Translation completed: ${result.identifier}, status: ${result.translateInfo?.status}")
            }
        }
    
        override fun onTranslationLanguageChanged(event: TranslationLanguageChangedEvent) {
            println("Translation language changed to: ${event.language}")
        }
    
        override fun onAutoTranslateStateChanged(event: AutoTranslateStateChangedEvent) {
            println("Auto-translation status: ${event.isEnabled}")
        }
    })