pipecat icon indicating copy to clipboard operation
pipecat copied to clipboard

Global Language Setting

Open BFMarks opened this issue 1 month ago • 0 comments

Problem Statement

In many scenarios you will want to globally set a language or at the very least, set flags for each via one setting (or set "find language if available").

Proposed Solution

class LanguageConfig: """Centralized language configuration for all services."""

def __init__(self, language: str = "en"):
    self.language = language
    
@property
def deepgram_language(self) -> str:
    """Get Deepgram-compatible language code."""
    lang_map = {
        "en": "en-US",
        "es": "es",
        "fr": "fr",
        "de": "de",
        # Add more as needed
    }
    return lang_map.get(self.language, self.language)

@property
def cartesia_language(self) -> str:
    """Get Cartesia-compatible language code."""
    lang_map = {
        "en": "en",
        "es": "es",
        "fr": "fr",
        "de": "de",
    }
    return lang_map.get(self.language, self.language)

@property
def openai_language(self) -> str:
    """Get OpenAI-compatible language code/name."""
    lang_map = {
        "en": "English",
        "es": "Spanish",
        "fr": "French",
        "de": "German",
    }
    return lang_map.get(self.language, "English")

Alternative Solutions

No response

Additional Context

No response

Would you be willing to help implement this feature?

  • [ ] Yes, I'd like to contribute
  • [ ] No, I'm just suggesting

BFMarks avatar Nov 13 '25 02:11 BFMarks