Reference17:Apps/PbxManager/App Translations

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference14r2 | Reference15r1 | Reference16r1 | Reference17 (this version)

With the translations PBX-Manager plugin, the needed app object can be created and configured. In addition, the app object can be assigned to specific config templates, if any exist.

Add an app object

Name
The name displayed for the app object which must be unique.
SIP
The sip from the app object which must be unique.
Config Templates
Enabled config templates where the App should be available.
If config templates exist, they will be listed with a checkbox.
The app object will be assigned to the config templates if a checkbox is checked.
Be Aware: Every user who should be able to use the translation service needs to have it assigned (by using a config template, for example).

Translations Service

Select the active translation backend.

DeepL

Specific https://www.deepl.com configuration

URL
The URL API Endpoint for the translation backend.
If the field is empty, which is the default, the API endpoint will be selected automatically depending on the type of the key. If key ends with ":fx" the URL https://api-free.deepl.com is used, otherwise https://api.deepl.com
API-Key
The secret api-key

eTranslation

Specific https://translation.ec.europa.eu/tools-and-resources/ai-translation-and-language-tools_en configuration

Application Name
The secret Application Name
Password
The secret Password

Custom LLM

Connects to any OpenAI API-compatible server, such as Ollama, vLLM, LM Studio, or a self-hosted model and interact with the endpoint POST /v1/chat/completions.

Hostname
The base URL of the server. The protocol prefix https:// is assumed if omitted.
Example: https://ollama.example.com or ollama.example.com
Once a hostname is entered, the plugin automatically queries {hostname}/v1/models and populates the Model dropdown.
Token
Optional Bearer token sent as Authorization: Bearer {token} with every request to the inference server, including the model list query. Leave empty if the server does not require authentication.
System Prompt
The system prompt sent to the model with every translation request. Use {LANG} as a placeholder - it is replaced at runtime with the ISO target language code (e.g. DE, EN-GB).
If left empty, the following default prompt is used:
You are a translation engine. Translate the user input into {LANG}.
Strictly follow all output rules:
- Return ONLY the translated content. No preamble, no explanations, no surrounding text of any kind.
- If the input contains HTML: preserve all tags, attributes, and structure unchanged; translate text nodes only.
- Never translate attribute values (href, src, class, id, style, data-*, etc.).
- Preserve proper nouns, brand names, and technical identifiers exactly as-is.
- Preserve whitespace, line breaks, and formatting exactly.
- Maintain the original tone and register (formal/informal).
- If the input is already in {LANG}, return it unchanged.
Model
Dropdown populated automatically from the models available on the configured host. Select the model to be used for translation requests.
Temperature
Define the parameter "temperature" in the LLM request. (Default 0.3)
Max. Tokens
Define the parameter "max_tokens" in the LLM request. (Default 65536)
Enable Thinking
Define the parameter "chat_template_kwargs.enable_thinking" in the LLM request. (Default false)

Related Articles