# text.translate Ollama-basierte Übersetzung zwischen Sprachen. Sendet Quelltext an einen konfigurierten LLM-Endpunkt mit einem Übersetzungs-System-Prompt und liefert die Übersetzung plus audit-taugliche Modell-Herkunfts-Felder. ## Capability - `text.translate@0.1.0` ## Eingaben | Name | Typ | Beschreibung | | ----------------- | ---- | ------------------------------------------------------------------------- | | `text` | text | Quelltext. | | `target_language` | text | Zielsprache in einfachem Englisch (z.B. `German`, `French`, `ja-JP`). | | `source_language` | text | Optionaler Hinweis auf die Ausgangssprache. Leer = Modell erkennt selbst. | | `endpoint` | text | Ollama-förmiger `/api/chat`-Endpunkt. | | `model` | text | Modell-ID am Endpunkt (z.B. `qwen2.5:14b`). | | `api_key` | text | Optionaler Bearer-Token für Cloud-Endpunkte. | ## Ausgaben | Name | Typ | Beschreibung | | ----------------- | ---- | ------------------------------------------------------------------ | | `translation` | text | Die Übersetzung. | | `source_language` | text | Echo der Eingabe (oder erkannte Sprache bei Auto). | | `target_language` | text | Echo der Eingabe. | | `model_endpoint` | text | URL, gegen die übersetzt wurde. | | `model_name` | text | Modell-ID wie an die LLM-API gesendet. | | `model_digest` | text | SHA-256-Digest des bedienenden Ollama-Modells (wenn erreichbar). | Die drei `model_*`-Ausgaben sind das Audit-Primitiv: jede Übersetzung im Flow-Log lässt sich auch Monate später dem exakten Modell-Hash zuordnen, der sie erzeugt hat. ## Berechtigungen ```yaml permissions: - "net: localhost" - "net: 127.0.0.1" - "net: api.openai.com" - "net: api.anthropic.com" ``` Default-Policy erlaubt lokales Ollama und die zwei großen Hosted-Anbieter. Mit privatem LLM-Endpunkt: Hostname in die Operator-Policy-Ceiling aufnehmen; das Modul prüft seine Berechtigungen gegen diese Ceiling bei der Installation. ## Für regulierte Umgebungen gebaut Der Ollama-Endpunkt steht per Default auf einem lokalen Daemon — Quelltext verlässt nie den Rechner. Cloud-Anbieter sind Opt-in über die URL + Operator-Policy. Das `model_digest`-Feld ist der kryptographische Vertrauensanker für die Übersetzungs-Herkunft: zwei Ausgaben mit gleichem Digest stammen vom selben Modell-Gewicht, Punkt. ## Grenzen in v0.1.0 - Single-Shot. Lange Dokumente mit Chunking + Überlapp- Stitching folgt in v0.2.0. - Keine Glossar-/Terminologie-Listen. Aktuell verlässt sich das Modul auf das Allgemeinwissen des Modells; ein `glossary`- Input ist auf der v0.2.0-Roadmap. ## Beispiel-Flow ```yaml name: translate-to-german inputs: source: text steps: - id: translate use: text.translate@^0 with: text: $inputs.source target_language: "German" endpoint: "http://localhost:11434/api/chat" model: "qwen2.5:14b" outputs: translation: $translate.translation audit_model: $translate.model_digest ``` ## Build ```bash cargo build --release --target wasm32-wasip2 # Ausgabe: target/wasm32-wasip2/release/text_translate.wasm ```