diff --git a/modules/services/serviceAi/subStructureGeneration.py b/modules/services/serviceAi/subStructureGeneration.py index f4a26b5b..bee83706 100644 --- a/modules/services/serviceAi/subStructureGeneration.py +++ b/modules/services/serviceAi/subStructureGeneration.py @@ -24,6 +24,20 @@ class StructureGenerator: self.services = services self.aiService = aiService + def _getUserLanguage(self) -> str: + """Get user language for document generation""" + try: + if self.services: + # Prefer detected language if available (from user intention analysis) + if hasattr(self.services, 'currentUserLanguage') and self.services.currentUserLanguage: + return self.services.currentUserLanguage + # Fallback to user's preferred language + elif hasattr(self.services, 'user') and self.services.user and hasattr(self.services.user, 'language'): + return self.services.user.language + except Exception: + pass + return 'en' # Default fallback + async def generateStructure( self, userPrompt: str, @@ -168,9 +182,9 @@ class StructureGenerator: if not contentPartsIndex: contentPartsIndex = "\n(No content parts available)" - # Extract language from user prompt or default to "de" (can be detected from userPrompt) - # For now, default to "de" - can be enhanced with language detection later - language = "en" # Default language + # Get language from services (user intention analysis) + language = self._getUserLanguage() + logger.debug(f"Using language from services (user intention analysis) for structure generation: {language}") prompt = f"""USER REQUEST (for context): ``` @@ -228,7 +242,7 @@ RETURN JSON: {{ "metadata": {{ "title": "Document Title", - "language": "de" + "language": "{language}" }}, "documents": [{{ "id": "doc_1",