# Übersetzen

Artikel auswählen und filtern, Übersetzung konfigurieren, prüfen und importieren.

# Artikel auswählen

Der Einstieg über **Übersetzen → Artikel übersetzen**. Von hier führen zwei Wege zu einer
Artikelliste.

<!-- TODO Screenshot: images/uebersetzen-startseite.png -->

## Die zwei Wege

| Weg | Wann |
| ----------------------------------- | ------------------------------------------ |
| **Artikelgruppen auswählen** → *Anzeigen* | der Regelfall: eine oder mehrere Warengruppen am Stück |
| **Alle Artikel durchsuchen** | wenn einzelne Artikel gesucht werden, quer über das Sortiment |

<p class="callout success">Der Weg über Artikelgruppen lädt die Artikel dieser Gruppen vollständig — man sieht sofort, was drin ist. Der Weg über alle Artikel setzt eine Suche voraus, weil das Sortiment sonst zu groß wäre.</p>

Die Gruppenauswahl nimmt **mehrere** Gruppen; gesucht werden kann darin nach Nummer und
Bezeichnung.

## Die Artikelliste

Beide Wege enden in derselben Tabelle:

| Spalte | Inhalt |
| ---------------------- | ---------------------------------------------- |
| **Artikelgruppe** | Nummer und Bezeichnung der Gruppe |
| **Artikelnummer** | |
| **Bezeichnung** | |
| **Zusatz** | |
| **Sprachen** | welche Fremdsprachen am Artikel **schon** vorhanden sind |
| **Langtext**, **Bestelltext** | jeweils gekürzt; der vollständige Text erscheint als Tooltip |
| **HTMLLangtext**, **HTMLBestelltext** | dito |

<p class="callout success">Die Spalte <strong>Sprachen</strong> ist die wichtigste beim Arbeiten: Sie zeigt, welche Übersetzungen es am Artikel bereits gibt. Steht dort <code>EN</code>, würde ein Import in <code>EN</code> die vorhandene Fassung überschreiben.</p>

## Suchen

| | |
| ----------------------- | -------------------------------------------- |
| **Suchfeld** | Artikelnummer oder Bezeichnung |
| **Mindestlänge** | 3 Zeichen |
| **Verzögerung** | die Suche startet kurz nach der letzten Eingabe |

<p class="callout warning">In der Ansicht <em>Alle Artikel</em> bleibt die Tabelle leer, bis mindestens 3 Zeichen eingegeben oder ein Filter gesetzt ist. Das ist kein Fehler, sondern verhindert, dass das ganze Sortiment geladen wird.</p>

In der Ansicht über Artikelgruppen sucht das Feld dagegen innerhalb der bereits geladenen
Artikel.

## Auswählen

| Aktion | Wie |
| ---------------------------- | --------------------------------------- |
| einzelnen Artikel wählen | Häkchen oder Klick auf die Zeile |
| alle Artikel wählen | Symbol **Alle Artikel auswählen** über der Tabelle |
| Auswahl leeren | Symbol **Auswahl zurücksetzen** oder *Auswahl leeren* |
| einzelnen wieder entfernen | am Kreuz des Chips über der Tabelle |

Über der Tabelle stehen die gewählten Artikel als Chips, dazu ihre Anzahl.

<p class="callout warning">„Alle Artikel auswählen" bezieht sich auf die <strong>gerade angezeigten</strong> Artikel — also auf das Ergebnis von Suche und Filter, nicht auf das ganze Sortiment. Vorher also einen Blick auf die Zahl der Treffer werfen.</p>

<p class="callout danger">Die Auswahl ist gleichzeitig die Rechnung bei DeepL: Jeder ausgewählte Artikel wird mit allen gewählten Texten übersetzt. 500 Artikel versehentlich mit ausgewählt heißt 500 Artikel bezahlt.</p>

Siehe [Das DeepL-Konto](https://wiki.dako-it.com/books/finntranslate/page/das-deepl-konto).

## Weiter zur Konfiguration

Die Schaltfläche **Konfigurieren** oben rechts. Sie bleibt gesperrt, solange kein Artikel
ausgewählt ist.

## Nächster Schritt

[Der erweiterte Filter](https://wiki.dako-it.com/books/finntranslate/page/der-erweiterte-filter)

# Der erweiterte Filter

Hinter dem Filtersymbol über der Tabelle liegt die eigentliche Auswahlmaschine. Sie
entscheidet, welche Artikel überhaupt in der Liste erscheinen — und damit, was übersetzt und
bezahlt wird.

<!-- TODO Screenshot: images/uebersetzen-filter.png -->

<p class="callout info">Am Symbol steht die Zahl der aktiven Kriterien. Über <strong>Zurücksetzen</strong> gehen alle auf einmal zurück.</p>

## Die Kriterien

| Bereich | Möglichkeiten |
| ------------------- | ------------------------------------------------ |
| **Artikelgruppe** | eine oder mehrere Gruppen |
| **Artikelnummer** | *beginnt mit* und *endet mit* |
| **Bezeichnung** | *beginnt mit* und *endet mit* |
| **Zusatz** | *enthält* |
| **Sprachen** | eine Auswahl von Sprachen, dazu **Enthält** / **Enthält nicht** |
| | Häkchen **Nur Artikel ganz ohne Übersetzung** |

## Die Sprachauswahl ist der wichtigste Teil

Damit lässt sich die Menge auf genau die Artikel eingrenzen, die die Übersetzung brauchen:

| Einstellung | Ergebnis |
| ------------------------------------------ | -------------------------------------- |
| Sprachen `EN`, Modus **Enthält** | Artikel, die schon eine englische Fassung haben |
| Sprachen `EN`, Modus **Enthält nicht** | Artikel, denen Englisch **fehlt** |
| Häkchen **Nur Artikel ganz ohne Übersetzung** | Artikel ohne jede Fremdsprache |

<p class="callout success">Für den zweiten Durchgang eines Sortiments ist <em>Enthält nicht</em> die richtige Wahl: Sie liefert genau die Artikel, die seit dem letzten Mal dazugekommen sind. Ohne diesen Filter würde alles erneut übersetzt — und erneut bezahlt.</p>

<p class="callout warning">Das Häkchen <strong>Nur Artikel ganz ohne Übersetzung</strong> hat Vorrang und schaltet die Sprachauswahl aus. Es meint „kein Fremdsprachentext in irgendeiner Sprache" — nicht „kein Text in der ausgewählten Sprache". Wer Englisch nachziehen will, obwohl Französisch schon vorhanden ist, braucht <em>Enthält nicht</em> mit <code>EN</code>, nicht dieses Häkchen.</p>

## Die Vorschau

Rechts im Filter steht, wie viele Artikel die Kriterien treffen, mit einer Liste der Treffer.

<p class="callout success">Der Blick dorthin ist die letzte Gelegenheit, eine zu große Auswahl zu bemerken, bevor sie Geld kostet.</p>

<p class="callout warning">In der Ansicht <em>Alle Artikel</em> zeigt die Vorschau höchstens <strong>200</strong> Treffer und weist darauf hin, dass weiter eingegrenzt werden soll. Die Zahl steht dann mit einem Plus — es sind also mehr. Auch die Tabelle enthält dann nur diese 200; <em>Alle Artikel auswählen</em> wählt entsprechend nur sie aus.</p>

<p class="callout info">In der Ansicht über Artikelgruppen filtert der erweiterte Filter dagegen die bereits geladenen Artikel und zeigt „x von y Artikel".</p>

## Ein sinnvoller Ablauf

1. Artikelgruppe wählen, um den Bereich zu begrenzen.
2. Sprachen auf **Enthält nicht** und die Zielsprache setzen.
3. In die Vorschau sehen: Ist die Zahl plausibel?
4. Filter anwenden, in der Tabelle **Alle Artikel auswählen**.
5. **Konfigurieren**.

Siehe [Übersetzung konfigurieren](https://wiki.dako-it.com/books/finntranslate/page/ubersetzung-konfigurieren).

## Nächster Schritt

[Übersetzung konfigurieren](https://wiki.dako-it.com/books/finntranslate/page/ubersetzung-konfigurieren)

# Übersetzung konfigurieren

Der Dialog **Konfiguration** entscheidet, was übersetzt wird und wohin das Ergebnis geht.
Vier Angaben, dann läuft die Übersetzung.

<!-- TODO Screenshot: images/uebersetzen-konfiguration.png -->

## Die Felder

| Feld | Inhalt |
| ---------------------------------- | -------------------------------------- |
| **Quellsprache auswählen** | nur bei eingestelltem Glossar; vorbelegt mit Deutsch |
| **Zielsprache auswählen** | in welche Sprache DeepL übersetzt |
| **Zu übersetzende Texte** | welche der sechs Texte mitgehen |
| **Selectline Sprache auswählen** | in welche SelectLine-Sprache geschrieben wird |

**Übersetzung starten** bleibt gesperrt, bis alles Nötige ausgewählt ist.

## Die zwei Sprachen nicht verwechseln

Das ist der Punkt, an dem die meisten Rückfragen entstehen:

| | |
| ------------------------------ | ------------------------------------------ |
| **Zielsprache** | die Sprache, in die DeepL übersetzt — etwa *Englisch (britisch)* |
| **Selectline Sprache** | die Fremdsprache am Artikel, in die das Ergebnis geschrieben wird |

<p class="callout danger">Die beiden hängen technisch nicht zusammen. Man kann englisch übersetzen und in die SelectLine-Sprache <em>Französisch</em> schreiben — das prüft niemand, und in der Warenwirtschaft steht danach der falsche Text unter der falschen Sprache. Beim Einrichten deshalb einmal am Beispielartikel nachsehen, dass das Ergebnis dort landet, wo es hingehört.</p>

<p class="callout info">Die Zielsprachen kommen von DeepL — knapp 40, mit Varianten wie <em>Englisch (britisch)</em>, <em>Portugiesisch (brasilianisch)</em> oder <em>Chinesisch (vereinfacht)</em>. Die SelectLine-Sprachen sind die im Mandanten angelegten.</p>

Siehe [Vorbereitung in der SelectLine](https://wiki.dako-it.com/books/finntranslate/page/vorbereitung-in-der-selectline).

## Zu übersetzende Texte

Vorbelegt sind **alle sechs**:

| | |
| ------------------------ | -------------------------------------- |
| Bezeichnung | max. 80 Zeichen in der SelectLine |
| Zusatz | max. 80 Zeichen in der SelectLine |
| Langtext | |
| Bestelltext | |
| HTMLLangtext | |
| HTMLBestelltext | |

<p class="callout success">Hier gehört ausgewählt statt alles stehengelassen. Jeder Text kostet Zeichen bei DeepL, und die HTML-Fassungen enthalten praktisch denselben Inhalt wie die Nicht-HTML-Fassungen — beides zu übersetzen verdoppelt die Kosten für dasselbe Ergebnis.</p>

<p class="callout info">Welche Fassung gebraucht wird, hängt am Zielsystem: Shopanbindungen lesen meist die HTML-Texte, Belegformulare den einfachen Langtext. Im Zweifel beides — aber bewusst.</p>

<p class="callout warning">Leere Felder werden übersprungen. Ein Artikel ohne Langtext verbraucht dafür also nichts und erscheint in der Ergebnisliste nur mit den Feldern, die gefüllt waren.</p>

## Quellsprache

Erscheint nur, wenn in den Einstellungen ein **Glossar** gewählt ist — dann ist sie
Pflicht.

<p class="callout info">Ohne Glossar erkennt DeepL die Ausgangssprache selbst, je Text. Die erkannte Sprache steht anschließend in der Ergebnisliste, was bei gemischten Artikelstämmen hilfreich ist.</p>

Siehe [Glossare](https://wiki.dako-it.com/books/finntranslate/page/glossare).

## Übersetzung starten

Der Dialog schließt sich, und die Ergebnisliste öffnet sich.

<p class="callout warning">Bis dahin ist im Mandanten <strong>nichts</strong> geändert. Geschrieben wird erst beim Import.</p>

<p class="callout info">Bei vielen Artikeln dauert der Aufruf einen Moment. Wird DeepL nicht innerhalb von 20 Sekunden fertig, bricht er ab und es erscheint eine Fehlermeldung — dann die Auswahl verkleinern.</p>

## Nächster Schritt

[Prüfen und importieren](https://wiki.dako-it.com/books/finntranslate/page/prufen-und-importieren)

# Prüfen und importieren

Die Übersetzung liegt vor, im Mandanten steht noch nichts. Dieser Schritt ist die Kontrolle —
und der einzige, der schreibt.

<!-- TODO Screenshot: images/uebersetzen-ergebnis.png -->

## Die Ergebnisliste

Die Ansicht **Übersetzung** zeigt die Texte gruppiert **je Artikel**, mit der Zahl der Felder
je Gruppe. Eine Gruppe lässt sich auf- und zuklappen.

| Spalte | Inhalt |
| ------------------ | ------------------------------------------- |
| **Feld** | Bezeichnung, Zusatz, Langtext, Bestelltext, Langtext (HTML), Bestelltext (HTML) |
| **Original** | der Text aus der SelectLine |
| **Übersetzung** | das Ergebnis von DeepL — **änderbar** |

## Die Übersetzung lässt sich ändern

Jedes Feld in der Spalte **Übersetzung** ist ein Eingabefeld. Was dort steht, wird
importiert.

<p class="callout success">Das ist der Kern des Moduls: DeepL liefert einen Vorschlag, entschieden wird im Haus. Produktnamen richtigstellen, eine zu lange Bezeichnung kürzen, eine Einheit korrigieren — alles hier, vor dem Schreiben.</p>

<p class="callout warning">Bezeichnung und Zusatz fasst die SelectLine auf <strong>80 Zeichen</strong>; längere Texte werden beim Import gekürzt. Diese Liste ist die Stelle, an der man das noch selbst in der Hand hat, statt es hinterher im Artikelstamm zu bemerken.</p>

<p class="callout info">Wird ein Feld geleert, wird es nicht importiert — der bestehende Text in der SelectLine bleibt dann unverändert. So lassen sich einzelne Felder gezielt auslassen.</p>

## Importieren

Die Schaltfläche **Importieren** oben rechts. Vorher kommt die Rückfrage:

> Alle bestehenden Übersetzungen in Selectline werden überschrieben. Fortfahren?

<p class="callout danger">Diese Rückfrage ist ernst gemeint. Für jeden Artikel wird der Fremdsprachentext der gewählten Sprache <strong>ersetzt</strong>, sofern er existiert — auch ein von Hand gepflegter, geprüfter Text. Ein Rückgängig gibt es nicht.</p>

<p class="callout success">Deshalb der Filter <em>Sprachen — Enthält nicht</em> bei der Auswahl: Er begrenzt den Durchgang auf Artikel, bei denen noch nichts zu überschreiben ist.</p>

Siehe [Der erweiterte Filter](https://wiki.dako-it.com/books/finntranslate/page/der-erweiterte-filter).

## Was beim Import passiert

| Fall | Ergebnis |
| ------------------------------------------------ | -------------------------------- |
| Artikel hat die Sprache noch nicht | Fremdsprachentext wird **angelegt** |
| Artikel hat die Sprache schon | vorhandene Felder werden **überschrieben** |
| Feld in der Liste leer gelassen | bleibt unverändert |
| Artikelnummer gibt es nicht mehr | Artikel wird übersprungen, Hinweis im Protokoll |

<p class="callout info">Geschrieben wird direkt in den Artikelstamm der Datenbank, nicht über die SelectLine-API. Die Texte stehen deshalb sofort bereit — die SelectLine muss dafür nicht neu geöffnet werden. Läuft sie beim Import bereits mit dem Artikel offen, gehört die Maske einmal neu aufgerufen.</p>

Anschließend meldet die Oberfläche *Übersetzungen erfolgreich importiert*.

## Das Fenster schließen

Über das Kreuz oben links, mit Rückfrage:

> Alle Übersetzungen gehen verloren. Fortfahren?

<p class="callout warning">Wer hier schließt, verwirft das Ergebnis vollständig — auch die bereits von Hand nachgebesserten Texte. Ein zweiter Durchgang kostet erneut Zeichen bei DeepL. Also besser importieren und danach in der SelectLine korrigieren, als eine halb fertige Liste wegwerfen.</p>

## Danach prüfen

| Prüfung | Wo |
| --------------------------------------------- | ------------------------------ |
| Steht der Text an der richtigen Sprache? | am Artikel in der SelectLine |
| Ist die Bezeichnung vollständig oder gekürzt? | dort ebenfalls |
| Zeigt die Spalte **Sprachen** die Sprache? | in der Artikelliste, nach dem Neuladen |

Siehe [Wenn etwas nicht klappt](https://wiki.dako-it.com/books/finntranslate/page/wenn-etwas-nicht-klappt).

## Nächster Schritt

[Wenn etwas nicht klappt](https://wiki.dako-it.com/books/finntranslate/page/wenn-etwas-nicht-klappt)