{% extends "base.html" %} {% block title %}Settings — deepl-i18n{% endblock %} {% block content %}

Settings

Edits {{ config_file }}. {% if not config_exists %}The file does not exist yet — saving will create it.{% endif %} Changes take effect immediately after saving, no restart needed.

{% if config_error %}
!
config.json is broken
{{ config_error }} — the UI will not overwrite it. Please repair it by hand first.
{% endif %}

DeepL access

API keyWritten to .env — never to config.json, which usually ends up in the repo.
{% if key_found %} found Source: {{ key_source }} {% else %} not found neither DEEPL_API_KEY nor .env {% endif %}
DEEPL_API_KEY = {{ key_masked }}
QuotaLive query against DeepL — free, does not count towards your character limit.
{% if not key_found %}Needs an API key.{% else %}not queried yet{% endif %}

Translation

Source languagesource_lang
{# Eigene Liste: DeepL akzeptiert als Quelle kein EN-US/PT-BR, nur EN/PT. #} {% for l in source_languages %}
{{ source_languages_source }}
Target languagesoutput_languages
Formalityglobal or per language
Model typemodel_type
File formatfile_format
Contextcontext — steers DeepL's tone & terminology

Advanced

Placeholder patternplaceholder_pattern (Python regex). Matches are excluded from translation.
Detected placeholders
Glossaryglossary — path to a .json/.csv/.tsv file
{% if glossary_error %}
{{ glossary_error }}
{% elif glossary_path %}
{{ glossary_entries }}
entries in total
{% endif %}
Filename overridesfilename_overrides — language code → filename without extension

Targets

{% endblock %} {% block scripts %} {% endblock %}