Skip to content

Conversation

@pascalhuerten
Copy link
Contributor

@pascalhuerten pascalhuerten commented Jun 25, 2025

MOOChub Schema Multilingual Enhancement

Zusammenfassung der Änderungen

Es besteht der Bedarf Kurse, die in mehreren Sprachen angeboten werden, mit mehrsprachigen Metadaten auszustatten oder nicht deutsche Metadaten als solche kennzeichnen zu können, um so Zielgruppen bei der Darstellung der Kurse besser erreichen zu können. Ich schlage vor die Kursmetadaten um Mehrsprachigkeit zu erweitern. Für Namen oder kuze Beschreibungen lässt sich hierfür der im AMB definierte Typ Localized String verwenden. Darauf aufbauend schlage ich einen weiteren Typ vor LocalizedContent, der auf LocalizedString aufbaut, und zuätzlich einen contentMediaTyp setzen lässt. Dieser würde es erlauben Textinhalte auch in anderen Formaten als HTML wie PlainText und Markdown zur Verfügung zu stellen, oder mindestens als solche zu kennzeichnen. Markdown eignet sich gut, da hier im Vergleich zu HTML der verarbeitenden Plattform weniger Freiheiten bei der Darstellung genommen werden können, jedoch dennoch wesentliche semantische Informationen erhalten bleiben. Die Kennzeichnung von Sprache und MediaType erlaubt außerdem eine zielgenauere und effizientere maschinelle Verarbeitung der Daten, sowie zielgerichtete automatisierte Übersetzungen. Dies würde zudem den Wert der MoochubDatenbank zum Beispiel für das KI-Modell-Training weiter stärken. Diese neuen Typen sind rückwärtskompatibel implementiert, sodass bestehende Datensätze weiterhin valide bleiben würden. Nur Moochub-Clients müssten die Änderung sofort unterstützen.

1. Neue Typen definiert

Localized String

  • Wird direkt vom AMB-Standard eingebunden
  • Für kurze Texte wie Kurstitel (oder möglicherweise auch Bildbeschreibungen, Organisationsnamen, Skill-Label...)
  • Fallback eingebaut, um weiterhin einfache Strings zu unterstützen
  • BCP 47 konforme Sprachcodes
  • Nicht existierende Sprachcodes werden als Fehler erkannt

LocalizedContent

  • Für längere Inhalte wie Kursbeschreibungen
  • Fallback eingebaut, um weiterhin einfache Strings zu unterstützen
  • Erlaubt neben HTML auch Markdown und Plain-Text

2. Rückwärtskompatibilität

Das neue Schema ist rückwärtskompatibel für Provider

  • Bestehende "einfache" String-Werte funktionieren weiterhin
  • Neue mehrsprachige Objekte sind optional

Moochub-Clients müssten allerdings kompatibilität für die neuen Typen sicher stellen.

Alternativ könnte localizedString auch ohne Fallback eingesetzt werden, um den Umstieg zu erzwingen. Dann wäre für keine Partei eine Rückwärtskompatibilität da.

3. Beispiele

Legacy Format (funktioniert weiterhin):

{
    "name": "Confidential Communication",
    "description": "<p>A message on the Internet...</p>"
}

Neues mehrsprachiges Format:

{
    "name": {
        "de": "Vertrauliche Kommunikation",
        "en": "Confidential Communication"
    },
    "description": {
        "contentMediaType": "text/markdown",
        "content": {
            "de": "# Vertrauliche Kommunikation\n\nEine Nachricht im Internet...",
            "de": "# Confidential Communication\n\nA message on the Internet..."
        }
    }
}

5. Nächste Schritte

Für eine vollständige Implementierung könnten auch folgende Bereiche aktualisiert werden:

  • oragization->name localizedString
  • image->description: localizedString
  • trailer->description: localizedString
  • address->{country, city, street}: localizedString
  • address->description: localizedString
  • name und alternateName bei EducationalAlignment, EducationalLevel und Skill. sind zwar schon mehrsprachig könnte jedoch so weiter an AMB angepasst werden

@pascalhuerten pascalhuerten changed the title Add MultilingualText and MultilingualContent Add LocalizedString and LocalizedContent Oct 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant