1. YoureCom
    1. Über mich
  2. Lösungen
    1. Tipprunde
    2. Aufgaben & Support
    3. Mitglieder-Netzwerk
    4. Online-Shop
    5. Alle Lösungen & Preise
  3. Für Admins
    1. Plugins
    2. ByteMon
    3. ByteMon: Community verwalten
    4. ByteMon: Portalidentität
    5. Individuelle Entwicklung
    6. WSC 6.3 Alpha
    7. GitHub
  4. Neuigkeiten
    1. Kurzmeldungen
  5. Support
  6. Mein Konto
  7. Lösungen testen
  • Anmelden
  • Registrieren
  • Warenkorb 0
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Aufgaben
  • Produkte
  • Pulse-Beiträge
  • Erweiterte Suche
  1. YoureCom – Software für Vereine, Teams & Communities
  2. Repository-Liste
  3. de.yourecom.wcf.api.mpdf

YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard)

  • Marcel Beckers
  • +29 Hinzufügungen
  • 29 Gesamt
  • 1 Dateien
  • 16. Oktober 2026 um 16:02
  • tests/lint/check-language.php
    <pre>@@ -6,6 +6,12 @@
    * - German texts that address the reader have the informal and the formal variant
    * - every statically used variable with one of the prefixes of tests/lint/config.php (`languagePrefixes`) exists
    * - the texts use no `{@...}` output and compare strictly in `{if}`/`{elseif}` (like the templates)
    + * - every item is filed under a category {lang}/getPhrase() can actually find at runtime: WCF's Language::get()
    + * only ever tries the item's first 3 dot-segments, then (if that category has no such item) its first 2 — any
    + * other category, or an item with fewer than 3 segments, silently always returns the raw key instead of the text.
    + * Known gaps (items whose category cannot be changed, e.g. shared with a required package) are listed in
    + * tests/lint/config.php (`languageCategoryKnown`: item name => the category it actually uses; the list can only
    + * shrink)
    * (whether the texts compile is checked against the dev system: check-devsystem.php)
    *
    * Usage: php tests/lint/check-language.php
    @@ -37,6 +43,8 @@
    }
    }
    +$categoryKnown = $config['languageCategoryKnown'] ?? [];
    +$categoryKnownSeen = [];
    foreach (['de', 'en'] as $languageCode) {
    foreach (xml(ROOT . "/language/{$languageCode}.xml")?->query('//w:category/w:item') ?: [] as $item) {
    if (!$item instanceof \DOMElement) {
    @@ -49,6 +57,27 @@
    foreach (looseConditions($item->textContent) as [, $problem]) {
    $errors[] = "{$languageCode}.xml: {$name}: {$problem}";
    }
    +
    + $category = $item->parentNode instanceof \DOMElement ? $item->parentNode->getAttribute('name') : '';
    + $parts = \explode('.', $name);
    + if (\count($parts) < 3) {
    + $errors[] = "{$languageCode}.xml: {$name} has fewer than 3 dot-separated segments, {lang}/getPhrase() can never resolve it (always returns the raw key)";
    + continue;
    + }
    + $expected = [$parts[0] . '.' . $parts[1], $parts[0] . '.' . $parts[1] . '.' . $parts[2]];
    + if (\in_array($category, $expected, true)) {
    + continue;
    + }
    + if (($categoryKnown[$name] ?? null) === $category) {
    + $categoryKnownSeen[$name] = true;
    + continue;
    + }
    + $errors[] = "{$languageCode}.xml: {$name} is filed under category \"{$category}\", but {lang}/getPhrase() only ever look in \"" . \implode('" or "', $expected) . "\" (always returns the raw key otherwise)";
    + }
    +}
    +foreach ($categoryKnown as $name => $category) {
    + if (!isset($categoryKnownSeen[$name])) {
    + $errors[] = "tests/lint/config.php: languageCategoryKnown {$name} no longer applies, remove it";
    }
    }
Es wurden keine Einträge gefunden.

Bereit, deine Community smarter zu machen?

Ob fertiges Produkt oder individuelle Softwarelösung – überzeuge dich selbst.

Jetzt kaufen Demo testen

Direkter Support vom Entwickler

Zuletzt erledigte Aufgaben

  1. Multihunter meldet jede Anmeldung als Doppelaccount Multihunter (Doppelaccount Jäger) Multihunter: Forum Benachrichtigungen

    villain Erledigt am 27. Oktober 2026 um 20:09
  2. Multihunter meldet jede Anmeldung als Doppelaccount Multihunter (Doppelaccount Jäger)

    villain Erledigt am 26. Oktober 2026 um 14:41
  3. Optionen vom "Dateien Feld-Typ" sprechen von Bildern Database: Medienfelder

    doerek Erledigt am 25. Oktober 2026 um 18:20
  4. Nach Installation ohne Popup Begriffserklärung

    mbbaureihen.de Erledigt am 24. Oktober 2026 um 23:33
  5. Fehlermeldung beim Hinzufügen einer neuen Clanseite Clan Verwaltung

    BMWTom Erledigt am 24. Oktober 2026 um 23:16
  6. neue Dateiendungen werden nicht übernommen. Database: Medienfelder

    doerek Erledigt am 24. Oktober 2026 um 19:46
Arbeitsplatz
YoureCom – Software für Vereine, Teams & Communities

YoureCom – Software für Vereine, Teams & Communities. Seit 2004.

Fertig eingerichtete Lösungen für Verein, Team und Community, dazu Erweiterungen für die WoltLab Suite. Aus Wuppertal, für Kunden weltweit.

Lösungen

  • Tipprunde
  • Aufgaben & Support
  • Mitglieder-Netzwerk
  • Online-Shop
  • Alle Lösungen & Preise

Für Administratoren

  • Plugins
  • Clan Verwaltung
  • Wettbewerbe
  • MultiHunter
  • ByteMon
  • Individuelle Entwicklung

YoureCom

  • Über mich
  • Shop
  • Kontakt
  • Neuigkeiten
  • GitHub

Cloud-Verträge

  • AGB Cloud
  • AVV Cloud
  • Rechtswidrige Inhalte melden
  • Datenwechsel

Rechtliches

  • Datenschutzerklärung
  • Impressum
  • AGB
  • Vertrag widerrufen
  • Abonnements kündigen
  • Widerrufsbelehrung
© 2026 YoureCom · Marcel Beckers