Skip to content

Commit f071bd8

Browse files
authored
chore: normalize XLIFF formatting to fractor's canonical form (#882)
`runTests.sh -s fractor -n` (typo3-ci-workflows v1.11.0) fails on this repository: 46 language files differ from PrettyXml's canonical formatting, so every fractor run reports `46 files would have been changed`. This is the one-time write run that settles it — from here on, `-s fractor -n` is a meaningful gate. **Formatting only, proven rather than asserted.** All 46 files were compared old-vs-new as parsed XML: - every attribute identical, - every leaf text (`source`, `target`, `note`) identical — exact comparison, including internal whitespace, - none of the files contains mixed content (text around inline elements) that such a comparison could miss. The diff is −329/+100 lines of indentation and attribute order; the largest file (`de.locallang.xlf`, 248 KB) shrinks by 26 bytes. **Verified:** `-s fractor -n` exit 1 before (`would change 46 file(s)`), exit 0 after (`Fractor is done!`). Gate: changelog, cgl, phpstan, unit (7318 tests), fuzzy (86 tests) all green locally. The **rector leg did not run locally** — this worktree's `.Build` is resolved for PHP ≥ 8.4 and the 8.2 pin hits composer's `platform_check`, exactly the case the Makefile names ("CI is the only place it will [run]. Say so rather than reporting it green."). No PHP file is touched by this change, and CI runs rector on this PR. No CHANGELOG entry: nothing user-facing changes. Background: this is the reproduction case behind [FriendsOfTYPO3/fractor#432](FriendsOfTYPO3/fractor#432) — fractor's dry run used to exit 0 over exactly these 46 files. Upstream fixes it properly in [fractor#430](FriendsOfTYPO3/fractor#430); this PR removes the pending changes on our side either way. _Assisted by claude-code:claude-opus-5 — [Session](https://claude.ai/code/session_01GSptxPLHWsttu9FuqVkvYZ)_
2 parents ba98ff4 + 88d4870 commit f071bd8

46 files changed

Lines changed: 100 additions & 329 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Resources/Private/Language/de.locallang.xlf

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="module.title">
67
<source>LLM Providers</source>
78
<target>LLM-Anbieter</target>
89
</trans-unit>
9-
1010
<!-- Provider List -->
1111
<trans-unit id="provider.field.name">
1212
<source>Name</source>
@@ -52,7 +52,6 @@
5252
<source>(default)</source>
5353
<target>(Standard)</target>
5454
</trans-unit>
55-
5655
<!-- Model List -->
5756
<trans-unit id="model.field.identifier">
5857
<source>Identifier</source>
@@ -114,7 +113,6 @@
114113
<source>No provider</source>
115114
<target>Kein Anbieter</target>
116115
</trans-unit>
117-
118116
<!-- Configuration List -->
119117
<trans-unit id="configuration.list.title">
120118
<source>LLM Configurations</source>
@@ -172,7 +170,6 @@
172170
<source>Tokens used</source>
173171
<target>Verbrauchte Token</target>
174172
</trans-unit>
175-
176173
<!-- Shared labels -->
177174
<trans-unit id="configured">
178175
<source>Configured</source>
@@ -326,7 +323,6 @@
326323
<source>All Providers</source>
327324
<target>Alle Anbieter</target>
328325
</trans-unit>
329-
330326
<!-- Button actions -->
331327
<trans-unit id="btn.provider.new">
332328
<source>New Provider</source>
@@ -356,7 +352,6 @@
356352
<source>Refresh</source>
357353
<target>Aktualisieren</target>
358354
</trans-unit>
359-
360355
<!-- Docheader tab menu -->
361356
<trans-unit id="tab.dashboard">
362357
<source>Dashboard</source>
@@ -370,7 +365,6 @@
370365
<source>Help</source>
371366
<target>Hilfe</target>
372367
</trans-unit>
373-
374368
<!-- Effective policy readout (ADR-140) -->
375369
<trans-unit id="governance.page.title">
376370
<source>Effective policy</source>
@@ -744,7 +738,6 @@
744738
<source>Applies to built-in tools only. Tools provided by an MCP server are always enforced against the trust-zone ceiling, never observed.</source>
745739
<target>Gilt nur für eingebaute Tools. Tools von einem MCP-Server werden immer gegen die Trust-Zone-Obergrenze durchgesetzt, nie nur beobachtet.</target>
746740
</trans-unit>
747-
748741
<!-- Routing readout (ADR-148) -->
749742
<trans-unit id="routing.heading">
750743
<source>Why this model?</source>
@@ -1006,7 +999,6 @@
1006999
<source>Nothing in the window chose a model automatically. Either no call ran, every configuration names a fixed model, or telemetry is switched off.</source>
10071000
<target>Im Zeitraum hat nichts ein Modell automatisch gewählt. Entweder lief kein Aufruf, jede Konfiguration nennt ein festes Modell, oder die Telemetrie ist abgeschaltet.</target>
10081001
</trans-unit>
1009-
10101002
<!-- Dashboard overview cards -->
10111003
<trans-unit id="snippet.card.title">
10121004
<source>Prompt Snippets</source>
@@ -1048,7 +1040,6 @@
10481040
<source>Open Analytics</source>
10491041
<target>Statistik öffnen</target>
10501042
</trans-unit>
1051-
10521043
<!-- Task controller messages -->
10531044
<trans-unit id="task.notFound">
10541045
<source>Task not found.</source>
@@ -1114,7 +1105,6 @@
11141105
<source>Error reading sys_log. See system log for details.</source>
11151106
<target>Fehler beim Lesen des sys_log. Details siehe Systemlog.</target>
11161107
</trans-unit>
1117-
11181108
<!-- Configuration controller -->
11191109
<trans-unit id="configuration.notConfigured">
11201110
<source>(not configured)</source>
@@ -1136,7 +1126,6 @@
11361126
<source>Generation failed. See system log for details.</source>
11371127
<target>Generierung fehlgeschlagen. Details siehe Systemlog.</target>
11381128
</trans-unit>
1139-
11401129
<!-- Model test results -->
11411130
<trans-unit id="model.test.responded">
11421131
<source>Model "%s" responded: "%s" (tokens: %d in, %d out)</source>
@@ -1158,7 +1147,6 @@
11581147
<source>Model "%s" connected successfully (tokens: %d in, %d out) - response content empty, model may use internal reasoning</source>
11591148
<target>Modell "%s" erfolgreich verbunden (Token: %d rein, %d raus) - Antwortinhalt leer, Modell nutzt möglicherweise internes Reasoning</target>
11601149
</trans-unit>
1161-
11621150
<!-- Analytics dashboard -->
11631151
<trans-unit id="analytics.title">
11641152
<source>LLM Usage Analytics</source>
@@ -1408,7 +1396,6 @@
14081396
<source>No active provider is configured and no provider was called recently.</source>
14091397
<target>Es ist kein aktiver Provider konfiguriert, und zuletzt wurde keiner aufgerufen.</target>
14101398
</trans-unit>
1411-
14121399
<!-- Skills backend module -->
14131400
<trans-unit id="skill.list.title">
14141401
<source>Skills</source>
@@ -1514,7 +1501,6 @@
15141501
<source>No skills have been ingested yet. Add a source and run a sync.</source>
15151502
<target>Es wurden noch keine Skills importiert. Fügen Sie eine Quelle hinzu und starten Sie eine Synchronisierung.</target>
15161503
</trans-unit>
1517-
15181504
<!-- Glossary partial -->
15191505
<trans-unit id="glossary.title">
15201506
<source>Terms &amp; Parameters</source>
@@ -1640,7 +1626,6 @@
16401626
<source>Encourages introducing new topics (typically -2 to 2). Higher values push the model toward novelty.</source>
16411627
<target>Fördert das Einbringen neuer Themen (typisch -2 bis 2). Höhere Werte drängen das Modell zu mehr Abwechslung.</target>
16421628
</trans-unit>
1643-
16441629
<!-- Per-module help / admin / see-also -->
16451630
<trans-unit id="module.adminOnly">
16461631
<source>This module is admin-only. Records and actions here affect every editor using LLM features.</source>
@@ -1674,7 +1659,6 @@
16741659
<source>Open Help</source>
16751660
<target>Hilfe öffnen</target>
16761661
</trans-unit>
1677-
16781662
<!-- Readiness (overview) -->
16791663
<trans-unit id="readiness.title">
16801664
<source>Setup readiness</source>
@@ -2080,7 +2064,6 @@
20802064
<source>Open Help</source>
20812065
<target>Hilfe öffnen</target>
20822066
</trans-unit>
2083-
20842067
<!-- Readiness signals (lists) -->
20852068
<trans-unit id="configuration.noModel.badge">
20862069
<source>No model assigned</source>
@@ -2162,7 +2145,6 @@
21622145
<source>Edit source</source>
21632146
<target>Quelle bearbeiten</target>
21642147
</trans-unit>
2165-
21662148
<!-- Empty-state standardization -->
21672149
<trans-unit id="provider.empty.hint">
21682150
<source>Providers are the first tier of setup (Provider → Model → Configuration). Launch the Setup Wizard to add one.</source>
@@ -2176,7 +2158,6 @@
21762158
<source>Configurations are the third tier of setup and require a Model first (Provider → Model → Configuration).</source>
21772159
<target>Konfigurationen sind die dritte Stufe der Einrichtung und erfordern zuerst ein Modell (Anbieter → Modell → Konfiguration).</target>
21782160
</trans-unit>
2179-
21802161
<!-- Configuration presets (ADR-056) -->
21812162
<trans-unit id="configuration.presets.title">
21822163
<source>Pending presets</source>
@@ -2282,7 +2263,6 @@
22822263
<source>Developers: implement Netresearch\NrLlm\Service\Tool\ToolInterface and tag it with nr_llm.tool to register a new tool.</source>
22832264
<target>Entwickler: Implementieren Sie Netresearch\NrLlm\Service\Tool\ToolInterface und versehen Sie die Klasse mit dem Tag nr_llm.tool, um ein neues Werkzeug zu registrieren.</target>
22842265
</trans-unit>
2285-
22862266
<!-- Tasks list (translation sweep) -->
22872267
<trans-unit id="task.list.title">
22882268
<source>Tasks</source>
@@ -2340,7 +2320,6 @@
23402320
<source>Each task uses a &lt;strong&gt;Configuration&lt;/strong&gt; that defines &lt;strong&gt;how&lt;/strong&gt; the AI behaves (model, temperature, system prompt). You can assign different configurations to tasks depending on the use case — a translation task might use a precise, low-temperature configuration, while a creative writing task uses a high-temperature one.</source>
23412321
<target>Jede Aufgabe verwendet eine &lt;strong&gt;Konfiguration&lt;/strong&gt;, die festlegt, &lt;strong&gt;wie&lt;/strong&gt; sich die KI verhält (Modell, Temperatur, System-Prompt). Je nach Anwendungsfall können Sie Aufgaben unterschiedliche Konfigurationen zuweisen — eine Übersetzungsaufgabe nutzt vielleicht eine präzise Konfiguration mit niedriger Temperatur, während eine kreative Schreibaufgabe eine mit hoher Temperatur verwendet.</target>
23422322
</trans-unit>
2343-
23442323
<!-- Overview AI task callout (translation sweep) -->
23452324
<trans-unit id="taskAi.callout.title">
23462325
<source>Create Tasks with AI</source>
@@ -2358,7 +2337,6 @@
23582337
<source>Create with AI</source>
23592338
<target>Mit KI erstellen</target>
23602339
</trans-unit>
2361-
23622340
<!-- Configuration list intro (translation sweep) -->
23632341
<trans-unit id="configuration.intro.line1">
23642342
<source>Configurations define &lt;strong&gt;how&lt;/strong&gt; the AI behaves: which model to use, creativity level (temperature), response length, and a system prompt that sets the AI's role. Each configuration is a reusable preset — for example, a "Translator" config with low temperature and a translation-focused system prompt.</source>
@@ -2368,7 +2346,6 @@
23682346
<source>Configurations are shared across &lt;strong&gt;Tasks&lt;/strong&gt;. A Task defines &lt;strong&gt;what&lt;/strong&gt; to do (the prompt template), while a Configuration defines &lt;strong&gt;how&lt;/strong&gt; to do it (model, temperature, system prompt). One configuration can power many different tasks.</source>
23692347
<target>Konfigurationen werden von mehreren &lt;strong&gt;Aufgaben&lt;/strong&gt; gemeinsam genutzt. Eine Aufgabe legt fest, &lt;strong&gt;was&lt;/strong&gt; zu tun ist (die Prompt-Vorlage), während eine Konfiguration festlegt, &lt;strong&gt;wie&lt;/strong&gt; es zu tun ist (Modell, Temperatur, System-Prompt). Eine Konfiguration kann viele verschiedene Aufgaben antreiben.</target>
23702348
</trans-unit>
2371-
23722349
<!-- Prompt snippet list intro + empty (translation sweep) -->
23732350
<trans-unit id="snippet.list.title">
23742351
<source>Prompt Snippets</source>
@@ -2402,7 +2379,6 @@
24022379
<source>Tags</source>
24032380
<target>Tags</target>
24042381
</trans-unit>
2405-
24062382
<!-- Setup wizard (translation sweep) -->
24072383
<trans-unit id="wizard.step.connect">
24082384
<source>Connect</source>
@@ -2560,7 +2536,6 @@
25602536
<source>Setup wizard progress</source>
25612537
<target>Fortschritt des Einrichtungsassistenten</target>
25622538
</trans-unit>
2563-
25642539
<!-- Test page (translation sweep) -->
25652540
<trans-unit id="test.page.title">
25662541
<source>Test LLM Provider</source>
@@ -2686,7 +2661,6 @@
26862661
<source>Sending request...</source>
26872662
<target>Anfrage wird gesendet …</target>
26882663
</trans-unit>
2689-
26902664
<!-- Help page (translation sweep) -->
26912665
<trans-unit id="help.page.title">
26922666
<source>LLM Management Help</source>
@@ -2848,7 +2822,6 @@
28482822
<source>&lt;strong&gt;Tasks&lt;/strong&gt; are simple one-shot prompts defined here in the LLM module. They are exposed to consuming extensions and the API as preset options. A consuming extension provides the editor-facing UI where editors pick a task or write a custom instruction.</source>
28492823
<target>&lt;strong&gt;Aufgaben&lt;/strong&gt; sind einfache einmalige Prompts, die hier im LLM-Modul definiert werden. Sie werden nutzenden Erweiterungen und der API als vorgegebene Optionen bereitgestellt. Eine nutzende Erweiterung stellt die redakteursseitige Oberfläche bereit, in der Redakteure eine Aufgabe auswählen oder eine eigene Anweisung schreiben.</target>
28502824
</trans-unit>
2851-
28522825
<!-- Backend AJAX error messages -->
28532826
<trans-unit id="error.provider.noUid">
28542827
<source>No provider UID specified</source>
@@ -2994,7 +2967,6 @@
29942967
<source>Failed to load records. See system log for details.</source>
29952968
<target>Datensätze konnten nicht geladen werden. Siehe Systemprotokoll für Details.</target>
29962969
</trans-unit>
2997-
29982970
<!-- Task wizard flash messages -->
29992971
<trans-unit id="flash.task.missingDescription.body">
30002972
<source>Please describe what this task should do.</source>
@@ -3900,7 +3872,6 @@
39003872
<source>Everything you configure here is reachable from PHP via LlmServiceManager. Your extension inherits the providers, models, configurations, budgets and the middleware pipeline — no per-extension API wiring.</source>
39013873
<target>Alles, was Sie hier konfigurieren, ist aus PHP über den LlmServiceManager erreichbar. Ihre Extension erbt Anbieter, Modelle, Konfigurationen, Budgets und die Middleware-Pipeline – ohne eigene API-Anbindung.</target>
39023874
</trans-unit>
3903-
39043875
<!-- Agent Runs approvals inbox (ADR-109) -->
39053876
<trans-unit id="runs.heading.waiting">
39063877
<source>Awaiting your decision</source>

Resources/Private/Language/de.locallang_dashboard.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="widget.monthly_cost.title">

Resources/Private/Language/de.locallang_mod.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">

Resources/Private/Language/de.locallang_mod_aitasks.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">

Resources/Private/Language/de.locallang_mod_analytics.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">

Resources/Private/Language/de.locallang_mod_authoring.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">

Resources/Private/Language/de.locallang_mod_config.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">

Resources/Private/Language/de.locallang_mod_mcp.xlf

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">
@@ -56,7 +57,7 @@
5657
</trans-unit>
5758
<trans-unit id="server.approval.notRequired">
5859
<source>Tools run without asking</source>
59-
<target>Tools laufen ohne R&#252;ckfrage</target>
60+
<target>Tools laufen ohne Rückfrage</target>
6061
</trans-unit>
6162
<trans-unit id="server.lastImport">
6263
<source>Last import</source>
@@ -112,7 +113,7 @@
112113
</trans-unit>
113114
<trans-unit id="server.lastContact.hint">
114115
<source>Any completed round trip counts: a tool call, an import or a connection test. It is not the same as the last import — a server that has been answering tool calls for weeks can have an old import date.</source>
115-
<target>Z&#228;hlt jede abgeschlossene Anfrage: Tool-Aufruf, Import oder Verbindungstest. Das ist nicht der letzte Import — ein Server, der seit Wochen Tool-Aufrufe beantwortet, kann ein altes Import-Datum haben.</target>
116+
<target>Zählt jede abgeschlossene Anfrage: Tool-Aufruf, Import oder Verbindungstest. Das ist nicht der letzte Import — ein Server, der seit Wochen Tool-Aufrufe beantwortet, kann ein altes Import-Datum haben.</target>
116117
</trans-unit>
117118
<trans-unit id="server.latency">
118119
<source>Latency</source>

Resources/Private/Language/de.locallang_mod_model.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">

Resources/Private/Language/de.locallang_mod_operation.xlf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
2+
<xliff
3+
xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
34
<file source-language="en" target-language="de" datatype="plaintext" original="messages">
45
<body>
56
<trans-unit id="mlang_labels_tablabel">

0 commit comments

Comments
 (0)