chore(i18n): sync translations with latest source changes (chunk 1/1, 6 changes)

pull/1793/head
localizeflow[bot] 5 months ago
parent ecd784c7ff
commit fcd22d3e7e

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T16:49:02+00:00", "translation_date": "2026-04-20T16:43:50+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "id" "language_code": "id"
}, },

@ -1,28 +1,28 @@
# AGENTS.md # AGENTS.md
## Ikhtisar Proyek ## Gambaran Proyek
Ini adalah repositori kurikulum edukasi untuk mengajarkan dasar-dasar pengembangan web kepada pemula. Kurikulumnya adalah kursus komprehensif selama 12 minggu yang dikembangkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran praktis yang mencakup JavaScript, CSS, dan HTML. Ini adalah repositori kurikulum edukasi untuk mengajarkan dasar-dasar pengembangan web kepada pemula. Kurikulum ini merupakan kursus komprehensif selama 12 minggu yang dikembangkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran praktis yang mencakup JavaScript, CSS, dan HTML.
### Komponen Utama ### Komponen Utama
- **Konten Edukasi**: 24 pelajaran terstruktur yang diorganisasi dalam modul berbasis proyek - **Konten Edukasi**: 24 pelajaran terstruktur yang diorganisasi dalam modul berbasis proyek
- **Proyek Praktis**: Terrarium, Permainan Mengetik, Ekstensi Browser, Permainan Luar Angkasa, Aplikasi Perbankan, Editor Kode, dan Asisten Obrolan AI - **Proyek Praktis**: Terrarium, Permainan Mengetik, Ekstensi Browser, Permainan Luar Angkasa, Aplikasi Perbankan, Editor Kode, dan Asisten Chat AI
- **Kuis Interaktif**: 48 kuis dengan 3 pertanyaan setiap kuis (penilaian sebelum dan sesudah pelajaran) - **Kuis Interaktif**: 48 kuis dengan 3 pertanyaan tiap kuis (penilaian sebelum/sesudah pelajaran)
- **Dukungan Multi-bahasa**: Terjemahan otomatis untuk 50+ bahasa melalui GitHub Actions - **Dukungan Multi-bahasa**: Terjemahan otomatis untuk lebih dari 50 bahasa melalui GitHub Actions
- **Teknologi**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (untuk proyek AI) - **Teknologi**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (untuk proyek AI)
### Arsitektur ### Arsitektur
- Repositori edukasi dengan struktur berbasis pelajaran - Repositori edukasi dengan struktur berbasis pelajaran
- Setiap folder pelajaran memuat README, contoh kode, dan solusi - Setiap folder pelajaran berisi README, contoh kode, dan solusi
- Proyek mandiri dalam direktori terpisah (quiz-app, berbagai proyek pelajaran) - Proyek mandiri di direktori terpisah (quiz-app, berbagai proyek pelajaran)
- Sistem terjemahan menggunakan GitHub Actions (co-op-translator) - Sistem terjemahan menggunakan GitHub Actions (co-op-translator)
- Dokumentasi disajikan melalui Docsify dan tersedia dalam format PDF - Dokumentasi disajikan melalui Docsify dan tersedia dalam format PDF
## Perintah Setup ## Perintah Setup
Repositori ini terutama untuk konsumsi konten edukasi. Untuk bekerja dengan proyek spesifik: Repositori ini terutama untuk konsumsi konten edukasi. Untuk bekerja dengan proyek khusus:
### Setup Repositori Utama ### Setup Repositori Utama
@ -56,7 +56,7 @@ npm run format # Format dengan Prettier
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# Ikuti instruksi pemuatan ekstensi khusus browser # Ikuti petunjuk pemuatan ekstensi spesifik browser
``` ```
### Proyek Permainan Luar Angkasa ### Proyek Permainan Luar Angkasa
@ -67,12 +67,12 @@ npm install
# Buka index.html di browser atau gunakan Live Server # Buka index.html di browser atau gunakan Live Server
``` ```
### Proyek Obrolan (Backend Python) ### Proyek Chat (Backend Python)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# Atur variabel lingkungan GITHUB_TOKEN # Tetapkan variabel lingkungan GITHUB_TOKEN
python api.py python api.py
``` ```
@ -81,28 +81,28 @@ python api.py
### Untuk Kontributor Konten ### Untuk Kontributor Konten
1. **Fork repositori** ke akun GitHub Anda 1. **Fork repositori** ke akun GitHub Anda
2. **Clone hasil fork** secara lokal 2. **Clone fork Anda** secara lokal
3. **Buat cabang baru** untuk perubahan Anda 3. **Buat cabang baru** untuk perubahan Anda
4. Buat perubahan pada konten pelajaran atau contoh kode 4. Lakukan perubahan pada konten pelajaran atau contoh kode
5. Uji perubahan kode di direktori proyek terkait 5. Uji perubahan kode di direktori proyek terkait
6. Ajukan pull request sesuai pedoman kontribusi 6. Ajukan pull request sesuai panduan kontribusi
### Untuk Pembelajar ### Untuk Pembelajar
1. Fork atau clone repositori 1. Fork atau clone repositori
2. Navigasi ke direktori pelajaran secara berurutan 2. Navigasi ke direktori pelajaran secara berurutan
3. Baca file README untuk setiap pelajaran 3. Baca file README di setiap pelajaran
4. Kerjakan kuis pra-pelajaran di https://ff-quizzes.netlify.app/web/ 4. Selesaikan kuis sebelum pelajaran di https://ff-quizzes.netlify.app/web/
5. Kerjakan contoh kode dalam folder pelajaran 5. Kerjakan contoh kode di folder pelajaran
6. Selesaikan tugas dan tantangan 6. Selesaikan tugas dan tantangan
7. Kerjakan kuis pasca-pelajaran 7. Ikuti kuis sesudah pelajaran
### Pengembangan Langsung ### Pengembangan Langsung
- **Dokumentasi**: Jalankan `docsify serve` di root (port 3000) - **Dokumentasi**: Jalankan `docsify serve` di root (port 3000)
- **Aplikasi Kuis**: Jalankan `npm run dev` di direktori quiz-app - **Aplikasi Kuis**: Jalankan `npm run dev` di direktori quiz-app
- **Proyek**: Gunakan ekstensi VS Code Live Server untuk proyek HTML - **Proyek-proyek**: Gunakan ekstensi Live Server VS Code untuk proyek HTML
- **Proyek API**: Jalankan `npm start` di direktori API masing-masing - **Proyek API**: Jalankan `npm start` di direktori API terkait
## Instruksi Pengujian ## Instruksi Pengujian
@ -111,7 +111,7 @@ python api.py
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Periksa masalah gaya kode npm run lint # Periksa masalah gaya kode
npm run build # Verifikasi build berhasil npm run build # Verifikasi keberhasilan build
``` ```
### Pengujian API Bank ### Pengujian API Bank
@ -124,57 +124,57 @@ node server.js # Verifikasi server mulai tanpa kesalahan
### Pendekatan Pengujian Umum ### Pendekatan Pengujian Umum
- Ini adalah repositori edukasi tanpa pengujian otomatis yang lengkap - Ini adalah repositori edukasi tanpa pengujian otomatis lengkap
- Pengujian manual difokuskan pada: - Pengujian manual fokus pada:
- Contoh kode berjalan tanpa error - Contoh kode berjalan tanpa error
- Tautan di dokumentasi berfungsi dengan baik - Link di dokumentasi berfungsi dengan baik
- Build proyek selesai dengan sukses - Proses build proyek berjalan sukses
- Contoh mengikuti praktik terbaik - Contoh sesuai praktik terbaik
### Pemeriksaan Sebelum Pengajuan ### Pemeriksaan Sebelum Pengiriman
- Jalankan `npm run lint` di direktori dengan package.json - Jalankan `npm run lint` di direktori dengan package.json
- Verifikasi tautan markdown valid - Verifikasi link markdown valid
- Uji contoh kode di browser atau Node.js - Uji contoh kode di browser atau Node.js
- Pastikan terjemahan mempertahankan struktur yang benar - Pastikan terjemahan mempertahankan struktur yang tepat
## Pedoman Gaya Kode ## Pedoman Gaya Kode
### JavaScript ### JavaScript
- Gunakan sintaks ES6+ modern - Gunakan sintaks ES6+ modern
- Ikuti konfigurasi ESLint standar yang disediakan di proyek - Ikuti konfigurasi ESLint standar di proyek
- Gunakan nama variabel dan fungsi yang bermakna untuk kejelasan edukasi - Gunakan nama variabel dan fungsi yang bermakna untuk kejelasan edukasi
- Tambahkan komentar untuk menjelaskan konsep kepada pembelajar - Tambahkan komentar penjelasan konsep untuk pembelajar
- Format menggunakan Prettier jika sudah dikonfigurasi - Format menggunakan Prettier jika dikonfigurasi
### HTML/CSS ### HTML/CSS
- Elemen HTML5 semantik - Elemen HTML5 semantik
- Prinsip desain responsif - Prinsip desain responsif
- Konvensi penamaan kelas yang jelas - Penamaan kelas yang jelas
- Komentar yang menjelaskan teknik CSS untuk pembelajaran - Komentar menjelaskan teknik CSS untuk pembelajar
### Python ### Python
- Pedoman gaya PEP 8 - Panduan gaya PEP 8
- Contoh kode yang jelas dan edukatif - Contoh kode jelas dan edukatif
- Tambahkan tipe (type hints) jika membantu proses belajar - Gunakan type hint bila membantu pembelajaran
### Dokumentasi Markdown ### Dokumentasi Markdown
- Hirarki judul yang jelas - Hierarki judul yang jelas
- Blok kode dengan spesifikasi bahasa - Blok kode dengan penentuan bahasa
- Tautan ke sumber daya tambahan - Link ke sumber daya tambahan
- Screenshot dan gambar di direktori `images/` - Screenshot dan gambar di direktori `images/`
- Teks alt untuk gambar demi aksesibilitas - Teks alternatif untuk gambar demi aksesibilitas
### Organisasi File ### Organisasi File
- Pelajaran diberi nomor berurutan (1-getting-started-lessons, 2-js-basics, dll.) - Pelajaran diberi nomor berurutan (1-getting-started-lessons, 2-js-basics, dll.)
- Setiap proyek memiliki direktori `solution/` dan sering `start/` atau `your-work/` - Setiap proyek memiliki direktori `solution/` dan sering juga `start/` atau `your-work/`
- Gambar disimpan dalam folder `images/` khusus pelajaran - Gambar disimpan di folder `images/` khusus pelajaran
- Terjemahan di struktur `translations/{kode-bahasa}/` - Terjemahan disimpan dalam struktur `translations/{language-code}/`
## Build dan Deployment ## Build dan Deployment
@ -193,7 +193,7 @@ Konfigurasi Azure Static Web Apps:
- **Lokasi output**: `dist` - **Lokasi output**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Pembuatan PDF Dokumentasi ### Generasi PDF Dokumentasi
```bash ```bash
npm install # Pasang docsify-to-pdf npm install # Pasang docsify-to-pdf
@ -203,22 +203,22 @@ npm run convert # Hasilkan PDF dari docs
### Dokumentasi Docsify ### Dokumentasi Docsify
```bash ```bash
npm install -g docsify-cli # Instal Docsify secara global npm install -g docsify-cli # Pasang Docsify secara global
docsify serve # Jalankan di localhost:3000 docsify serve # Layani di localhost:3000
``` ```
### Build Spesifik Proyek ### Build Spesifik Proyek
Setiap direktori proyek dapat memiliki proses build sendiri: Setiap direktori proyek mungkin memiliki proses build sendiri:
- Proyek Vue: `npm run build` membuat bundle produksi - Proyek Vue: `npm run build` untuk membuat bundel produksi
- Proyek statis: Tidak ada langkah build, file disajikan langsung - Proyek statis: Tidak ada langkah build, layani file langsung
## Pedoman Pull Request ## Panduan Pull Request
### Format Judul ### Format Judul
Gunakan judul yang jelas dan deskriptif menunjukkan area perubahan: Gunakan judul jelas yang menggambarkan area perubahan:
- `[Quiz-app] Tambah kuis baru untuk pelajaran X` - `[Quiz-app] Tambahkan kuis baru untuk pelajaran X`
- `[Lesson-3] Perbaiki typo di proyek terrarium` - `[Lesson-3] Perbaiki typo di proyek terrarium`
- `[Translation] Tambah terjemahan Spanyol untuk pelajaran 5` - `[Translation] Tambah terjemahan Spanyol untuk pelajaran 5`
- `[Docs] Perbarui instruksi setup` - `[Docs] Perbarui instruksi setup`
@ -228,33 +228,33 @@ Gunakan judul yang jelas dan deskriptif menunjukkan area perubahan:
Sebelum mengirim PR: Sebelum mengirim PR:
1. **Kualitas Kode**: 1. **Kualitas Kode**:
- Jalankan `npm run lint` di direktori proyek yang terpengaruh - Jalankan `npm run lint` di direktori proyek terkait
- Perbaiki semua error dan peringatan linting - Perbaiki semua error dan peringatan lint
2. **Verifikasi Build**: 2. **Verifikasi Build**:
- Jalankan `npm run build` jika diperlukan - Jalankan `npm run build` jika berlaku
- Pastikan tidak ada error build - Pastikan tidak ada error build
3. **Validasi Tautan**: 3. **Validasi Link**:
- Uji semua tautan markdown - Uji semua link markdown
- Verifikasi referensi gambar berfungsi - Verifikasi referensi gambar berfungsi
4. **Review Konten**: 4. **Tinjau Konten**:
- Baca ulang pengejaan dan tata bahasa - Proofreading tata bahasa dan ejaan
- Pastikan contoh kode benar dan edukatif - Pastikan contoh kode benar dan edukatif
- Verifikasi terjemahan mempertahankan makna asli - Verifikasi terjemahan mempertahankan makna asli
### Persyaratan Kontribusi ### Persyaratan Kontribusi
- Setuju dengan Microsoft CLA (cek otomatis pada PR pertama) - Setujui Microsoft CLA (pemeriksaan otomatis pada PR pertama)
- Ikuti [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Ikuti [Kode Etik Open Source Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk pedoman rinci - Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk panduan rinci
- Cantumkan nomor isu dalam deskripsi PR jika ada - Referensikan nomor isu dalam deskripsi PR jika ada
### Proses Review ### Proses Review
- PR direview oleh maintainer dan komunitas - PR direview oleh pemelihara dan komunitas
- Kejelasan edukasi diprioritaskan - Prioritaskan kejelasan edukasi
- Contoh kode harus mengikuti praktik terbaik saat ini - Contoh kode harus mengikuti praktik terbaik saat ini
- Terjemahan direview untuk akurasi dan kesesuaian budaya - Terjemahan direview untuk akurasi dan kesesuaian budaya
@ -263,20 +263,20 @@ Sebelum mengirim PR:
### Terjemahan Otomatis ### Terjemahan Otomatis
- Menggunakan GitHub Actions dengan workflow co-op-translator - Menggunakan GitHub Actions dengan workflow co-op-translator
- Menerjemahkan otomatis ke 50+ bahasa - Menerjemahkan ke lebih dari 50 bahasa secara otomatis
- File sumber di direktori utama - File sumber di direktori utama
- File terjemahan di direktori `translations/{kode-bahasa}/` - File terjemahan di direktori `translations/{language-code}/`
### Menambahkan Perbaikan Terjemahan Manual ### Menambah Perbaikan Terjemahan Manual
1. Temukan file di `translations/{kode-bahasa}/` 1. Cari file di `translations/{language-code}/`
2. Lakukan perbaikan sambil mempertahankan struktur 2. Buat perbaikan sambil mempertahankan struktur
3. Pastikan contoh kode tetap berfungsi 3. Pastikan contoh kode tetap berfungsi
4. Uji konten kuis yang sudah dilokalkan 4. Uji konten kuis yang sudah diterjemahkan
### Metadata Terjemahan ### Metadata Terjemahan
File terjemahan menyertakan header metadata: File terjemahan termasuk header metadata:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -298,57 +298,57 @@ CO_OP_TRANSLATOR_METADATA:
- Hapus `node_modules` dan `package-lock.json`, jalankan `npm install` lagi - Hapus `node_modules` dan `package-lock.json`, jalankan `npm install` lagi
- Periksa konflik port (default: Vite menggunakan port 5173) - Periksa konflik port (default: Vite menggunakan port 5173)
**Server API tidak mau mulai**: **Server API tidak mulai**:
- Verifikasi versi Node.js minimal (node >=10) - Periksa versi Node.js minimal (node >=10)
- Cek apakah port sedang digunakan - Periksa apakah port sudah digunakan
- Pastikan semua dependensi terinstall dengan `npm install` - Pastikan semua dependensi terinstall dengan `npm install`
**Ekstensi browser tidak termuat**: **Ekstensi browser tidak dimuat**:
- Pastikan manifest.json diformat dengan benar - Periksa format manifest.json sudah benar
- Cek console browser untuk error - Periksa konsol browser untuk error
- Ikuti instruksi instalasi ekstensi spesifik browser - Ikuti instruksi instalasi ekstensi khusus browser
**Masalah proyek obrolan Python**: **Masalah proyek chat Python**:
- Pastikan paket OpenAI terinstall: `pip install openai` - Pastikan paket OpenAI terinstall: `pip install openai`
- Verifikasi variabel lingkungan GITHUB_TOKEN disetel - Verifikasi variabel lingkungan GITHUB_TOKEN sudah diset
- Periksa izin akses model GitHub - Cek izin akses GitHub Models
**Docsify tidak menyajikan dokumentasi**: **Docsify tidak menyajikan dokumentasi**:
- Install docsify-cli global: `npm install -g docsify-cli` - Instal docsify-cli secara global: `npm install -g docsify-cli`
- Jalankan dari root repositori - Jalankan dari direktori root repositori
- Pastikan `docs/_sidebar.md` ada - Pastikan `docs/_sidebar.md` tersedia
### Tips Lingkungan Pengembangan ### Tips Lingkungan Pengembangan
- Gunakan VS Code dengan ekstensi Live Server untuk proyek HTML - Gunakan VS Code dengan ekstensi Live Server untuk proyek HTML
- Pasang ekstensi ESLint dan Prettier untuk konsistensi format - Instal ekstensi ESLint dan Prettier untuk format konsisten
- Gunakan DevTools browser untuk debugging JavaScript - Gunakan DevTools browser untuk debugging JavaScript
- Untuk proyek Vue, pasang ekstensi Vue DevTools di browser - Untuk proyek Vue, pasang ekstensi Vue DevTools browser
### Pertimbangan Performa ### Pertimbangan Performa
- Banyaknya file terjemahan (50+ bahasa) berarti clone penuh cukup besar - Jumlah file terjemahan besar (50+ bahasa) membuat clone penuh besar
- Gunakan clone shallow jika hanya mengerjakan konten: `git clone --depth 1` - Gunakan clone shallow jika hanya bekerja dengan konten: `git clone --depth 1`
- Kecualikan terjemahan dari pencarian saat mengerjakan konten bahasa Inggris - Kecualikan terjemahan dari pencarian saat bekerja dengan konten bahasa Inggris
- Proses build mungkin lambat pada pertama kali (npm install, build Vite) - Proses build mungkin lambat pada run pertama (npm install, build Vite)
## Pertimbangan Keamanan ## Pertimbangan Keamanan
### Variabel Lingkungan ### Variabel Lingkungan
- Kunci API tidak boleh di-commit ke repositori - API key tidak boleh disimpan di repositori
- Gunakan file `.env` (sudah dalam `.gitignore`) - Gunakan file `.env` (sudah ada di `.gitignore`)
- Dokumentasikan variabel lingkungan yang dibutuhkan pada README proyek - Dokumentasikan variabel lingkungan yang diperlukan di README proyek
### Proyek Python ### Proyek Python
- Gunakan virtual environment: `python -m venv venv` - Gunakan virtual environment: `python -m venv venv`
- Jaga dependensi tetap terbarui - Jaga dependensi tetap terupdate
- Token GitHub harus memiliki izin minimal yang diperlukan - Token GitHub harus punya izin minimal yang dibutuhkan
### Akses Model GitHub ### Akses GitHub Models
- Personal Access Tokens (PAT) diperlukan untuk model GitHub - Token Akses Pribadi (PAT) diperlukan untuk GitHub Models
- Token harus disimpan sebagai variabel lingkungan - Token harus disimpan sebagai variabel lingkungan
- Jangan pernah commit token atau kredensial - Jangan pernah commit token atau kredensial
@ -356,53 +356,53 @@ CO_OP_TRANSLATOR_METADATA:
### Sasaran Audiens ### Sasaran Audiens
- Pemula lengkap dalam pengembangan web - Pemula lengkap di pengembangan web
- Pelajar dan pembelajar mandiri - Pelajar dan pembelajar mandiri
- Guru yang menggunakan kurikulum di kelas - Guru yang menggunakan kurikulum di kelas
- Konten dirancang untuk aksesibilitas dan pembangunan keterampilan bertahap - Konten dirancang untuk aksesibilitas dan peningkatan kemampuan bertahap
### Filosofi Edukasi ### Filosofi Edukasi
- Pendekatan pembelajaran berbasis proyek - Pendekatan pembelajaran berbasis proyek
- Pemeriksaan pengetahuan sering (kuis) - Pemeriksaan pengetahuan yang sering (kuis)
- Latihan coding praktis - Latihan coding langsung
- Contoh aplikasi dunia nyata - Contoh penerapan dunia nyata
- Fokus pada dasar sebelum framework - Fokus pada dasar sebelum framework
### Pemeliharaan Repositori ### Pemeliharaan Repositori
- Komunitas pembelajar dan kontributor yang aktif - Komunitas pembelajar dan kontributor yang aktif
- Pembaruan rutin pada dependensi dan konten - Pembaruan rutin pada dependensi dan konten
- Isu dan diskusi diawasi oleh maintainer - Masalah dan diskusi dipantau oleh pemelihara
- Pembaruan terjemahan otomatis melalui GitHub Actions - Update terjemahan otomatis melalui GitHub Actions
### Sumber Daya Terkait ### Sumber Daya Terkait
- [Microsoft Learn modules](https://docs.microsoft.com/learn/) - [Modul Microsoft Learn](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) - [Sumber Daya Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) direkomendasikan untuk pembelajar - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) direkomendasikan untuk pembelajar
- Kursus tambahan: Generative AI, Data Science, ML, IoT tersedia - Kursus tambahan: Generative AI, Data Science, ML, kurikulum IoT tersedia
### Bekerja dengan Proyek Spesifik ### Bekerja dengan Proyek Spesifik
Untuk instruksi detail proyek individual, lihat file README di: Untuk instruksi rinci proyek individual, lihat README di:
- `quiz-app/README.md` - aplikasi kuis Vue 3 - `quiz-app/README.md` - aplikasi kuis Vue 3
- `7-bank-project/README.md` - aplikasi perbankan dengan autentikasi - `7-bank-project/README.md` - aplikasi perbankan dengan autentikasi
- `5-browser-extension/README.md` - pengembangan ekstensi browser - `5-browser-extension/README.md` - pengembangan ekstensi browser
- `6-space-game/README.md` - pengembangan permainan canvas - `6-space-game/README.md` - pengembangan game berbasis canvas
- `9-chat-project/README.md` - proyek asisten obrolan AI - `9-chat-project/README.md` - proyek asisten chat AI
### Struktur Monorepo ### Struktur Monorepo
Walaupun bukan monorepo tradisional, repositori ini berisi beberapa proyek independen: Meski bukan monorepo tradisional, repositori ini berisi beberapa proyek independen:
- Setiap pelajaran berdiri sendiri - Setiap pelajaran bersifat mandiri
- Proyek tidak berbagi dependensi - Proyek tidak berbagi dependensi
- Kerjakan proyek individual tanpa memengaruhi yang lain - Kerjakan proyek individual tanpa memengaruhi proyek lain
- Clone seluruh repo untuk pengalaman kurikulum lengkap - Clone seluruh repo untuk pengalaman kurikulum lengkap
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**: **Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk akurasi, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini. Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk akurasi, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah. Untuk informasi yang penting, disarankan untuk menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang salah yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T16:50:07+00:00", "translation_date": "2026-04-20T16:45:17+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "ms" "language_code": "ms"
}, },

@ -2,23 +2,23 @@
## Gambaran Projek ## Gambaran Projek
Ini adalah repositori kurikulum pendidikan untuk mengajar asas pembangunan web kepada pemula. Kurikulum ini adalah kursus lengkap selama 12 minggu yang dibangunkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran amali yang merangkumi JavaScript, CSS, dan HTML. Ini adalah repositori kurikulum pendidikan untuk mengajar asas pembangunan web kepada pemula. Kurikulum ini merupakan kursus menyeluruh selama 12 minggu yang dibangunkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran praktikal yang merangkumi JavaScript, CSS, dan HTML.
### Komponen Utama ### Komponen Utama
- **Kandungan Pendidikan**: 24 pelajaran berstruktur yang disusun dalam modul berasaskan projek - **Kandungan Pendidikan**: 24 pelajaran tersusun yang dianjurkan dalam modul berasaskan projek
- **Projek Praktikal**: Terrarium, Permainan Mengetik, Sambungan Pelayar, Permainan Angkasa, Aplikasi Perbankan, Penyunting Kod, dan Pembantu Sembang AI - **Projek Praktikal**: Terrarium, Permainan Mengetik, Sambungan Pelayar, Permainan Angkasa, Aplikasi Perbankan, Penyunting Kod, dan Pembantu Chat AI
- **Kuis Interaktif**: 48 kuis dengan 3 soalan setiap satu (penilaian pra/pasca pelajaran) - **Kuis Interaktif**: 48 kuiz dengan 3 soalan setiap satu (penilaian sebelum/selepas pelajaran)
- **Sokongan Pelbagai Bahasa**: Terjemahan automatik untuk lebih 50+ bahasa melalui GitHub Actions - **Sokongan Pelbagai Bahasa**: Terjemahan automatik untuk lebih 50 bahasa melalui GitHub Actions
- **Teknologi**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (untuk projek AI) - **Teknologi**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (untuk projek AI)
### Senibina ### Seni Bina
- Repositori pendidikan dengan struktur berasaskan pelajaran - Repositori pendidikan dengan struktur berasaskan pelajaran
- Setiap folder pelajaran mengandungi README, contoh kod, dan penyelesaian - Setiap folder pelajaran mengandungi README, contoh kod, dan penyelesaian
- Projek berdikari di direktori berasingan (quiz-app, pelbagai projek pelajaran) - Projek bebas di direktori berasingan (quiz-app, pelbagai projek pelajaran)
- Sistem terjemahan menggunakan GitHub Actions (co-op-translator) - Sistem terjemahan menggunakan GitHub Actions (co-op-translator)
- Dokumentasi dihidangkan melalui Docsify dan tersedia sebagai PDF - Dokumentasi disajikan melalui Docsify dan tersedia dalam format PDF
## Perintah Persediaan ## Perintah Persediaan
@ -56,7 +56,7 @@ npm run format # Format dengan Prettier
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# Ikuti arahan muat naik pelanjutan khusus pelayar # Ikuti arahan pemuatan pelanjutan khusus pelayar
``` ```
### Projek Permainan Angkasa ### Projek Permainan Angkasa
@ -64,10 +64,10 @@ npm install
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# Buka index.html dalam pelayar atau gunakan Live Server # Buka index.html dalam pelayar atau guna Live Server
``` ```
### Projek Sembang (Backend Python) ### Projek Chat (Backend Python)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
@ -83,26 +83,26 @@ python api.py
1. **Fork repositori** ke akaun GitHub anda 1. **Fork repositori** ke akaun GitHub anda
2. **Clone fork anda** secara lokal 2. **Clone fork anda** secara lokal
3. **Buat cawangan baru** untuk perubahan anda 3. **Buat cawangan baru** untuk perubahan anda
4. Buat perubahan pada kandungan pelajaran atau contoh kod 4. Lakukan perubahan pada kandungan pelajaran atau contoh kod
5. Uji sebarang perubahan kod dalam direktori projek berkaitan 5. Uji sebarang perubahan kod dalam direktori projek berkaitan
6. Hantar pull request mengikut panduan sumbangan 6. Hantar pull request mengikut garis panduan sumbangan
### Untuk Pelajar ### Untuk Pelajar
1. Fork atau clone repositori 1. Fork atau clone repositori
2. Navigasi ke direktori pelajaran secara berurutan 2. Navigasi ke direktori pelajaran secara berurutan
3. Baca fail README untuk setiap pelajaran 3. Baca fail README untuk setiap pelajaran
4. Selesaikan kuis pra-pelajaran di https://ff-quizzes.netlify.app/web/ 4. Selesaikan kuiz pra-pelajaran di https://ff-quizzes.netlify.app/web/
5. Kerjakan contoh kod dalam folder pelajaran 5. Kerjakan contoh kod dalam folder pelajaran
6. Lengkapkan tugasan dan cabaran 6. Selesaikan tugasan dan cabaran
7. Ambil kuis pasca-pelajaran 7. Ambil kuiz pasca-pelajaran
### Pembangunan Langsung ### Pembangunan Langsung
- **Dokumentasi**: Jalankan `docsify serve` di root (port 3000) - **Dokumentasi**: Jalankan `docsify serve` di root (port 3000)
- **Aplikasi Kuis**: Jalankan `npm run dev` di direktori quiz-app - **Aplikasi Kuis**: Jalankan `npm run dev` di direktori quiz-app
- **Projek**: Gunakan sambungan Live Server VS Code untuk projek HTML - **Projek**: Gunakan sambungan VS Code Live Server untuk projek HTML
- **Projek API**: Jalankan `npm start` dalam direktori API masing-masing - **Projek API**: Jalankan `npm start` di direktori API berkaitan
## Arahan Ujian ## Arahan Ujian
@ -110,33 +110,33 @@ python api.py
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Semak untuk isu gaya kod npm run lint # Periksa isu gaya kod
npm run build # Sahkan binaan berjaya npm run build # Sahkan pembinaan berjaya
``` ```
### Ujian API Bank ### Ujian API Bank
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # Periksa masalah gaya kod npm run lint # Periksa isu gaya kod
node server.js # Sahkan pelayan bermula tanpa ralat node server.js # Sahkan pelayan bermula tanpa ralat
``` ```
### Pendekatan Ujian Umum ### Pendekatan Ujian Umum
- Ini adalah repositori pendidikan tanpa ujian automatik menyeluruh - Ini adalah repositori pendidikan tanpa ujian automatik menyeluruh
- Ujian manual memberi fokus kepada: - Ujian manual fokus pada:
- Contoh kod berjalan tanpa ralat - Contoh kod berjalan tanpa ralat
- Pautan dalam dokumentasi berfungsi dengan betul - Pautan dalam dokumentasi berfungsi dengan betul
- Projek membina dengan jayanya - Pembinaan projek selesai dengan jayanya
- Contoh mengikut amalan terbaik - Contoh mengikuti amalan terbaik
### Semakan Pra-penyerahan ### Semakan Pra-penghantaran
- Jalankan `npm run lint` di direktori dengan package.json - Jalankan `npm run lint` di direktori yang mengandungi package.json
- Sahkan pautan markdown adalah sah - Sahkan pautan markdown sah
- Uji contoh kod dalam pelayar atau Node.js - Uji contoh kod dalam pelayar atau Node.js
- Semak terjemahan mengekalkan struktur betul - Periksa terjemahan mengekalkan struktur betul
## Garis Panduan Gaya Kod ## Garis Panduan Gaya Kod
@ -144,52 +144,52 @@ node server.js # Sahkan pelayan bermula tanpa ralat
- Gunakan sintaks ES6+ moden - Gunakan sintaks ES6+ moden
- Ikuti konfigurasi ESLint standard yang disediakan dalam projek - Ikuti konfigurasi ESLint standard yang disediakan dalam projek
- Gunakan nama pembolehubah dan fungsi bermakna untuk kejelasan pendidikan - Gunakan nama pemboleh ubah dan fungsi yang bermakna untuk kejelasan pendidikan
- Tambah komen yang menerangkan konsep untuk pelajar - Tambah komen yang menerangkan konsep untuk pelajar
- Format menggunakan Prettier apabila dikonfigurasi - Format menggunakan Prettier di mana dikonfigurasi
### HTML/CSS ### HTML/CSS
- Elemen semantic HTML5 - Elemen HTML5 semantik
- Prinsip reka bentuk responsif - Prinsip reka bentuk responsif
- Konvensyen nama kelas yang jelas - Konvensyen penamaan kelas yang jelas
- Komen menerangkan teknik CSS untuk pelajar - Komen menerangkan teknik CSS untuk pelajar
### Python ### Python
- Garis panduan gaya PEP 8 - Garis panduan gaya PEP 8
- Contoh kod jelas dan pendidikan - Contoh kod yang jelas dan pendidikan
- Petunjuk jenis jika membantu pembelajaran - Petunjuk jenis di mana berguna untuk pembelajaran
### Dokumentasi Markdown ### Dokumentasi Markdown
- Hierarki tajuk yang jelas - Hirarki tajuk yang jelas
- Blok kod dengan spesifikasi bahasa - Blok kod dengan spesifikasi bahasa
- Pautan ke sumber tambahan - Pautan ke sumber tambahan
- Tangkapan skrin dan imej dalam direktori `images/` - Tangkapan skrin dan imej dalam direktori `images/`
- Teks alt untuk imej demi aksesibiliti - Teks alt untuk imej bagi kebolehcapaian
### Pengurusan Fail ### Pengurusan Fail
- Pelajaran bernombor secara berurutan (1-getting-started-lessons, 2-js-basics, dan lain-lain) - Pelajaran dinomborkan secara berurutan (1-getting-started-lessons, 2-js-basics, dll.)
- Setiap projek ada `solution/` dan biasanya `start/` atau `your-work/` direktori - Setiap projek mempunyai direktori `solution/` dan sering `start/` atau `your-work/`
- Imej disimpan dalam folder `images/` khusus pelajaran - Imej disimpan dalam folder `images/` khusus pelajaran
- Terjemahan dalam struktur `translations/{language-code}/` - Terjemahan dalam struktur `translations/{language-code}/`
## Pembinaan dan Penyebaran ## Pembinaan dan Penghantaran
### Penyebaran Aplikasi Kuis (Azure Static Web Apps) ### Penghantaran Aplikasi Kuis (Azure Static Web Apps)
quiz-app dikonfigurasi untuk penyebaran Azure Static Web Apps: quiz-app dikonfigurasi untuk penghantaran Azure Static Web Apps:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # Mewujudkan folder dist/ npm run build # Membuat folder dist/
# Melaksanakan melalui alur kerja GitHub Actions apabila push ke main # Melakukan deploy melalui workflow GitHub Actions apabila ada push ke main
``` ```
Konfigurasi Azure Static Web Apps: Konfigurasi Azure Static Web Apps:
- **Lokasi app**: `/quiz-app` - **Lokasi aplikasi**: `/quiz-app`
- **Lokasi output**: `dist` - **Lokasi output**: `dist`
- **Aliran kerja**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Aliran kerja**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
@ -197,7 +197,7 @@ Konfigurasi Azure Static Web Apps:
```bash ```bash
npm install # Pasang docsify-to-pdf npm install # Pasang docsify-to-pdf
npm run convert # Jana PDF daripada docs npm run convert # Hasilkan PDF daripada docs
``` ```
### Dokumentasi Docsify ### Dokumentasi Docsify
@ -210,29 +210,29 @@ docsify serve # Hidangkan pada localhost:3000
### Pembinaan Khusus Projek ### Pembinaan Khusus Projek
Setiap direktori projek mungkin mempunyai proses binaan sendiri: Setiap direktori projek mungkin mempunyai proses binaan sendiri:
- Projek Vue: `npm run build` menghasilkan bundel produksi - Projek Vue: `npm run build` menghasilkan bundle pengeluaran
- Projek statik: Tiada langkah binaan, hidangkan fail secara langsung - Projek statik: Tiada langkah binaan, hidangkan fail secara langsung
## Garis Panduan Pull Request ## Garis Panduan Pull Request
### Format Tajuk ### Format Tajuk
Gunakan tajuk jelas dan deskriptif yang menunjukkan kawasan perubahan: Gunakan tajuk jelas dan deskriptif yang menunjukkan bidang perubahan:
- `[Quiz-app] Tambah kuiz baru untuk pelajaran X` - `[Quiz-app] Tambah kuiz baru untuk pelajaran X`
- `[Pelajaran-3] Betulkan kesilapan ejaan dalam projek terrarium` - `[Lesson-3] Betulkan ejaan dalam projek terrarium`
- `[Terjemahan] Tambah terjemahan Sepanyol untuk pelajaran 5` - `[Translation] Tambah terjemahan Sepanyol untuk pelajaran 5`
- `[Docs] Kemas kini arahan persediaan` - `[Docs] Kemas kini arahan persediaan`
### Semakan Wajib ### Semakan Diperlukan
Sebelum menghantar PR: Sebelum menghantar PR:
1. **Kualiti Kod**: 1. **Kualiti Kod**:
- Jalankan `npm run lint` di direktori projek terlibat - Jalankan `npm run lint` di direktori projek terjejas
- Betulkan semua ralat dan amaran linting - Betulkan semua ralat dan amaran linting
2. **Pengesahan Binaan**: 2. **Pengesahan Pembinaan**:
- Jalankan `npm run build` jika berkenaan - Jalankan `npm run build` jika berkaitan
- Pastikan tiada ralat binaan - Pastikan tiada ralat binaan
3. **Pengesahan Pautan**: 3. **Pengesahan Pautan**:
@ -241,42 +241,42 @@ Sebelum menghantar PR:
4. **Semakan Kandungan**: 4. **Semakan Kandungan**:
- Semak ejaan dan tatabahasa - Semak ejaan dan tatabahasa
- Pastikan contoh kod betul dan pendidikan - Pastikan contoh kod tepat dan pendidikan
- Sahkan terjemahan mengekalkan maksud asal - Sahkan terjemahan mengekalkan maksud asal
### Keperluan Penyumbangan ### Keperluan Penyumbangan
- Setuju dengan Microsoft CLA (semakan automatik pada PR pertama) - Setuju dengan Microsoft CLA (semakan automatik pada PR pertama)
- Ikuti [Kod Etika Sumber Terbuka Microsoft](https://opensource.microsoft.com/codeofconduct/) - Ikuti [Kod Etika Sumber Terbuka Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Rujuk [CONTRIBUTING.md](./CONTRIBUTING.md) untuk panduan terperinci - Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk garis panduan terperinci
- Rujuk nombor isu dalam penerangan PR jika berkenaan - Rujuk nombor isu dalam penerangan PR jika berkenaan
### Proses Semakan ### Proses Semakan
- PR disemak oleh penyelenggara dan komuniti - PR disemak oleh penyelenggara dan komuniti
- Kejelasan pendidikan diberi keutamaan - Kejelasan pendidikan diutamakan
- Contoh kod harus mengikut amalan terbaik semasa - Contoh kod harus mengikuti amalan terbaik terkini
- Terjemahan disemak dari segi ketepatan dan kesesuaian budaya - Terjemahan disemak ketepatan dan kesesuaian budaya
## Sistem Terjemahan ## Sistem Terjemahan
### Terjemahan Automatik ### Terjemahan Automatik
- Menggunakan GitHub Actions dengan workflow co-op-translator - Menggunakan GitHub Actions dengan aliran kerja co-op-translator
- Menerjemah ke 50+ bahasa secara automatik - Menterjemah ke 50+ bahasa secara automatik
- Fail sumber dalam direktori utama - Fail sumber dalam direktori utama
- Fail terjemahan dalam `translations/{language-code}/` direktori - Fail terjemahan dalam direktori `translations/{language-code}/`
### Menambah Penambahbaikan Terjemahan Manual ### Menambah Penambahbaikan Terjemahan Manual
1. Cari fail dalam `translations/{language-code}/` 1. Cari fail dalam `translations/{language-code}/`
2. Lakukan penambahbaikan sambil mengekalkan struktur 2. Lakukan penambahbaikan sambil mengekalkan struktur
3. Pastikan contoh kod masih berfungsi 3. Pastikan contoh kod kekal berfungsi
4. Uji sebarang kandungan kuiz yang dilokalkan 4. Uji sebarang kandungan kuiz yang dialih bahasa
### Metadata Terjemahan ### Metadata Terjemahan
Fail terjemahan termasuk pengepala metadata: Fail terjemahan termasuk tajuk metadata:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## Pengesanan Masalah dan Penyelesaian Masalah ## Pengesanan dan Penyelesaian Masalah
### Isu Lazim ### Isu Biasa
**Aplikasi kuis gagal mula**: **Aplikasi kuiz gagal dimulakan**:
- Semak versi Node.js (disyorkan v14+) - Periksa versi Node.js (disyorkan v14+)
- Padam `node_modules` dan `package-lock.json`, jalankan `npm install` semula - Padamkan `node_modules` dan `package-lock.json`, jalankan `npm install` semula
- Semak konflik port (default: Vite menggunakan port 5173) - Semak konflik port (lalai: Vite guna port 5173)
**Server API tidak mula**: **Pelayan API tidak mula**:
- Sahkan versi Node.js memenuhi minimum (node >=10) - Sahkan versi Node.js memenuhi minimum (node >=10)
- Semak sama ada port sudah digunakan - Periksa jika port sudah digunakan
- Pastikan semua kebergantungan dipasang dengan `npm install` - Pastikan semua kebergantungan dipasang dengan `npm install`
**Sambungan pelayar tidak dimuatkan**: **Sambungan pelayar tidak dimuat**:
- Sahkan manifest.json diformat dengan betul - Periksa manifest.json diformat dengan betul
- Semak konsol pelayar untuk ralat - Semak konsol pelayar untuk ralat
- Ikut arahan pemasangan sambungan khusus pelayar - Ikuti arahan pemasangan sambungan khusus pelayar
**Isu projek chat Python**: **Isu projek chat Python**:
- Pastikan pakej OpenAI dipasang: `pip install openai` - Pastikan pakej OpenAI dipasang: `pip install openai`
- Sahkan pembolehubah persekitaran GITHUB_TOKEN diset - Sahkan pembolehubah persekitaran GITHUB_TOKEN diset
- Semak kebenaran akses Model GitHub - Periksa kebenaran akses GitHub Models
**Docsify tidak menghidang dokumentasi**: **Docsify tidak menyajikan dokumen**:
- Pasang docsify-cli secara global: `npm install -g docsify-cli` - Pasang docsify-cli secara global: `npm install -g docsify-cli`
- Jalankan dari direktori root repositori - Jalankan dari direktori root repositori
- Semak bahawa `docs/_sidebar.md` wujud - Semak bahawa `docs/_sidebar.md` wujud
### Petua Persekitaran Pembangunan ### Tips Persekitaran Pembangunan
- Gunakan VS Code dengan sambungan Live Server untuk projek HTML - Gunakan VS Code dengan sambungan Live Server untuk projek HTML
- Pasang sambungan ESLint dan Prettier untuk format konsisten - Pasang sambungan ESLint dan Prettier untuk format konsisten
- Gunakan DevTools pelayar untuk pengesanan JavaScript - Gunakan DevTools pelayar untuk debug JavaScript
- Untuk projek Vue, pasang sambungan Vue DevTools pelayar - Untuk projek Vue, pasang sambungan Vue DevTools pelayar
### Pertimbangan Prestasi ### Pertimbangan Prestasi
- Bilangan fail terjemahan yang banyak (50+ bahasa) bermakna klon penuh adalah besar - Bilangan fail terjemahan yang banyak (50+ bahasa) menyebabkan klon penuh besar
- Gunakan shallow clone jika hanya bekerja pada kandungan: `git clone --depth 1` - Gunakan clone cetek jika hanya bekerja dengan kandungan: `git clone --depth 1`
- Kecualikan terjemahan daripada carian apabila bekerja pada kandungan Bahasa Inggeris - Kecualikan terjemahan dari carian ketika bekerja pada kandungan Inggeris
- Proses binaan mungkin lambat pada larian pertama (npm install, binaan Vite) - Proses binaan mungkin perlahan pada kali pertama (npm install, binaan Vite)
## Pertimbangan Keselamatan ## Pertimbangan Keselamatan
### Pembolehubah Persekitaran ### Pembolehubah Persekitaran
- Kekunci API tidak harus pernah dikomit ke repositori - Kunci API tidak boleh dimuat naik ke repositori
- Gunakan fail `.env` (sudah dalam `.gitignore`) - Gunakan fail `.env` (sudah disenarai dalam `.gitignore`)
- Dokumentasikan pembolehubah persekitaran diperlukan dalam README projek - Dokumentasikan pembolehubah persekitaran yang diperlukan dalam README projek
### Projek Python ### Projek Python
- Gunakan persekitaran maya: `python -m venv venv` - Gunakan persekitaran maya: `python -m venv venv`
- Pastikan kebergantungan dikemas kini - Kemas kini kebergantungan secara berkala
- Token GitHub harus mempunyai kebenaran minimum diperlukan - Token GitHub hendaklah mempunyai kebenaran minimum diperlukan
### Akses Model GitHub ### Akses GitHub Models
- Token Akses Peribadi (PAT) diperlukan untuk Model GitHub - Token Akses Peribadi (PAT) diperlukan untuk GitHub Models
- Token harus disimpan sebagai pembolehubah persekitaran - Token disimpan sebagai pembolehubah persekitaran
- Jangan sekali-kali komit token atau kelayakan - Jangan sesekali memuat naik token atau kelayakan
## Nota Tambahan ## Nota Tambahan
### Audiens Sasaran ### Sasaran Pengguna
- Pemula lengkap dalam pembangunan web - Pemula lengkap dalam pembangunan web
- Pelajar dan pembelajar kendiri - Pelajar dan pembelajar kendiri
- Guru yang menggunakan kurikulum dalam bilik darjah - Guru yang menggunakan kurikulum dalam bilik darjah
- Kandungan direka untuk aksesibiliti dan pembinaan kemahiran secara berperingkat - Kandungan direka untuk kebolehcapaian dan pembinaan kemahiran secara berperingkat
### Falsafah Pendidikan ### Falsafah Pendidikan
- Pendekatan pembelajaran berasaskan projek - Pendekatan pembelajaran berasaskan projek
- Pemeriksaan ilmu yang kerap (kuis) - Pemeriksaan pengetahuan kerap (kuiz)
- Latihan pengkodan amali - Latihan amali pengkodan
- Contoh aplikasi dunia nyata - Contoh aplikasi dunia sebenar
- Fokus pada asas sebelum kerangka kerja - Fokus pada asas sebelum kerangka kerja
### Penyelenggaraan Repositori ### Penyelenggaraan Repositori
- Komuniti pembelajar dan penyumbang yang aktif - Komuniti pelajar dan penyumbang aktif
- Kemas kini berkala ke kebergantungan dan kandungan - Kemas kini kandungan dan kebergantungan secara berkala
- Isu dan perbincangan dipantau oleh penyelenggara - Isu dan perbincangan dipantau oleh penyelenggara
- Kemas kini terjemahan automatik melalui GitHub Actions - Kemas kini terjemahan automatik melalui GitHub Actions
### Sumber Berkaitan ### Sumber Berkaitan
- [Modul Microsoft Learn](https://docs.microsoft.com/learn/) - [Modul Microsoft Learn](https://docs.microsoft.com/learn/)
- [Sumber Student Hub](https://docs.microsoft.com/learn/student-hub/) - [Sumber Pelajar Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) disyorkan untuk pelajar - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) disyorkan untuk pelajar
- Kursus tambahan: AI Generatif, Sains Data, ML, kurikulum IoT tersedia - Kursus tambahan: AI Generatif, Sains Data, ML, kurikulum IoT tersedia
### Bekerja dengan Projek Tertentu ### Bekerja dengan Projek Tertentu
Untuk arahan terperinci mengenai projek individu, rujuk fail README dalam: Untuk arahan terperinci projek individu, rujuk fail README di:
- `quiz-app/README.md` - aplikasi kuis Vue 3 - `quiz-app/README.md` - aplikasi kuiz Vue 3
- `7-bank-project/README.md` - aplikasi perbankan dengan pengesahan - `7-bank-project/README.md` - aplikasi perbankan dengan pengesahan
- `5-browser-extension/README.md` - pembangunan sambungan pelayar - `5-browser-extension/README.md` - pembangunan sambungan pelayar
- `6-space-game/README.md` - pembangunan permainan berasaskan canvas - `6-space-game/README.md` - pembangunan permainan berasaskan canvas
- `9-chat-project/README.md` - projek pembantu sembang AI - `9-chat-project/README.md` - projek pembantu chat AI
### Struktur Monorepo ### Struktur Monorepo
Walaupun bukan monorepo tradisional, repositori ini mengandungi pelbagai projek bebas: Walaupun bukan monorepo tradisional, repositori ini mengandungi pelbagai projek bebas:
- Setiap pelajaran adalah berdikari - Setiap pelajaran berdiri sendiri
- Projek tidak berkongsi kebergantungan - Projek tidak berkongsi kebergantungan
- Bekerja pada projek individu tanpa menjejaskan projek lain - Kerja pada projek individu tanpa menjejaskan yang lain
- Klon keseluruhan repo untuk pengalaman kurikulum penuh - Clone keseluruhan repositori untuk pengalaman kurikulum penuh
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**: **Penafian**:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk ketepatan, sila diberi perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidakakuratan. Dokumen asal dalam bahasa asalnya hendaklah dianggap sebagai sumber yang sahih. Untuk maklumat kritikal, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab terhadap sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini. Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk ketepatan, sila maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab terhadap sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T16:51:17+00:00", "translation_date": "2026-04-20T16:46:27+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "tl" "language_code": "tl"
}, },

@ -2,27 +2,27 @@
## Project Overview ## Project Overview
Ito ay isang edukasyonal na repositoryo ng kurikulum para sa pagtuturo ng mga pundasyon ng web development sa mga nagsisimula. Ang kurikulum ay isang komprehensibong 12-linggong kurso na binuo ng Microsoft Cloud Advocates, na may 24 na hands-on na aralin na sumasaklaw sa JavaScript, CSS, at HTML. Ito ay isang edukasyonal na repositoryo ng kurikulum para sa pagtuturo ng mga pangunahing kaalaman sa web development sa mga nagsisimula. Ang kurikulum ay isang komprehensibong 12-linggong kurso na binuo ng Microsoft Cloud Advocates, na nagtatampok ng 24 na hands-on na aralin na sumasaklaw sa JavaScript, CSS, at HTML.
### Key Components ### Key Components
- **Nilalamang Pang-edukasyon**: 24 na istrukturadong aralin na inayos sa mga module batay sa proyekto - **Nilalaman Pang-edukasyon**: 24 na istrukturadong aralin na inayos sa mga proyekto bilang mga modulo
- **Mga Praktikal na Proyekto**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, at AI Chat Assistant - **Praktikal na Mga Proyekto**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, at AI Chat Assistant
- **Mga Interactive na Quiz**: 48 na quiz na may tig-3 tanong bawat isa (pre/post-lesson assessments) - **Interaktibong Mga Quiz**: 48 na quiz na may tig-3 tanong bawat isa (pagsusulit bago/pagkatapos ng aralin)
- **Suporta sa Maramihang Wika**: Awtomatikong pagsasalin para sa 50+ na wika gamit ang GitHub Actions - **Suporta sa Maraming Wika**: Awtomatikong pagsasalin para sa 50+ na wika gamit ang GitHub Actions
- **Mga Teknolohiya**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para sa mga AI na proyekto) - **Mga Teknolohiya**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para sa mga AI na proyekto)
### Architecture ### Architecture
- Edukasyonal na repositoryo na may lesson-based na estruktura - Edukasyonal na repositoryo na may istruktura batay sa mga aralin
- Bawat folder ng aralin ay naglalaman ng README, mga halimbawa ng code, at mga solusyon - Ang bawat folder ng aralin ay naglalaman ng README, mga halimbawa ng code, at mga solusyon
- Mga standalone na proyekto sa hiwalay na mga direktoryo (quiz-app, iba't ibang proyekto ng aralin) - Mga standalone na proyekto sa hiwalay na mga direktoryo (quiz-app, iba't ibang mga proyekto sa aralin)
- Sistema ng pagsasalin gamit ang GitHub Actions (co-op-translator) - Sistema ng pagsasalin gamit ang GitHub Actions (co-op-translator)
- Dokumentasyon na ipinapakita sa pamamagitan ng Docsify at available bilang PDF - Dokumentasyon na ibinibigay sa pamamagitan ng Docsify at available bilang PDF
## Setup Commands ## Setup Commands
Ang repositoryong ito ay pangunahing para sa pagkonsumo ng edukasyonal na nilalaman. Para sa pagtatrabaho sa mga partikular na proyekto: Ang repositoryong ito ay pangunahing para sa konsumpsyon ng edukasyonal na nilalaman. Para sa pagtatrabaho sa mga partikular na proyekto:
### Main Repository Setup ### Main Repository Setup
@ -37,7 +37,7 @@ cd Web-Dev-For-Beginners
cd quiz-app cd quiz-app
npm install npm install
npm run dev # Simulan ang development server npm run dev # Simulan ang development server
npm run build # Bumuo para sa produksyon npm run build # I-build para sa produksyon
npm run lint # Patakbuhin ang ESLint npm run lint # Patakbuhin ang ESLint
``` ```
@ -56,7 +56,7 @@ npm run format # I-format gamit ang Prettier
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# Sundin ang mga tagubilin para sa pag-load ng extension na tiyak sa browser # Sundin ang mga tagubilin sa pag-load ng extension na partikular sa browser
``` ```
### Space Game Projects ### Space Game Projects
@ -72,37 +72,37 @@ npm install
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# Itakda ang environment variable na GITHUB_TOKEN # Itakda ang GITHUB_TOKEN na variable ng kapaligiran
python api.py python api.py
``` ```
## Development Workflow ## Development Workflow
### Para sa mga Content Contributors ### Para sa mga Contributor ng Nilalaman
1. **I-fork ang repository** sa iyong GitHub account 1. **I-fork ang repositoryo** sa iyong GitHub account
2. **I-clone ang iyong fork** nang lokal 2. **I-clone ang iyong fork** nang lokal
3. **Gumawa ng bagong branch** para sa iyong mga pagbabago 3. **Gumawa ng bagong sanga** para sa iyong mga pagbabago
4. Gumawa ng mga pagbabago sa nilalaman ng aralin o mga halimbawa ng code 4. Gawin ang mga pagbabago sa nilalaman ng aralin o mga halimbawa ng code
5. Subukan ang anumang mga pagbabago sa code sa mga kaukulang direktoryo ng proyekto 5. Subukan ang anumang pagbabago sa code sa mga kaukulang direktoryo ng proyekto
6. Mag-submit ng pull request alinsunod sa mga panuntunan ng kontribusyon 6. Mag-submit ng pull requests alinsunod sa mga gabay sa kontribusyon
### Para sa mga Learners ### Para sa mga Nag-aaral
1. Mag-fork o mag-clone ng repositoryo 1. I-fork o i-clone ang repositoryo
2. Pumunta sa mga direktoryo ng aralin nang sunud-sunod 2. Mag-navigate sa mga direktoryo ng aralin sunod-sunod
3. Basahin ang mga README na file para sa bawat aralin 3. Basahin ang mga README file para sa bawat aralin
4. Kumpletuhin ang mga pre-lesson quiz sa https://ff-quizzes.netlify.app/web/ 4. Kumpletuhin ang mga pre-lesson quizzes sa https://ff-quizzes.netlify.app/web/
5. Gawing ang mga halimbawa ng code sa mga folder ng aralin 5. Trabahuhin ang mga halimbawa ng code sa mga folder ng aralin
6. Tapusin ang mga assignment at hamon 6. Kumpletuhin ang mga takdang-aralin at hamon
7. Kunin ang mga post-lesson quiz 7. Sagutan ang mga post-lesson quizzes
### Live Development ### Live Development
- **Dokumentasyon**: Patakbuhin ang `docsify serve` sa root (port 3000) - **Dokumentasyon**: Patakbuhin ang `docsify serve` sa root (port 3000)
- **Quiz App**: Patakbuhin ang `npm run dev` sa direktoryo ng quiz-app - **Quiz App**: Patakbuhin ang `npm run dev` sa folder ng quiz-app
- **Mga Proyekto**: Gamitin ang VS Code Live Server extension para sa mga HTML na proyekto - **Mga Proyekto**: Gamitin ang VS Code Live Server extension para sa mga HTML na proyekto
- **API Projects**: Patakbuhin ang `npm start` sa kaukulang mga direktoryo ng API - **API Projects**: Patakbuhin ang `npm start` sa mga kaukulang API na direktoryo
## Testing Instructions ## Testing Instructions
@ -110,71 +110,71 @@ python api.py
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Suriin ang mga isyu sa estilo ng code npm run lint # Suriin kung may mga isyu sa istilo ng kodigo
npm run build # Tiyakin na matagumpay ang build npm run build # Tiyakin na matagumpay ang pagbuo
``` ```
### Bank API Testing ### Bank API Testing
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # Suriin ang mga isyu sa istilo ng code npm run lint # Suriin ang mga isyu sa estilo ng code
node server.js # Tiyakin na nagsisimula ang server nang walang mga error node server.js # Tiyaking nagsisimula ang server nang walang mga error
``` ```
### General Testing Approach ### Pangkalahatang Paraan ng Pagsusuri
- Ito ay isang edukasyonal na repositoryo na walang kumpletong automated tests - Ito ay isang edukasyonal na repositoryo na walang komprehensibong automated tests
- Manual testing ay nakatuon sa: - Ang manual na pagsusuri ay nakatuon sa:
- Mga halimbawa ng code na tumatakbo nang walang error - Hindi nagkakaroon ng error ang mga halimbawa ng code kapag pinatakbo
- Mga link sa dokumentasyon ay gumagana nang tama - Gumagana nang maayos ang mga links sa dokumentasyon
- Proyekto ay matagumpay na na-build - Matagumpay ang pagbuo ng mga proyekto
- Mga halimbawa ay sumusunod sa pinakamahusay na kasanayan - Sumusunod ang mga halimbawa sa pinakamahusay na mga kasanayan
### Pre-submission Checks ### Mga Pre-submission Checks
- Patakbuhin ang `npm run lint` sa mga direktoryo na may package.json - Patakbuhin ang `npm run lint` sa mga direktoryong may package.json
- Siguraduhing ang mga markdown link ay valid - Tiyakin na wasto ang mga markdown links
- Subukan ang mga halimbawa ng code sa browser o Node.js - Subukan ang mga halimbawa ng code sa browser o Node.js
- Suriin na ang mga pagsasalin ay nagpapanatili ng tamang estruktura - Suriin na ang mga pagsasalin ay nananatiling maayos ang istruktura
## Code Style Guidelines ## Code Style Guidelines
### JavaScript ### JavaScript
- Gumamit ng modernong ES6+ na sintaks - Gumamit ng makabagong ES6+ na syntax
- Sundan ang standard na ESLint configurations na ibinigay sa mga proyekto - Sundin ang mga standard ESLint na konfigurasyon na ibinigay sa mga proyekto
- Gumamit ng makahulugang pangalan ng mga variable at function para sa kalinawan sa edukasyon - Gumamit ng makabuluhang mga pangalan ng variable at function para sa kalinawan sa edukasyon
- Magdagdag ng mga komento na nagpapaliwanag ng mga konsepto para sa mga nag-aaral - Magdagdag ng mga paliwanag na komentaryo tungkol sa mga konsepto para sa mga nag-aaral
- I-format gamit ang Prettier kung saan naka-configure - I-format gamit ang Prettier kung saan naka-configure
### HTML/CSS ### HTML/CSS
- Semantic na HTML5 na mga elemento - Semantic HTML5 elements
- Mga prinsipyo ng responsive design - Mga prinsipyo ng responsive design
- Malinaw na klaseng pagnenaming mga kombensiyon - Malinaw na conventions sa pagbibigay ng pangalan sa mga klase
- Mga komento na nagpapaliwanag ng mga teknik sa CSS para sa mga nag-aaral - Mga komentaryo na nagpapaliwanag ng mga teknik sa CSS para sa mga nag-aaral
### Python ### Python
- PEP 8 na mga gabay sa estilo - Mga patnubay sa estilo ayon sa PEP 8
- Malinaw, edukasyonal na mga halimbawa ng code - Malinaw, pang-edukasyonal na mga halimbawa ng code
- Mga type hint kung makakatulong sa pag-aaral - Mga type hint kung nakakatulong sa pag-aaral
### Markdown Documentation ### Markdown Documentation
- Malinaw na hierarchy ng mga heading - Malinaw na hierarchy ng mga heading
- Mga code block na may pagtukoy ng wika - Mga code block na may pagspecify ng wika
- Mga link sa karagdagang mga mapagkukunan - Mga link sa karagdagang mga mapagkukunan
- Mga screenshot at mga larawan sa `images/` na mga direktoryo - Mga screenshot at larawan sa mga `images/` na mga direktoryo
- Alt text para sa mga larawan para sa accessibility - Alt text para sa mga larawan para sa accessibility
### File Organization ### File Organization
- Mga aralin na naka-numero nang sunud-sunod (1-getting-started-lessons, 2-js-basics, atbp.) - Ang mga aralin ay may sunud-sunod na bilang (1-getting-started-lessons, 2-js-basics, atbp.)
- Bawat proyekto ay may `solution/` at madalas ay `start/` o `your-work/` na mga direktoryo - Ang bawat proyekto ay may `solution/` at madalas `start/` o `your-work/` na mga direktoryo
- Mga larawan na nakaimbak sa aralin-nakatuong mga folder na `images/` - Ang mga larawan ay naka-imbak sa mga lesson-specific na `images/` folder
- Mga pagsasalin sa `translations/{language-code}/` na istruktura - Mga pagsasalin sa istrukturang `translations/{language-code}/`
## Build and Deployment ## Build and Deployment
@ -184,11 +184,11 @@ Ang quiz-app ay naka-configure para sa Azure Static Web Apps deployment:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # Lumilikha ng folder na dist/ npm run build # Lumilikha ng dist/ folder
# Nagde-deploy gamit ang GitHub Actions workflow sa push sa main # Nagde-deploy gamit ang GitHub Actions workflow kapag may push sa main
``` ```
Azure Static Web Apps configuration: Azure Static Web Apps na konfigurasyon:
- **App location**: `/quiz-app` - **App location**: `/quiz-app`
- **Output location**: `dist` - **Output location**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
@ -207,76 +207,76 @@ npm install -g docsify-cli # I-install ang Docsify nang globally
docsify serve # I-serve sa localhost:3000 docsify serve # I-serve sa localhost:3000
``` ```
### Project-specific Builds ### Mga Build na Nakatuon sa Proyekto
Bawat direktoryo ng proyekto ay maaaring may sarili nitong proseso ng pag-build: Ang bawat direktoryo ng proyekto ay maaaring may sariling proseso ng build:
- Vue projects: `npm run build` ay lumilikha ng production bundles - Vue projects: `npm run build` na lumilikha ng mga production bundles
- Static projects: Walang build step, direktang nagseserbisyo ng mga file - Static projects: Walang build step, direktang pag-serbisyo ng mga file
## Pull Request Guidelines ## Pull Request Guidelines
### Title Format ### Format ng Pamagat
Gumamit ng malinaw, deskriptibong mga titulo na nagpapakita ng bahagi ng pagbabago: Gumamit ng malinaw, deskriptibong mga pamagat na nagpapakita ng bahagi ng pagbabago:
- `[Quiz-app] Magdagdag ng bagong quiz para sa aralin X` - `[Quiz-app] Add new quiz for lesson X`
- `[Lesson-3] Ayusin ang typo sa terrarium na proyekto` - `[Lesson-3] Fix typo in terrarium project`
- `[Translation] Magdagdag ng pagsasalin sa Spanish para sa aralin 5` - `[Translation] Add Spanish translation for lesson 5`
- `[Docs] I-update ang mga tagubilin sa setup` - `[Docs] Update setup instructions`
### Required Checks ### Mga Kinakailangang Pag-check
Bago magsumite ng PR: Bago magsumite ng PR:
1. **Kalidad ng Code**: 1. **Kalidad ng Code**:
- Patakbuhin ang `npm run lint` sa mga naapektuhang direktoryo ng proyekto - Patakbuhin ang `npm run lint` sa mga apektadong proyekto
- Ayusin lahat ng linting errors at warnings - Ayusin ang lahat ng linting error at babala
2. **Build Verification**: 2. **Pag-verify ng Build**:
- Patakbuhin ang `npm run build` kung naaangkop - Patakbuhin ang `npm run build` kung kinakailangan
- Siguraduhing walang error sa build - Siguraduhing walang error sa build
3. **Link Validation**: 3. **Pag-validate ng Link**:
- Subukan ang lahat ng markdown links - Subukan ang lahat ng markdown link
- Siguraduhing gumagana ang mga image references - Siguraduhing gumagana ang mga reference ng larawan
4. **Content Review**: 4. **Pagsusuri ng Nilalaman**:
- Proofread para sa spelling at grammar - Proofread para sa baybay at gramatika
- Siguraduhin na ang mga halimbawa ng code ay tama at edukasyonal - Siguraduhing tama at edukasyonal ang mga halimbawa ng code
- Suriin na ang mga pagsasalin ay nananatili ang orihinal na kahulugan - I-verify ang mga pagsasalin ay nananatili ang orihinal na kahulugan
### Contribution Requirements ### Mga Kinakailangan sa Kontribusyon
- Sumasang-ayon sa Microsoft CLA (awtomatikong tseke sa unang PR) - Sumang-ayon sa Microsoft CLA (automated check sa unang PR)
- Sundan ang [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Sundin ang [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Tingnan ang [CONTRIBUTING.md](./CONTRIBUTING.md) para sa detalyadong mga panuntunan - Tumingin sa [CONTRIBUTING.md](./CONTRIBUTING.md) para sa mga detalyadong gabay
- Banggitin ang mga numero ng isyu sa deskripsiyon ng PR kung naaangkop - Banggitin ang mga numero ng isyu sa paglalarawan ng PR kung angkop
### Review Process ### Proseso ng Review
- Ang mga PR ay nire-review ng mga maintainers at komunidad - Ang mga PR ay sinusuri ng mga maintainer at komunidad
- Pinapahalagahan ang kalinawan sa edukasyon - Pinapahalagahan ang kalinawan sa edukasyon
- Ang mga halimbawa ng code ay dapat sumunod sa kasalukuyang pinakamahusay na mga kasanayan - Dapat sundin ng mga halimbawa ng code ang kasalukuyang best practices
- Ang mga pagsasalin ay nire-review para sa katumpakan at angkop sa kultura - Sinusuri ang mga pagsasalin para sa katumpakan at angkop na kultura
## Translation System ## Translation System
### Automated Translation ### Automated Translation
- Gumagamit ng GitHub Actions sa co-op-translator workflow - Gumagamit ng GitHub Actions na may co-op-translator workflow
- Awtomatikong nagsasalin sa 50+ na mga wika - Nagsasalin sa 50+ na wika nang awtomatiko
- Source files ay nasa main directories - Mga source file sa mga pangunahing direktoryo
- Mga isinaling file ay nasa `translations/{language-code}/` na mga direktoryo - Mga naisaling file sa `translations/{language-code}/` na mga direktoryo
### Adding Manual Translation Improvements ### Pagdaragdag ng Manual na Pagpapabuti sa Pagsasalin
1. Hanapin ang file sa `translations/{language-code}/` 1. Hanapin ang file sa `translations/{language-code}/`
2. Gumawa ng mga pagpapabuti habang pinapanatili ang estruktura 2. Gawin ang mga pagpapabuti nang pinananatili ang istruktura
3. Siguraduhin na ang mga halimbawa ng code ay nananatiling gumagana 3. Siguraduhing nananatiling gumagana ang mga halimbawa ng code
4. Subukan ang anumang lokal na nilalaman ng quiz 4. Subukan ang anumang lokal na nilalamang quiz
### Translation Metadata ### Metadata ng Pagsasalin
Ang mga isinaling file ay may kasama na metadata header: Ang mga naisaling file ay may kasamang metadata header:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -291,118 +291,118 @@ CO_OP_TRANSLATOR_METADATA:
## Debugging and Troubleshooting ## Debugging and Troubleshooting
### Common Issues ### Mga Karaniwang Isyu
**Quiz app ay hindi nagsisimula**: **Hindi nagsisimula ang quiz app**:
- Suriin ang Node.js na bersyon (v14+ ang inirerekomenda) - Suriin ang bersyon ng Node.js (inirekomenda v14+)
- Tanggalin ang `node_modules` at `package-lock.json`, patakbuhin muli ang `npm install` - Burahin ang `node_modules` at `package-lock.json`, patakbuhin muli ang `npm install`
- Suriin ang mga port conflicts (default: Vite gumagamit ng port 5173) - Suriin kung may conflict sa port (default: Vite gumagamit ng port 5173)
**API server ay hindi nagsisimula**: **Hindi nagsisimula ang API server**:
- Siguraduhin ang Node.js na bersyon ay naaabot ang minimum (node >=10) - Tiyakin ang bersyon ng Node.js ay sapat (node >=10)
- Suriin kung ang port ay ginagamit na - Suriin kung ginagamit na ng iba ang port
- Siguraduhin lahat ng dependencies ay na-install gamit ang `npm install` - Siguraduhing naka-install lahat ng dependencies gamit ang `npm install`
**Browser extension ay hindi naglo-load**: **Hindi naglo-load ang browser extension**:
- Siguraduhin ang manifest.json ay tama ang format - Siguraduhing tama ang format ng manifest.json
- Suriin ang browser console para sa mga error - Tingnan ang browser console para sa mga error
- Sundin ang mga tagubilin sa pag-install ng extension na nakabatay sa browser - Sundin ang mga instruksyon sa pag-install ng extension para sa partikular na browser
**Mga isyu sa Python chat project**: **Mga isyu sa Python chat project**:
- Siguraduhin na naka-install ang OpenAI package: `pip install openai` - Siguraduhing naka-install ang OpenAI package: `pip install openai`
- Siguraduhin ang environment variable na GITHUB_TOKEN ay nakaset - Tiyakin na nakaset ang GITHUB_TOKEN environment variable
- Suriin ang mga permiso sa GitHub Models access - Suriin ang mga permiso sa access ng GitHub Models
**Docsify ay hindi nagseserbisyo ng docs**: **Hindi nagseserbisyo ang Docsify ng docs**:
- I-install ang docsify-cli globally: `npm install -g docsify-cli` - I-install ang docsify-cli globally: `npm install -g docsify-cli`
- Patakbuhin mula sa root directory ng repositoryo - Patakbuhin mula sa root directory ng repositoryo
- Siguraduhing ang `docs/_sidebar.md` ay naroon - Siguraduhing may `docs/_sidebar.md`
### Development Environment Tips ### Mga Tip para sa Development Environment
- Gamitin ang VS Code na may Live Server extension para sa mga HTML na proyekto - Gumamit ng VS Code kasama ang Live Server extension para sa mga HTML na proyekto
- Mag-install ng ESLint at Prettier extensions para sa konsistenteng pag-format - Mag-install ng ESLint at Prettier extensions para sa konsistenteng pag-format
- Gamitin ang browser DevTools para sa debugging ng JavaScript - Gamitin ang browser DevTools para i-debug ang JavaScript
- Para sa Vue projects, mag-install ng Vue DevTools browser extension - Para sa mga Vue na proyekto, mag-install ng Vue DevTools browser extension
### Performance Considerations ### Mga Pagsasaalang-alang sa Performance
- Maraming bilang ng mga isinaling file (50+ wika) kaya malaki ang buong clone - Malaki ang bilang ng naisaling mga file (50+ na wika) kaya malaki ang buong clone
- Gumamit ng shallow clone kung content lang ang oobrahon: `git clone --depth 1` - Gumamit ng shallow clone kung nilalaman lang ang kanilang tinatrabaho: `git clone --depth 1`
- I-exclude ang mga pagsasalin sa paghahanap kapag nagtatrabaho sa English na nilalaman - I-exclude ang mga pagsasalin sa mga paghahanap kapag nagtatrabaho sa English na nilalaman
- Ang mga build process ay maaaring mabagal sa unang takbo (npm install, Vite build) - Maaaring mabagal ang build processes sa unang takbo (npm install, Vite build)
## Security Considerations ## Security Considerations
### Environment Variables ### Mga Environment Variable
- Ang mga API key ay hindi dapat i-commit sa repositoryo - Huwag kailanman i-commit ang API keys sa repositoryo
- Gumamit ng `.env` files (naka-include na sa `.gitignore`) - Gumamit ng `.env` files (nasa `.gitignore` na)
- I-dokumento ang kinakailangang environment variables sa mga README ng proyekto - I-dokumento ang kinakailangang environment variables sa mga README ng proyekto
### Python Projects ### Python Projects
- Gumamit ng virtual environments: `python -m venv venv` - Gumamit ng virtual environments: `python -m venv venv`
- Panatilihing updated ang mga dependencies - Panatilihing updated ang mga dependencies
- Ang mga GitHub tokens ay dapat may minimal na mga kinakailangang permiso - Dapat may minimal na permiso lamang ang mga GitHub token
### GitHub Models Access ### GitHub Models Access
- Kailangan ng Personal Access Tokens (PAT) para sa GitHub Models - Kinakailangan ang Personal Access Tokens (PAT) para sa GitHub Models
- Itago ang tokens bilang mga environment variables - Itago ang mga token bilang environment variables
- Huwag i-commit ang mga tokens o credentials - Huwag kailanman i-commit ang mga token o kredensyal
## Additional Notes ## Additional Notes
### Target Audience ### Target Audience
- Ganap na mga nagsisimula sa web development - Mga ganap na nagsisimula sa web development
- Mga estudyante at mga self-learners - Mga estudyante at self-learners
- Mga guro na gumagamit ng kurikulum sa mga silid-aralan - Mga guro na gumagamit ng kurikulum sa mga silid-aralan
- Nilalaman ay idinisenyo para sa accessibility at unti-unting pagbuo ng kasanayan - Ang nilalaman ay dinisenyo para sa accessibility at unti-unting pagbuo ng kakayahan
### Educational Philosophy ### Educational Philosophy
- Paraan ng pag-aaral na nakabatay sa proyekto - Pagsasanay sa pag-aaral batay sa proyekto
- Madalas na pagsusuri ng kaalaman (quizzes) - Madalas na pagsusuri sa kaalaman (mga quiz)
- Hands-on na mga ehersisyo sa pagko-code - Hands-on na coding exercises
- Mga halimbawa ng aplikasyon sa totoong mundo - Mga halimbawa ng aplikasyon sa tunay na mundo
- Pokus sa mga pundasyon bago ang mga framework - Pagtuon sa mga pundasyon bago ang mga framework
### Repository Maintenance ### Repository Maintenance
- Aktibong komunidad ng mga nag-aaral at mga contributor - Aktibong komunidad ng mga nag-aaral at contributor
- Regular na pag-update sa dependencies at nilalaman - Regular na pag-update ng dependencies at nilalaman
- Mga isyu at diskusyon ay minomonitor ng mga maintainers - Sina-subsaybayan ang mga isyu at talakayan ng mga maintainer
- Ang mga update sa pagsasalin ay awtomatiko gamit ang GitHub Actions - Awtomatikong pag-update ng pagsasalin gamit ang GitHub Actions
### Related Resources ### Related Resources
- [Microsoft Learn modules](https://docs.microsoft.com/learn/) - [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) - [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- Inirerekomenda ang [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) para sa mga nag-aaral - Inirerekomenda ang [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) para sa mga nag-aaral
- Mga karagdagang kurso: Generative AI, Data Science, ML, IoT curricula ay available - Karagdagang mga kurso: Generative AI, Data Science, ML, IoT curricula ang available
### Working with Specific Projects ### Pagtatrabaho sa Partikular na Mga Proyekto
Para sa detalyadong mga tagubilin sa mga indibidwal na proyekto, sumangguni sa README files sa: Para sa detalyadong mga instruksyon sa mga indibidwal na proyekto, tingnan ang mga README file sa:
- `quiz-app/README.md` - Vue 3 quiz application - `quiz-app/README.md` - Vue 3 quiz application
- `7-bank-project/README.md` - Banking application na may authentication - `7-bank-project/README.md` - Banking application na may authentication
- `5-browser-extension/README.md` - Pag-develop ng browser extension - `5-browser-extension/README.md` - Pag-develop ng browser extension
- `6-space-game/README.md` - Canvas-based na pag-develop ng laro - `6-space-game/README.md` - Pag-develop ng game gamit ang canvas
- `9-chat-project/README.md` - AI chat assistant na proyekto - `9-chat-project/README.md` - AI chat assistant project
### Monorepo Structure ### Monorepo Structure
Bagaman hindi isang tradisyunal na monorepo, ang repositoryong ito ay naglalaman ng maraming independyenteng proyekto: Bagamat hindi tradisyunal na monorepo, ang repositoryong ito ay naglalaman ng maraming independiyenteng proyekto:
- Bawat aralin ay self-contained - Ang bawat aralin ay nakahiwalay
- Ang mga proyekto ay hindi nagbabahagi ng mga dependencies - Hindi nagbabahagi ng dependencies ang mga proyekto
- Magtrabaho sa mga indibidwal na proyekto nang hindi naaapektuhan ang iba - Puwedeng magtrabaho sa bawat proyekto nang hindi naaapektuhan ang iba
- I-clone ang buong repo para sa buong karanasan ng kurikulum - I-clone ang buong repo para sa buong karanasan ng kurikulum
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Pagsasanggalang**: **Paunawa**:
Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Habang nagsusumikap kami para sa katumpakan, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga error o kamalian. Ang orihinal na dokumento sa katutubong wika nito ang dapat ituring na opisyal na sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaintindihan o maling interpretasyon na nagmula sa paggamit ng pagsasaling ito. Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagaman nagsusumikap kami para sa katuparan, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na pangunahing sanggunian. Para sa mga mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot para sa anumang hindi pagkakaunawaan o maling interpretasyon na nagmumula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save