docs: revisi README C4A untuk menyesuaikan format data JSON bilingual

This commit is contained in:
cygouw
2026-06-05 14:18:12 +07:00
parent d2ae63fe62
commit 946497214b
+59 -20
View File
@@ -12,11 +12,14 @@ Dokumentasi ini dibuat untuk memudahkan pengembang atau pengguna berikutnya dala
- Data SOP: `groups/C4A/data/data-sop.json` - Data SOP: `groups/C4A/data/data-sop.json`
- Data FAQ: `groups/C4A/data/data-faq.json` - Data FAQ: `groups/C4A/data/data-faq.json`
2. **Ikon FontAwesome (v4)**: 2. **Dukungan Bilingual (ID/EN)**:
Semua teks konten yang ditampilkan ke pengguna mendukung dua bahasa. Anda perlu menggunakan objek dengan properti `id` (Bahasa Indonesia) dan `en` (Bahasa Inggris) pada setiap field teks. Jika properti `en` tidak diisi atau data masih berupa *string* biasa, sistem akan otomatis menggunakan Bahasa Indonesia sebagai *fallback*.
3. **Ikon FontAwesome (v4)**:
Jika ingin mengubah atau menambahkan logo/ikon pada data SOP, harap gunakan daftar ikon dari **FontAwesome v4** melalui tautan berikut: Jika ingin mengubah atau menambahkan logo/ikon pada data SOP, harap gunakan daftar ikon dari **FontAwesome v4** melalui tautan berikut:
👉 **[FontAwesome v4 Icons](https://fontawesome.com/v4/icons/)** (Contoh penggunaan: `fa-dot-circle-o`, `fa-graduation-cap`, `fa-flask`). 👉 **[FontAwesome v4 Icons](https://fontawesome.com/v4/icons/)** (Contoh penggunaan: `fa-dot-circle-o`, `fa-graduation-cap`, `fa-flask`).
3. **Field Opsional**: 4. **Field Opsional**:
Pada data SOP, properti **`staff_responsible`** (Staf Bertanggung Jawab) dan **`additional_info`** (Informasi Tambahan) bersifat **opsional**. Jika informasi tersebut tidak tersedia, kosongkan nilainya atau hapus propertinya dari JSON agar UI secara otomatis menyembunyikan bloknya. Pada data SOP, properti **`staff_responsible`** (Staf Bertanggung Jawab) dan **`additional_info`** (Informasi Tambahan) bersifat **opsional**. Jika informasi tersebut tidak tersedia, kosongkan nilainya atau hapus propertinya dari JSON agar UI secara otomatis menyembunyikan bloknya.
--- ---
@@ -30,21 +33,39 @@ Silakan salin-tempel (copy-paste) format di bawah ini ke dalam array JSON yang s
{ {
"id": 3, "id": 3,
"name": "Nama Staf Beserta Gelar", "name": "Nama Staf Beserta Gelar",
"role": "Peran / Jabatan Staf", "role": {
"id": "Peran / Jabatan Staf",
"en": "Staff Role / Title"
},
"image": "assets/images/nama-file-foto.png", "image": "assets/images/nama-file-foto.png",
"location": "Lokasi Ruang Kerja / Kantor Staf", "location": {
"id": "Lokasi Ruang Kerja / Kantor Staf",
"en": "Staff Workspace / Office Location"
},
"contact_consent": true, "contact_consent": true,
"phone": "628xxxxxxxxxx", "phone": "628xxxxxxxxxx",
"schedule": [ "schedule": [
{ {
"day": "Hari Kerja (contoh: Senin Jumat)", "day": {
"time": "Jam Kerja (contoh: 07.3016.00 WIB)", "id": "Hari Kerja (contoh: Senin Jumat)",
"break": "Jam Istirahat (contoh: istirahat 12.0013.00 WIB)" "en": "Work Days (e.g., Monday Friday)"
},
"time": "07.3016.00 WIB",
"break": {
"id": "Jam Istirahat (contoh: istirahat 12.0013.00 WIB)",
"en": "Break Time (e.g., break 12.0013.00 WIB)"
}
} }
], ],
"tasks": [ "tasks": [
"Tugas dan tanggung jawab utama 1", {
"Tugas dan tanggung jawab utama 2" "id": "Tugas dan tanggung jawab utama 1",
"en": "Main task and responsibility 1"
},
{
"id": "Tugas dan tanggung jawab utama 2",
"en": "Main task and responsibility 2"
}
] ]
} }
``` ```
@@ -57,21 +78,33 @@ Silakan salin-tempel (copy-paste) format di bawah ini ke dalam array JSON yang s
"tab_number": 9, "tab_number": 9,
"category": "akademik", "category": "akademik",
"icon": "fa-file-text", "icon": "fa-file-text",
"title": "Judul Lengkap SOP", "title": {
"description": "Deskripsi singkat mengenai SOP ini.", "id": "Judul Lengkap SOP",
"purpose": "Tujuan dibuatnya standar operasional prosedur ini.", "en": "Full SOP Title"
},
"description": {
"id": "Deskripsi singkat mengenai SOP ini.",
"en": "Brief description of this SOP."
},
"purpose": {
"id": "Tujuan dibuatnya standar operasional prosedur ini.",
"en": "The purpose of creating this standard operating procedure."
},
"requirements": [ "requirements": [
"Persyaratan administratif/akademik 1", { "id": "Persyaratan administratif/akademik 1", "en": "Administrative/academic requirement 1" },
"Persyaratan administratif/akademik 2" { "id": "Persyaratan administratif/akademik 2", "en": "Administrative/academic requirement 2" }
], ],
"procedures": [ "procedures": [
"Langkah alur prosedur ke-1", { "id": "Langkah alur prosedur ke-1", "en": "Procedure flow step 1" },
"Langkah alur prosedur ke-2" { "id": "Langkah alur prosedur ke-2", "en": "Procedure flow step 2" }
], ],
"staff_responsible": [ "staff_responsible": [
"👤 Staf Administrasi Informatika" "👤 Staf Administrasi Informatika / Informatics Administrative Staff"
], ],
"additional_info": "Informasi tambahan penting." "additional_info": {
"id": "Informasi tambahan penting.",
"en": "Important additional information."
}
} }
``` ```
*Catatan: Properti `category` bernilai antara `"akademik"` atau `"praktikum"`. Properti `staff_responsible` dan `additional_info` bersifat opsional.* *Catatan: Properti `category` bernilai antara `"akademik"` atau `"praktikum"`. Properti `staff_responsible` dan `additional_info` bersifat opsional.*
@@ -80,7 +113,13 @@ Silakan salin-tempel (copy-paste) format di bawah ini ke dalam array JSON yang s
```json ```json
{ {
"id": 11, "id": 11,
"question": "Pertanyaan yang sering diajukan?", "question": {
"answer": "Jawaban dari pertanyaan tersebut. Boleh menggunakan tag HTML seperti <strong>tebal</strong>." "id": "Pertanyaan yang sering diajukan?",
"en": "Frequently asked question?"
},
"answer": {
"id": "Jawaban dari pertanyaan tersebut. Boleh menggunakan tag HTML seperti <strong>tebal</strong>.",
"en": "Answer to the question. HTML tags like <strong>bold</strong> can be used."
}
} }
``` ```