ZiadRabea/WorldLang
ZiadRabea/WorldLang has 30 GitHub stars and 5 forks. Star changes are not measured yet. Last checked 2026-11-14 08:58 UTC. Last push 2026-10-11.
What you can do
- Native-language programming — write code using the keywords of your chosen language.
- 31 supported language packs with dynamically loaded keyword mappings.
- Hybrid language selection — manually select a language or allow WorldLang to detect it automatically.
- AI-based language detection — automatically detect the programming language syntax before lexing when no language is manually selected.
Gemessener Sternzuwachs
- in 24h
- Verlauf wird gesammelt
- in 7 days
- Verlauf wird gesammelt
- in 15 days
- Verlauf wird gesammelt
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
Über uns
A Multilingual Programming Language
LernenREADME.de.md
OriginalWorldLang
English | العربية | Français | Español | Deutsch | 中文 | 日本語
Eine mehrsprachige Programmiersprache, mit der Sie Code in Ihrer Muttersprache schreiben, ausführen, erkennen und übersetzen können.
Ressourcen und Links:
- 📖 Offizielle Dokumentation
- 🌐 Offizielle Website
- 💬 Der Community beitreten
- 🔬 Akademischer Preprint (ResearchGate)
- 🧩 WorldLangEN VS-Code-Erweiterung
- 👤 Maintainer: Ziad Rabea (LinkedIn | E-Mail)
WorldLang ist ein Open-Source-Interpreter, der in Python geschrieben wurde und die Sprachbarriere in der Programmierung beseitigt. Anstatt sich englische Schlüsselwörter merken zu müssen, können Sie Code mit nativer Syntax schreiben — auf Arabisch, Französisch, Japanisch und in vielen weiteren Sprachen.
Die Engine verarbeitet und führt den Code über eine benutzerdefinierte Lexer → Parser → Runtime-Pipeline aus und unterstützt zusätzlich automatische Spracherkennung sowie die Übersetzung von WorldLang-Quellcode zwischen unterstützten Sprachen.
Unterstützte Sprachen: 31 — Arabisch, Aserbaidschanisch, Chinesisch, Deutsch, Englisch, Finnisch, Französisch, Griechisch, Hindi, Indonesisch, Irisch, Italienisch, Japanisch, Kasachisch, Koreanisch, Kurdisch, Lettisch, Malayisch, Niederländisch, Persisch, Polnisch, Portugiesisch, Rumänisch, Russisch, Spanisch, Schwedisch, Türkisch, Ukrainisch, Urdu, Usbekisch und Vietnamesisch.
Inhaltsverzeichnis
- Funktionen
- Voraussetzungen
- Installation
- Verwendung
- Spracherkennung & Sprachauswahl
- Codeübersetzung
- Code-Beispiel
- Eingebaute Bibliotheken
- Architektur
- Sprach- & Bibliotheksverwaltung
- Beitragen
- Lizenz
Funktionen
- Programmierung in der Muttersprache — schreiben Sie Code mit den Schlüsselwörtern Ihrer gewählten Sprache.
- 31 unterstützte Sprachpakete mit dynamisch geladenen Schlüsselwortzuordnungen.
- Hybride Sprachauswahl — Sprache manuell auswählen oder WorldLang die Sprache automatisch erkennen lassen.
- KI-basierte Spracherkennung — erkennt die Sprache der Quellcodedatei automatisch, wenn keine Sprache manuell festgelegt wurde.
- Sprachübergreifende Ausführung — Dateien in unterschiedlichen unterstützten Sprachen können ausgeführt werden, ohne die Sprache vorher manuell umzuschalten.
- Integrierte Codeübersetzung — übersetzen Sie WorldLang-Quellcode zwischen unterstützten Sprachen.
- Dynamische Schlüsselwortzuordnung — der Lexer ordnet native Schlüsselwörter zur Laufzeit generischen Tokens zu.
- Vollwertiger Interpreter — Variablen, Funktionen, Rekursion, Schleifen, Bedingungen, Listen, Dictionaries und Arithmetik.
- Hardware & Robotik — serielle Kommunikation für Mikrocontroller wie Arduino.
- Sprache — Text-to-Speech und Spracherkennung.
- Eingebaute Bibliotheken — Bildverarbeitung, Diagramme, Zufallszahlen, Dateisystem und mehr.
- Generative KI — optionale Google-Gemini-Integration.
- Bibliotheks- & Erweiterungsverwaltung —
.world-Bibliotheken und Erweiterungen direkt aus dem Netzwerk laden.
Voraussetzungen
- Python 3.12+
- Windows, macOS oder Linux
Benötigte Pakete:
| Paket | Verwendungszweck |
|---|---|
requests |
Herunterladen von Sprachpaketen, Bibliotheken und Erweiterungen |
numpy |
KI-Spracherkennung und numerische Verarbeitung |
keras |
KI-basierte Spracherkennung |
nltk |
Vorverarbeitung für die Spracherkennung |
Pillow |
Bildverarbeitung (_builtins/Image.py) |
matplotlib |
Diagramme (_builtins/Graph.py) |
pyautogui |
Maus-/Tastatursteuerung (_builtins/Controls.py) |
pyserial |
Serielle/Hardware-Kommunikation (_builtins/Serial.py) |
pyttsx3 |
Text-to-Speech (_builtins/Speech.py) |
SpeechRecognition |
Spracherkennung (_builtins/Speech.py) |
google-generativeai |
Generative KI (_builtins/GenAI.py) |
rich |
Markdown-Darstellung für KI-Ausgaben (_builtins/GenAI.py) |
Nur
requestsist für die grundlegende Interpreter-Funktionalität erforderlich.Keras,NLTKundNumPywerden für die KI-basierte automatische Spracherkennung benötigt. Die übrigen Pakete werden nur für die jeweiligen optionalen eingebauten Bibliotheken benötigt.
Installation
# 1. Repository klonen
git clone https://github.com/ZiadRabea/WorldLang.git
cd WorldLang
# 2. (Empfohlen) Virtuelle Umgebung erstellen und aktivieren
python -m venv venv
# Windows:
venv\Scriptsctivate
# macOS / Linux:
source venv/bin/activate
# 3. Abhängigkeiten installieren
pip install requests numpy keras nltk Pillow matplotlib pyautogui pyserial pyttsx3 SpeechRecognition rich
Um die Google-Gemini-KI-Funktionen zu aktivieren:
pip install google-generativeai
Verwendung
Der Interpreter wird als REPL (Read–Eval–Print Loop) ausgeliefert. Starten Sie ihn mit:
python bin/World.py
Es erscheint eine Eingabeaufforderung:
World >>
Geben Sie ein Programm ein und drücken Sie die Eingabetaste, um es auszuführen.
Spezielle Befehle
| Befehl | Aktion |
|---|---|
libman |
Bibliotheksmanager ausführen und .world-Bibliotheken herunterladen |
langman |
Sprachmanager ausführen und Sprachpakete herunterladen/wechseln |
extman |
Erweiterungsmanager ausführen und Erweiterungen herunterladen |
setlang |
Programmiersprache manuell auswählen oder automatische Erkennung aktivieren |
world() |
Eine WorldLang-Quelldatei ausführen |
translate() |
WorldLang-Quellcode zwischen unterstützten Sprachen übersetzen |
Spracherkennung & Sprachauswahl
WorldLang unterstützt ein hybrides System zur Sprachwahl.
Sie können die gewünschte Sprache explizit festlegen oder die Sprache nicht angeben und WorldLang automatisch die Sprache des Quellcodes erkennen lassen.
Manuelle Sprachauswahl
Verwenden Sie:
setlang
Beispiel:
setlang -> ArabicKW
Damit wird die arabische Schlüsselworttabelle manuell als aktive Sprache festgelegt.
Automatische Spracherkennung
Lassen Sie das Sprachargument leer:
setlang -> ""
Dadurch wird die automatische Spracherkennung aktiviert.
Wenn die automatische Erkennung aktiviert ist, analysiert WorldLang den Quellcode und bestimmt die passende Sprache während der Lexing-/Tokenisierungsphase.
Dadurch können Dateien und importierte Module in verschiedenen unterstützten Sprachen ohne vorheriges manuelles Umschalten der Sprache ausgeführt werden.
KI-Erkennungsmodule
Das automatische Spracherkennungssystem verwendet:
KerasNLTKNumPy
Die automatische Erkennung ist optional, wenn eine Sprache manuell mit setlang ausgewählt wird.
Codeübersetzung
WorldLang verfügt über einen integrierten Übersetzer für Quellcode zwischen Sprachen.
Anstatt Code lediglich durch einfache Textersetzung zu übersetzen, verarbeitet der Übersetzer den Quellcode über eine strukturierte Pipeline:
Source
↓
Lexer
↓
Translator
↓
DeLexer
↓
Translated Source
Der Quellcode wird zunächst in sprachunabhängige Repräsentationen lexikalisiert. Der Translator ordnet diese Repräsentationen anschließend der Zielsprache zu, bevor der DeLexer wieder gültigen WorldLang-Quellcode erzeugt.
Translate-Befehl
translate(filename.world, source_language, target_language)
Beispiel:
translate("factorial.world", "English", "Chinese")
WorldLang erzeugt automatisch eine übersetzte Quelldatei mit der Zielsprache.
Beispielsweise:
factorial_Chinese.world
So kann ein WorldLang-Programm in einer Sprache geschrieben und anschließend in eine andere unterstützte Sprache übersetzt werden.
Code-Beispiel
Ein rekursiver Fakultätsrechner, der vollständig mit nativen arabischen Schlüsselwörtern geschrieben ist:
# حاسبة المضروب
متغير الرقم = عدد_صحيح(استقبل("أدخل رقماً"))
دالة مضروب(رقم)
اذا رقم == 1 او رقم == 0 نفذ ارجاع 1
ارجاع رقم * مضروب(رقم - 1)
نهاية
طباعة(مضروب(5))
Dasselbe Programm kann auch auf Englisch geschrieben werden:
# Factorial Calculator
var number = int(input("Enter a number:"))
func factorial(number)
if number == 1 or number == 0 do return 1
return number * factorial(number - 1)
end
print(factorial(number))
Bei aktivierter automatischer Erkennung kann WorldLang bestimmen, welche unterstützte Sprache der Quellcode verwendet, ohne dass zuvor manuell eine Sprache ausgewählt werden muss.
Eingebaute Bibliotheken
Der Interpreter stellt mehrere Python-gestützte Bibliotheken bereit, die als native WorldLang-Funktionen registriert sind:
| Bibliothek | Zweck | Unterstützungsmodul |
|---|---|---|
String |
split, uppercase, lowercase, contains, replace, ... |
_builtins/String.py |
Random |
Zufallszahlengenerierung | _builtins/Random.py |
os |
Dateisystem: chdir, mkdir, list_dir, move, system, ... |
_builtins/os.py |
Image |
Bilder laden/speichern und in/von RGB-Listen konvertieren | _builtins/Image.py |
Graph |
plot, scatter, bar zur Diagrammerstellung |
_builtins/Graph.py |
Controls |
Maus-/Tastaturautomatisierung | _builtins/Controls.py |
Serial |
Serielle Hardware-/Arduino-Kommunikation (send/receive) |
_builtins/Serial.py |
Speech |
Text-to-Speech und Spracherkennung | _builtins/Speech.py |
GenAI |
Generative KI über Google Gemini | _builtins/GenAI.py |
Architektur
WorldLang ist ein Tree-Walking-Interpreter mit einer erweiterten multilingualen Verarbeitungsarchitektur.
Ausführungspipeline
Quellcode
↓
Sprachauswahl / KI-Erkennung
↓
Lexer
↓
Tokens
↓
Parser
↓
Abstract Syntax Tree
↓
Runtime
↓
Ergebnis
Die Erkennungsschicht bestimmt vor der Tokenisierung die passende Schlüsselworttabelle, wenn keine Sprache manuell festgelegt wurde.
Übersetzungspipeline
Source
↓
Lexer
↓
Sprachunabhängige Repräsentation
↓
Translator
↓
DeLexer
↓
Translated Source
Diese Architektur ermöglicht es WorldLang, mehrsprachigen Quellcode auszuführen und zu übersetzen, während die zugrunde liegende Interpreter-Pipeline sprachunabhängig bleibt.
Wichtige Komponenten
| Datei / Komponente | Rolle |
|---|---|
World.py |
Einstiegspunkt und REPL-Shell |
Lexer.py |
Tokenizer; ordnet Schlüsselwörter aus der erkannten oder ausgewählten Sprache dynamisch zu |
Parser.py |
Grammatikregeln → AST-Erzeugung |
Interpreter.py |
Führt die AST aus und stellt die Standardbibliothek bereit |
Tokens.py |
Token-Typen und Schlüsselwortverwaltung |
Translator.py |
Übersetzt tokenisierte Repräsentationen zwischen unterstützten Sprachen |
DeLexer.py |
Erzeugt Quellcode mit den Schlüsselwörtern der Zielsprache |
Errors.py |
Fehlertypen (IllegalChar, Syntax, Runtime) |
RT_result.py |
Laufzeitergebnisse, Kontext und Symboltabellen |
datatypes/ |
Value, Number, String, List, Dict, Function |
_builtins/ |
Python-gestützte Standardbibliotheken |
data/ |
Sprachschlüsselworttabellen und mehrsprachige Sprachressourcen |
Die Schlüsselworttabellen sind datengetriebene JSON-Dateien, sodass zusätzliche Sprachen hinzugefügt werden können, ohne die zentrale Interpreter-Grammatik neu schreiben zu müssen.
Sprach- & Bibliotheksverwaltung
WorldLang kann zur Laufzeit Ressourcen aus dem Netzwerk abrufen:
langman— Schlüsselworttabellen für zusätzliche Sprachen nachdata/herunterladen.libman—.world-Bibliotheken herunterladen.extman— Erweiterungen nachextensions/herunterladen.setlang— eine Sprache manuell festlegen oder die KI-basierte automatische Spracherkennung aktivieren.world()— WorldLang-Quelldateien ausführen.translate()— WorldLang-Quellcode zwischen unterstützten Sprachen übersetzen.
Sprachenerkennung und Übersetzung nutzen die mehrsprachige Schlüsselwortarchitektur, sodass verschiedene Sprachpakete dieselbe zugrunde liegende Interpreterstruktur verwenden können.
Beitragen
WorldLang ist Open-Source und gemeinschaftlich getrieben. Beiträge sind in vielen Formen willkommen:
- Sprachbeiträge — Lokalisierungs- und Schlüsselworttabellen hinzufügen oder verbessern.
- Interpreter-Entwickler — Lexer, Parser, Translator, DeLexer, Runtime und Standardbibliothek verbessern.
- KI-Entwickler — Modelle und Vorverarbeitung für die automatische Spracherkennung verbessern.
- Hardware-Entwickler — Hardware- und Roboterintegrationen erweitern.
- Tester — Fehler entdecken und die Zuverlässigkeit verbessern.
- Jeder — Probleme melden, Dokumentation verbessern und Ideen teilen.
Um beizutragen:
- Forken Sie das Repository.
- Klonen Sie Ihren Fork und erstellen Sie einen Branch.
- Nehmen Sie Ihre Änderungen vor und committen Sie diese.
- Öffnen Sie einen Pull Request gegen den
main-Branch.
Lizenz
WorldLang wird unter der MIT-Lizenz veröffentlicht.
Ähnliche Projekte entdecken
sindresorhus/awesome
😎 Awesome-Listen zu allen möglichen interessanten Themen [HINWEIS: Pull Requests sind vorübergehend deaktiviert, bis ich dazu komme, die vorhandenen abzuarbeiten]
536,602 SterneEbookFoundation/free-programming-books
:books: Frei verfügbare Programmierbücher
401,568 Sternenilbuild/developer-roadmap
Interaktive Roadmaps, Leitfäden und weitere Bildungsinhalte, die Entwicklern helfen, in ihrer Karriere zu wachsen.
371,974 Sternevinta/awesome-python
Die maßgebliche Liste, die die Frage beantwortet: „Ich möchte X in Python machen – welches Tool soll ich verwenden?“
334,641 Sterne