Let's handle these changes in another PR.
Except the modifications in the prompt, this translate.py is now in sync with the translate.py in update-translations-prompt (#13968).
It should replace «"car"» with «„Auto“» but leave «`"car"`» as is (and not convert it to e.g. «„car“»). After this change it seems to finally have grasped that rule, at least according to my tests in a few documents, where it previously seemingly randomly did this wrong.
* "Die API-App abliefern" sounds funny, allow "Die API-Anwendung abliefern"
* "Leistung" instead of "Performanz" is usually smoother, we just dont want "Performance" (which is an artistic act) instead of "Performanz".
Exchange rule 4 and 5 and then exclude additional abbr's (abbr's without an english equivalent) from the list of abbr's which shall always be updated, as the LLM has nothing to diff against in this case. There were cases where it removed good information, which I had to undo, see e.g. the changes in `tutorial\query-param-models.md` in the two previous commits.
Found while testing if it keeps added abbr's after these recent commits (it does).
It wants to write these small, but they are written big in German and end with a dot (as I just found out).
After these changes it now seems to handle descriptions in title attributes well, both when translating a document the first time – see the abbr section in the `ru/docs/_llm-test.md` which I committed for reference, but I am not sure if everything is correct there, as I do not speak Russian – and when updating translations – tested with e.g. `ru/docs/features.md` and `ru/docs/tutorial/path-params-numeric-validations.md`, not committed.
I simplified rule 3 to just match when the separator is a colon (`:`), not when it is a comma (`,`), there are otherwise too many cases it may misunderstand, as commas are regularly used in title attributes. Updated the two instances in the English docs (`features.md` and `tutorial\sql-databases.md`) where a comma was used instead of a colon in a case, which we match with rule 3. I fixed the results in schemes they accidentally had `(de)` appended, but they are language independent.
I noticed that it forgot to remove a removed sentence and to add an added part of a sentence, when I reordered/updated a few sentences in the test file. It was stubborn even when retranslating. After these reformulations and the the added sentence at the end it saw these changes and properly synced them.
This is also cleanup for the abbr issue, not directly related.