Internationalization (i18n)
Almadar supports writing schemas in your native language. The CLI automatically detects the language based on keywords and translates it to the standard internal representation before compilation.
Orbital Unit = Entity + Traits + Pages
Usage
Simply write your schema using the translated keywords and operators for your language. The file extension remains .orb.
Example
{
"name": "TaskApp",
"orbitals": [
{
"name": "TaskManager",
"entity": {
"name": "Task",
"fields": [
{ "name": "title", "type": "string" },
{ "name": "completed", "type": "boolean" }
]
},
"traits": [
{
"name": "TaskBrowser",
"stateMachine": {
"states": [
{ "name": "active", "isInitial": true },
{ "name": "done" }
],
"transitions": [
{
"from": "active",
"to": "done",
"event": "COMPLETE",
"effects": [
["set", "@entity.completed", true]
]
}
]
}
}
]
}
]
}
Reference
Schema Keywords
| English | العربية | Slovenščina |
|---|---|---|
| orbital | مدار | orbitala |
| orbitals | مدارات | orbitale |
| entity | كيان | entiteta |
| trait | سمة | znacilnost |
| traits | سمات | znacilnosti |
| field | حقل | polje |
| fields | حقول | polja |
| state | حالة | stanje |
| states | حالات | stanja |
| transition | انتقال | prehod |
| transitions | انتقالات | prehodi |
| event | حدث | dogodek |
| events | أحداث | dogodki |
| effect | تأثير | ucinek |
| effects | تأثيرات | ucinki |
| guard | حارس | strazar |
| on | عند | ob |
| uses | يستخدم | uporablja |
| from | من | iz |
| to | إلى | do |
| as | كـ | kot |
| pages | صفحات | strani |
| path | مسار | pot |
| ref | مرجع | sklic |
| collection | مجموعة | zbirka |
| name | اسم | ime |
| type | نوع | tip |
| required | مطلوب | obvezno |
| primaryKey | مفتاح_رئيسي | primarniKljuc |
| linkedEntity | كيان_مرتبط | povezanaEntiteta |
| stateMachine | آلة_حالة | strojStanj |
| isInitial | أولي | zacetno |
Types
| English | العربية | Slovenščina |
|---|---|---|
| string | نص | niz |
| number | رقم | stevilo |
| boolean | منطقي | logicno |
| array | مصفوفة | seznam |
| enum | تعداد | nastevanje |
Operators
| Category | English | العربية | Slovenščina |
|---|---|---|---|
| Comparison | = | يساوي | je |
!= | لا_يساوي | ne_enako | |
< | أصغر_من | manj | |
<= | أصغر_أو_يساوي | manj_enako | |
> | أكبر_من | vec | |
>= | أكبر_أو_يساوي | vec_enako | |
| Arithmetic | + | جمع | plus |
- | طرح | minus | |
* | ضرب | krat | |
/ | قسمة | deljeno | |
% | باقي_القسمة | modul | |
| Logic | and | و | in |
or | أو | ali | |
not | ليس | ne | |
if | إذا | ce | |
| Control | let | ليكن | naj |
do | افعل | naredi | |
when | عندما | ko | |
fn | دالة | fn | |
| Effects | set | تعيين | nastavi |
emit | بث | oddaj | |
persist | حفظ | shrani | |
navigate | انتقل | pojdi | |
notify | أشعر | obvesti | |
spawn | توليد | ustvari | |
despawn | إخفاء | odstrani | |
call-service | استدعاء_خدمة | poklici_storitev | |
render-ui | رسم_واجهة | narisi_vmesnik | |
| Collection | map | تحويل | pretvori |
filter | تصفية | filtriraj | |
find | إيجاد | najdi | |
count | عد | stej | |
sum | مجموع | vsota | |
first | أول | prvi | |
last | آخر | zadnji | |
nth | رقم | nti | |
concat | دمج | zdruzi | |
includes | يتضمن | vkljucuje | |
empty | فارغ | prazno |