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

pull/1690/head
localizeflow[bot] 3 months ago
parent 891a2f0f27
commit 386ac6105f

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T09:34:53+00:00",
"translation_date": "2026-02-06T11:46:38+00:00",
"source_file": "AGENTS.md",
"language_code": "ms"
},

@ -2,23 +2,23 @@
## Gambaran Projek
Ini adalah repositori kurikulum pendidikan untuk mengajar asas pembangunan web kepada pemula. Kurikulum ini adalah kursus selama 12 minggu yang komprehensif dibangunkan oleh Microsoft Cloud Advocates, yang menampilkan 24 pelajaran praktikal yang merangkumi JavaScript, CSS, dan HTML.
Ini adalah repositori kurikulum pendidikan untuk mengajar asas pembangunan web kepada pemula. Kurikulum ini adalah kursus komprehensif selama 12 minggu yang dibangunkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran praktikal yang merangkumi JavaScript, CSS, dan HTML.
### Komponen Utama
- **Kandungan Pendidikan**: 24 pelajaran tersusun di dalam modul berasaskan projek
- **Projek Praktikal**: Terrarium, Permainan Mengetik, Pelanjutan Pelayar, Permainan Angkasa, Aplikasi Perbankan, Penyunting Kod, dan Pembantu Sembang AI
- **Kuiz Interaktif**: 48 kuiz dengan 3 soalan setiap satu (penilaian sebelum/selepas pelajaran)
- **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)
- **Kandungan Pendidikan**: 24 pelajaran berstruktur yang disusun dalam modul berasaskan projek
- **Projek Praktikal**: Terrarium, Permainan Mengetik, Sambungan Pelayar, Permainan Angkasa, Aplikasi Perbankan, Penyunting Kod, dan Pembantu Sembang AI
- **Kuiz Interaktif**: 48 kuiz dengan 3 soalan setiap satu (penilaian sebelum/selepas pelajaran)
- **Sokongan Pelbagai Bahasa**: Terjemahan automatik ke 50+ bahasa melalui GitHub Actions
- **Teknologi**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (untuk projek AI)
### Seni Bina
### Senibina
- Repositori pendidikan dengan struktur berasaskan pelajaran
- Setiap folder pelajaran mengandungi README, contoh kod, dan penyelesaian
- Projek berdiri sendiri dalam direktori berasingan (quiz-app, pelbagai projek pelajaran)
- Sistem terjemahan menggunakan GitHub Actions (co-op-translator)
- Dokumentasi disediakan melalui Docsify dan tersedia sebagai PDF
- Repositori pendidikan dengan struktur berasaskan pelajaran
- Setiap folder pelajaran mengandungi README, contoh kod, dan penyelesaian
- Projek berdiri sendiri dalam direktori berasingan (quiz-app, pelbagai projek pelajaran)
- Sistem terjemahan menggunakan GitHub Actions (co-op-translator)
- Dokumentasi disediakan melalui Docsify dan tersedia sebagai PDF
## Perintah Persediaan
@ -36,7 +36,7 @@ cd Web-Dev-For-Beginners
```bash
cd quiz-app
npm install
npm run dev # Mula pelayan pembangunan
npm run dev # Mulakan pelayan pembangunan
npm run build # Bina untuk pengeluaran
npm run lint # Jalankan ESLint
```
@ -46,17 +46,17 @@ npm run lint # Jalankan ESLint
```bash
cd 7-bank-project/api
npm install
npm start # Mulakan pelayan API
npm start # Mula pelayan API
npm run lint # Jalankan ESLint
npm run format # Format dengan Prettier
```
### Projek Pelanjutan Pelayar
### Projek Sambungan Pelayar
```bash
cd 5-browser-extension/solution
npm install
# Ikuti arahan memuatkan pelanjutan khusus pelayar
# Ikuti arahan pemuatan pelanjutan khusus pelayar
```
### Projek Permainan Angkasa
@ -67,7 +67,7 @@ npm install
# Buka index.html dalam pelayar atau gunakan Live Server
```
### Projek Sembang (Python Backend)
### Projek Sembang (Backend Python)
```bash
cd 9-chat-project/solution/backend/python
@ -80,29 +80,29 @@ python api.py
### Untuk Penyumbang Kandungan
1. **Fok repositori** ke akaun GitHub anda
2. **Klon fork anda** secara tempatan
3. **Cipta cawangan baru** untuk perubahan anda
4. Buat perubahan pada kandungan pelajaran atau contoh kod
5. Uji sebarang perubahan kod dalam direktori projek yang berkaitan
6. Serahkan pull request mengikut garis panduan sumbangan
1. **Fork repositori** ke akaun GitHub anda
2. **Clone fork anda** secara tempatan
3. **Buat cawangan baru** untuk perubahan anda
4. Buat perubahan pada kandungan pelajaran atau contoh kod
5. Uji sebarang perubahan kod dalam direktori projek yang relevan
6. Hantar pull request mengikut garis panduan penyumbangan
### Untuk Pelajar
1. Fok atau klon repositori
2. Navigasi ke direktori pelajaran secara berurutan
3. Baca fail README untuk setiap pelajaran
4. Lengkapkan kuiz sebelum pelajaran di https://ff-quizzes.netlify.app/web/
5. Gunakan contoh kod dalam folder pelajaran
6. Sempurnakan tugasan dan cabaran
7. Ambil kuiz selepas pelajaran
1. Fork atau clone repositori
2. Navigasi ke direktori pelajaran secara berurutan
3. Baca fail README untuk setiap pelajaran
4. Lengkapkan kuiz sebelum pelajaran di https://ff-quizzes.netlify.app/web/
5. Kerjakan contoh kod dalam folder pelajaran
6. Selesaikan tugasan dan cabaran
7. Ambil kuiz selepas pelajaran
### Pembangunan Secara Langsung
### Pembangunan Langsung
- **Dokumentasi**: Jalankan `docsify serve` di root (port 3000)
- **Aplikasi Kuiz**: Jalankan `npm run dev` dalam direktori quiz-app
- **Projek**: Gunakan sambungan VS Code Live Server untuk projek HTML
- **Projek API**: Jalankan `npm start` dalam direktori API yang berkaitan
- **Dokumentasi**: Jalankan `docsify serve` di akar (port 3000)
- **Aplikasi Kuiz**: Jalankan `npm run dev` di direktori quiz-app
- **Projek**: Gunakan peluasan VS Code Live Server untuk projek HTML
- **Projek API**: Jalankan `npm start` di direktori API masing-masing
## Arahan Ujian
@ -118,86 +118,86 @@ npm run build # Sahkan pembinaan berjaya
```bash
cd 7-bank-project/api
npm run lint # Periksa untuk isu gaya kod
npm run lint # Semak masalah gaya kod
node server.js # Sahkan pelayan bermula tanpa ralat
```
### Pendekatan Ujian Umum
- Ini adalah repositori pendidikan tanpa ujian automatik yang menyeluruh
- Ujian manual memberi tumpuan kepada:
- Contoh kod berjalan tanpa ralat
- Pautan dalam dokumentasi berfungsi dengan betul
- Projek dibina dengan jayanya
- Contoh mengikut amalan terbaik
- Ini adalah repositori pendidikan tanpa ujian automatik menyeluruh
- Ujian manual fokus pada:
- Contoh kod boleh dijalankan tanpa ralat
- Pautan dalam dokumentasi berfungsi dengan betul
- Pembinaan projek selesai dengan jayanya
- Contoh mengikuti amalan terbaik
### Semakan Sebelum Penyerahan
### Semakan Sebelum Hantar
- Jalankan `npm run lint` dalam direktori yang mempunyai package.json
- Sahkan pautan markdown adalah sah
- Uji contoh kod dalam pelayar atau Node.js
- Semak bahawa terjemahan mengekalkan struktur yang betul
- Jalankan `npm run lint` dalam direktori yang mempunyai package.json
- Sahkan pautan markdown sah
- Uji contoh kod dalam pelayar atau Node.js
- Pastikan terjemahan mengekalkan struktur yang betul
## Garis Panduan Gaya Kod
### JavaScript
- Gunakan sintaks ES6+ terkini
- Ikut konfigurasi ESLint standard yang disediakan dalam projek
- Gunakan nama pembolehubah dan fungsi yang bermakna untuk kejelasan pendidikan
- Tambah komen yang menerangkan konsep untuk pelajar
- Format menggunakan Prettier jika dikonfigurasikan
- Gunakan sintaksis ES6+ moden
- Ikuti konfigurasi ESLint piawai yang disediakan dalam projek
- Gunakan nama pemboleh ubah dan fungsi yang bermakna untuk kejelasan pendidikan
- Tambah komen yang menerangkan konsep untuk pelajar
- Format menggunakan Prettier di mana dikonfigurasi
### HTML/CSS
- Elemen HTML5 semantik
- Prinsip reka bentuk responsif
- Konvensyen penamaan kelas yang jelas
- Komen yang menerangkan teknik CSS untuk pelajar
- Elemen HTML5 semantik
- Prinsip reka bentuk responsif
- Konvensyen penamaan kelas yang jelas
- Komen menerangkan teknik CSS untuk pelajar
### Python
- Garis panduan gaya PEP 8
- Contoh kod yang jelas dan pendidikan
- Petunjuk jenis jika membantu pembelajaran
- Garis panduan gaya PEP 8
- Contoh kod jelas dan edukatif
- Petunjuk jenis di mana berguna untuk pembelajaran
### Dokumentasi Markdown
- Hierarki tajuk yang jelas
- Blok kod dengan spesifikasi bahasa
- Pautan ke sumber tambahan
- Tangkapan skrin dan imej dalam direktori `images/`
- Teks alt untuk imej untuk aksesibilitas
- Hierarki tajuk yang jelas
- Blok kod dengan spesifikasi bahasa
- Pautan ke sumber tambahan
- Tangkapan skrin dan imej dalam direktori `images/`
- Teks alt untuk imej bagi aksesibiliti
### Pengorganisasian Fail
### Organisasi Fail
- Pelajaran bernombor secara berurutan (1-getting-started-lessons, 2-js-basics, dll.)
- Setiap projek mempunyai direktori `solution/` dan sering `start/` atau `your-work/`
- Imej disimpan dalam folder `images/` khusus pelajaran
- Terjemahan dalam struktur `translations/{language-code}/`
- Pelajaran dinamakan mengikut nombor secara berurutan (1-getting-started-lessons, 2-js-basics, dll.)
- Setiap projek mempunyai direktori `solution/` dan sering `start/` atau `your-work/`
- Imej disimpan dalam folder `images/` khusus pelajaran
- Terjemahan dalam struktur `translations/{language-code}/`
## Pembinaan dan Penyebaran
## Pembinaan dan Penghantaran
### Penyebaran Aplikasi Kuiz (Azure Static Web Apps)
### Penghantaran Aplikasi Kuiz (Azure Static Web Apps)
Aplikasi kuiz dikonfigurasikan untuk penyebaran Azure Static Web Apps:
Aplikasi quiz-app dikonfigurasi untuk penghantaran Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Mencipta folder dist/
# Melaksanakan melalui aliran kerja GitHub Actions apabila melakukan push ke main
npm run build # Membuat folder dist/
# Mengedar melalui aliran kerja GitHub Actions pada tolak ke main
```
Konfigurasi Azure Static Web Apps:
- **Lokasi aplikasi**: `/quiz-app`
- **Lokasi output**: `dist`
- **Aliran kerja**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Konfigurasi Azure Static Web Apps:
- **Lokasi app**: `/quiz-app`
- **Lokasi output**: `dist`
- **Aliran kerja**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Penjanaan PDF Dokumentasi
```bash
npm install # Pasang docsify-to-pdf
npm run convert # Hasilkan PDF daripada docs
npm run convert # Jana PDF dari docs
```
### Dokumentasi Docsify
@ -207,76 +207,76 @@ npm install -g docsify-cli # Pasang Docsify secara global
docsify serve # Hidangkan pada localhost:3000
```
### Pembinaan Khusus Projek
### Pembinaan Spesifik Projek
Setiap direktori projek mungkin mempunyai proses binaan sendiri:
- Projek Vue: `npm run build` menghasilkan bundle produksi
- Projek statik: Tiada langkah binaan, hidangkan fail secara langsung
Setiap direktori projek mungkin mempunyai proses pembinaan sendiri:
- Projek Vue: `npm run build` untuk menghasilkan bundel produksi
- Projek statik: Tiada langkah binaan, layani fail terus
## Garis Panduan Pull Request
### Format Tajuk
Gunakan tajuk yang jelas dan deskriptif yang menunjukkan bidang perubahan:
- `[Quiz-app] Tambah kuiz baru untuk pelajaran X`
- `[Lesson-3] Betulkan kesilapan taip dalam projek terrarium`
- `[Translation] Tambah terjemahan Sepanyol untuk pelajaran 5`
- `[Docs] Kemas kini arahan persediaan`
Gunakan tajuk yang jelas dan deskriptif menunjukkan kawasan perubahan:
- `[Quiz-app] Tambah kuiz baru untuk pelajaran X`
- `[Lesson-3] Betulkan kesalahan taip dalam projek terrarium`
- `[Translation] Tambah terjemahan Sepanyol untuk pelajaran 5`
- `[Docs] Kemas kini arahan persediaan`
### Semakan Diperlukan
### Semakan Wajib
Sebelum menghantar PR:
1. **Kualiti Kod**:
- Jalankan `npm run lint` dalam direktori projek yang terjejas
- Betulkan semua ralat dan amaran linting
1. **Kualiti Kod**:
- Jalankan `npm run lint` dalam direktori projek yang terjejas
- Betulkan semua ralat dan amaran lint
2. **Pengesahan Binaan**:
- Jalankan `npm run build` jika berkenaan
- Pastikan tiada ralat binaan
2. **Pengesahan Binaan**:
- Jalankan `npm run build` jika berkenaan
- Pastikan tiada ralat binaan
3. **Pengesahan Pautan**:
- Uji semua pautan markdown
- Sahkan rujukan imej berfungsi
3. **Pengesahan Pautan**:
- Uji semua pautan markdown
- Sahkan rujukan imej berfungsi
4. **Semakan Kandungan**:
- Semak ejaan dan tatabahasa
- Pastikan contoh kod betul dan pendidikan
- Sahkan terjemahan mengekalkan makna asal
4. **Semakan Kandungan**:
- Semak ejaan dan tatabahasa
- Pastikan contoh kod betul dan mudah difahami
- Sahkan terjemahan mengekalkan maksud asal
### Keperluan Penyumbangan
### Keperluan Sumbangan
- Setuju dengan Microsoft CLA (semakan automatik pada PR pertama)
- Mengikuti [Kod Etika Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/)
- Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk garis panduan terperinci
- Rujuk nombor isu dalam deskripsi PR jika berkenaan
- Setuju dengan Microsoft CLA (semakan automatik pada PR pertama)
- Ikuti [Kod Etika Sumber Terbuka Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk garis panduan terperinci
- Rujuk nombor isu dalam keterangan PR jika berkenaan
### Proses Semakan
- PR disemak oleh penyelenggara dan komuniti
- Kejelasan pendidikan diprioritikan
- Contoh kod harus mengikut amalan terbaik terkini
- Terjemahan disemak untuk ketepatan dan kesesuaian budaya
- PR disemak oleh penyelenggara dan komuniti
- Kejelasan pendidikan diutamakan
- Contoh kod harus mengikut amalan terbaik terkini
- Terjemahan disemak untuk ketepatan dan keaslian budaya
## Sistem Terjemahan
### Terjemahan Automatik
- Menggunakan GitHub Actions dengan aliran kerja co-op-translator
- Menerjemah ke lebih 50 bahasa secara automatik
- Fail sumber dalam direktori utama
- Fail terjemahan dalam direktori `translations/{language-code}/`
- Menggunakan GitHub Actions dengan aliran kerja co-op-translator
- Menterjemah ke 50+ bahasa secara automatik
- Fail sumber di direktori utama
- Fail terjemahan dalam direktori `translations/{language-code}/`
### Menambah Penambahbaikan Terjemahan Manual
1. Cari fail dalam `translations/{language-code}/`
2. Lakukan penambahbaikan sambil mengekalkan struktur
3. Pastikan contoh kod kekal berfungsi
4. Uji sebarang kandungan kuiz yang dilokalkan
1. Cari fail di `translations/{language-code}/`
2. Buat penambahbaikan sambil mengekalkan struktur
3. Pastikan contoh kod kekal berfungsi
4. Uji sebarang kandungan kuiz yang dilokalkan
### Metadata Terjemahan
Fail terjemahan termasuk header metadata:
Fail terjemahan termasuk pengepala metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Penjejakan Ralat dan Penyelesaian Masalah
## Penyahpepijatan dan Penyelesaian Masalah
### Isu Biasa
### Isu Lazim
**Aplikasi kuiz gagal mula**:
- Semak versi Node.js (v14+ disyorkan)
- Padam `node_modules` dan `package-lock.json`, jalankan `npm install` semula
- Semak pertindihan port (lalai: Vite guna port 5173)
**Aplikasi kuiz gagal mula**:
- Semak versi Node.js (disyorkan v14+)
- Padam `node_modules` dan `package-lock.json`, jalankan `npm install` semula
- Semak konflik port (default: Vite guna port 5173)
**Server API tidak mula**:
- Sahkan versi Node.js memenuhi minimum (node >=10)
- Semak jika port sudah digunakan
- Pastikan semua kebergantungan dipasang dengan `npm install`
**Server API tidak bermula**:
- Sahkan versi Node.js memenuhi minimum (node >=10)
- Semak sama ada port sudah digunakan
- Pastikan semua pergantungan dipasang dengan `npm install`
**Pelanjutan pelayar tidak dimuat**:
- Sahkan manifest.json diformat dengan betul
- Semak konsol pelayar untuk ralat
- Ikut arahan pemasangan pelanjutan khusus pelayar
**Sambungan pelayar tidak dimuatkan**:
- Sahkan format manifest.json betul
- Semak konsol pelayar untuk ralat
- Ikuti arahan pemasangan sambungan khusus pelayar
**Isu projek sembang Python**:
- Pastikan pakej OpenAI dipasang: `pip install openai`
- Sahkan pembolehubah alam sekitar GITHUB_TOKEN ditetapkan
- Semak kebenaran akses GitHub Models
**Isu projek sembang Python**:
- Pastikan pakej OpenAI dipasang: `pip install openai`
- Sahkan pembolehubah persekitaran GITHUB_TOKEN diset
- Semak kebenaran akses GitHub Models
**Docsify tidak menyediakan dokumen**:
- Pasang docsify-cli secara global: `npm install -g docsify-cli`
- Jalankan dari direktori root repositori
- Semak bahawa `docs/_sidebar.md` wujud
**Docsify tidak menyajikan dokumentasi**:
- Pasang docsify-cli secara global: `npm install -g docsify-cli`
- Jalankan dari direktori akar repositori
- Semak kewujudan `docs/_sidebar.md`
### Tips Persekitaran Pembangunan
### Petua Persekitaran Pembangunan
- Gunakan VS Code dengan sambungan Live Server untuk projek HTML
- Pasang sambungan ESLint dan Prettier untuk format konsisten
- Gunakan DevTools pelayar untuk debug JavaScript
- Untuk projek Vue, pasang sambungan Vue DevTools pelayar
- Gunakan VS Code dengan peluasan Live Server untuk projek HTML
- Pasang peluasan ESLint dan Prettier untuk format konsisten
- Gunakan DevTools pelayar untuk debug JavaScript
- Untuk projek Vue, pasang peluasan Vue DevTools pelayar
### Pertimbangan Prestasi
- Bilangan fail terjemahan yang banyak (50+ bahasa) bermakna klon penuh besar
- Gunakan shallow clone jika hanya kerja kandungan: `git clone --depth 1`
- Kecualikan terjemahan dari carian apabila kerja kandungan Bahasa Inggeris
- Proses binaan mungkin perlahan pada kali pertama (npm install, binaan Vite)
- Bilangan fail terjemahan yang besar (50+ bahasa) menyebabkan clone penuh besar
- Gunakan clone cetek jika hanya bekerja pada kandungan: `git clone --depth 1`
- Kecualikan terjemahan daripada carian apabila bekerja pada kandungan Bahasa Inggeris
- Proses binaan mungkin perlahan pada kali pertama (npm install, binaan Vite)
## Pertimbangan Keselamatan
### Pembolehubah Alam Sekitar
### Pembolehubah Persekitaran
- Kunci API tidak harus dimasukkan dalam repositori
- Gunakan fail `.env` (sudah disenaraikan dalam `.gitignore`)
- Dokumentasikan pembolehubah alam sekitar diperlukan dalam README projek
- Kunci API tidak pernah harus dimasukkan ke repositori
- Gunakan fail `.env` (sudah disenaraikan dalam `.gitignore`)
- Dokumentasikan pembolehubah persekitaran yang diperlukan dalam README projek
### Projek Python
- Gunakan persekitaran maya: `python -m venv venv`
- Kekalkan kebergantungan terkini
- Token GitHub harus mempunyai kebenaran minimum yang diperlukan
- Gunakan persekitaran maya: `python -m venv venv`
- Kemas kini pergantungan secara berkala
- Token GitHub harus mempunyai kebenaran minimum yang diperlukan
### Akses GitHub Models
- Personal Access Tokens (PAT) diperlukan untuk GitHub Models
- Token harus disimpan sebagai pembolehubah alam sekitar
- Jangan sekali-kali commit token atau kelayakan
- Token Akses Peribadi (PAT) diperlukan untuk GitHub Models
- Token harus disimpan sebagai pembolehubah persekitaran
- Jangan sekali-kali komit token atau kelayakan
## Nota Tambahan
### Sasaran Audiens
- Pemula sepenuhnya kepada pembangunan web
- Pelajar dan pembelajar sendiri
- Guru menggunakan kurikulum dalam bilik darjah
- Kandungan direka untuk aksesibilitas dan pembangunan kemahiran secara berperingkat
- Pemula lengkap dalam pembangunan web
- Pelajar dan pembelajar kendiri
- Guru yang menggunakan kurikulum dalam bilik darjah
- Kandungan direka untuk aksesibiliti dan pembinaan kemahiran secara berperingkat
### Falsafah Pendidikan
- Pendekatan pembelajaran berasaskan projek
- Pemeriksaan pengetahuan kerap (kuiz)
- Latihan pengkodan praktikal
- Contoh aplikasi dunia sebenar
- Fokus pada asas sebelum kerangka kerja
- Pendekatan pembelajaran berasaskan projek
- Semakan pengetahuan yang kerap (kuiz)
- Latihan kod praktikal
- Contoh aplikasi dunia sebenar
- Fokus pada asas sebelum penggunaan rangka kerja
### Penyelenggaraan Repositori
- Komuniti pelajar dan penyumbang yang aktif
- Kemas kini kerap untuk kebergantungan dan kandungan
- Isu dan perbincangan dipantau oleh penyelenggara
- Kemas kini terjemahan automatik melalui GitHub Actions
- Komuniti pelajar dan penyumbang yang aktif
- Kemas kini berkala untuk pergantungan dan kandungan
- Isu dan perbincangan dipantau oleh penyelenggara
- Kemas kini terjemahan diotomatikkan melalui GitHub Actions
### Sumber Berkaitan
- [Modul Microsoft Learn](https://docs.microsoft.com/learn/)
- [Sumber Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) disyorkan untuk pelajar
- Kursus tambahan: AI Generatif, Sains Data, ML, kurikulum IoT tersedia
- [Modul Microsoft Learn](https://docs.microsoft.com/learn/)
- [Sumber Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) disyorkan untuk pelajar
- Kursus tambahan: AI Generatif, Sains Data, ML, kurikulum IoT tersedia
### Bekerja dengan Projek Tertentu
Untuk arahan terperinci pada projek individu, rujuk fail README di:
- `quiz-app/README.md` - aplikasi kuiz Vue 3
- `7-bank-project/README.md` - aplikasi perbankan dengan pengesahan
- `5-browser-extension/README.md` - pembangunan pelanjutan pelayar
- `6-space-game/README.md` - pembangunan permainan berasaskan kanvas
- `9-chat-project/README.md` - projek pembantu sembang AI
Untuk arahan terperinci projek individu, rujuk fail README dalam:
- `quiz-app/README.md` - aplikasi kuiz Vue 3
- `7-bank-project/README.md` - aplikasi perbankan dengan pengesahan
- `5-browser-extension/README.md` - pembangunan sambungan pelayar
- `6-space-game/README.md` - pembangunan permainan berasaskan canvas
- `9-chat-project/README.md` - projek pembantu sembang AI
### Struktur Monorepo
Walaupun bukan monorepo tradisional, repositori ini mengandungi beberapa projek berdikari:
- Setiap pelajaran berdiri sendiri
- Projek tidak berkongsi kebergantungan
- Bekerja pada projek individu tanpa menjejaskan yang lain
- Klon keseluruhan repo untuk pengalaman kurikulum penuh
Walaupun bukan monorepo tradisional, repositori ini mengandungi pelbagai projek bebas:
- Setiap pelajaran berdiri sendiri
- Projek tidak berkongsi pergantungan
- Bekerja pada projek individu tanpa mempengaruhi yang lain
- Clone keseluruhan repo untuk pengalaman kurikulum penuh
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**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 ambil 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 atas 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 mencapai ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya hendaklah dianggap sebagai sumber yang sahih. Untuk maklumat yang kritikal, 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 -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T09:37:31+00:00",
"translation_date": "2026-02-06T11:48:59+00:00",
"source_file": "AGENTS.md",
"language_code": "sw"
},

@ -2,36 +2,36 @@
## Muhtasari wa Mradi
Hii ni hazina ya mtaala wa elimu kwa kufundisha misingi ya maendeleo ya wavuti kwa wanaoanza. Mtaala huu ni kozi kamili ya wiki 12 iliyotengenezwa na Microsoft Cloud Advocates, ikijumuisha masomo 24 ya vitendo yanayohusu JavaScript, CSS, na HTML.
Hii ni hifadhi ya mtaala wa elimu kwa ajili ya kufundisha misingi ya maendeleo ya wavuti kwa wanaoanza. Mtaala ni kozi kamili ya wiki 12 iliyotengenezwa na Microsoft Cloud Advocates, ukiwa na masomo 24 ya vitendo yanayohusu JavaScript, CSS, na HTML.
### Vipengele Muhimu
- **Maudhui ya Elimu**: Masomo 24 yaliyopangwa katika moduli za mradi
- **Miradi ya Vitendo**: Terrarium, Mchezo wa Kuandika, Ongezaji la Kivinjari, Mchezo wa Anga, Programu ya Benki, Mhariri wa Msimbo, na Msaidizi wa Mazungumzo ya AI
- **Maswali ya Kuchunguza**: Maswali 48 yenye maswali 3 kila moja (tathmini kabla/baada ya somo)
- **Miradi ya Vitendo**: Terrarium, Mchezo wa Kuandika, Kiendelezi cha Kivinjari, Mchezo wa Anga, Programu ya Benki, Mhariri wa Msimbo, na Msaidizi wa Mazungumzo wa AI
- **Vikwazo vya Interakti**: Vikwazo 48 vyenye maswali 3 kila kimoja (tathmini kabla/baada ya somo)
- **Msaada wa Lugha Nyingi**: Tafsiri za moja kwa moja kwa lugha 50+ kupitia GitHub Actions
- **Teknolojia**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (kwa miradi ya AI)
### Muundo
### Usanifu
- Hazina ya elimu yenye muundo wa masomo
- Hifadhi ya elimu yenye muundo wa msingi wa masomo
- Kila folda ya somo ina README, mifano ya msimbo, na suluhisho
- Miradi huru katika saraka tofauti (quiz-app, miradi mbalimbali ya somo)
- Mfumo wa utafsiri unatumia GitHub Actions (co-op-translator)
- Nyaraka zinatolewa kupitia Docsify na zinapatikana kama PDF
- Mfumo wa tafsiri ukitumia GitHub Actions (co-op-translator)
- Nyaraka zinatolewa kupitia Docsify na zinapatikana pia kama PDF
## Amri za Usanidi
## Amri za Kusanidi
Hazina hii ni kwa matumizi ya maudhui ya elimu hasa. Kwa kufanya kazi na miradi maalum:
Hii hifadhi kwa kawaida ni kwa matumizi ya maudhui ya elimu. Kwa kufanya kazi na miradi maalum:
### Usanidi Mkuu wa Hazina
### Usanidi wa Hifadhi Kuu
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Usanidi wa Programu ya Maswali (Vue 3 + Vite)
### Usanidi wa Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
@ -41,22 +41,22 @@ npm run build # Tengeneza kwa ajili ya uzalishaji
npm run lint # Endesha ESLint
```
### API ya Mradi wa Benki (Node.js + Express)
### Bank Project API (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Anza seva ya API
npm start # Anzisha seva ya API
npm run lint # Endesha ESLint
npm run format # Fomati kwa Prettier
npm run format # Panga kwa Prettier
```
### Miradi ya Ongezaji la Kivinjari
### Miradi ya Kiendelezi cha Kivinjari
```bash
cd 5-browser-extension/solution
npm install
# Fuata maagizo ya kupakia nyongeza maalum za kivinjari
# Fuata maelekezo ya upakiaji ya programu-jalizi maalum kwa kivinjari
```
### Miradi ya Mchezo wa Anga
@ -64,136 +64,136 @@ npm install
```bash
cd 6-space-game/solution
npm install
# Fungua index.html katika kivinjari au tumia Seva ya Moja kwa Moja
# Fungua index.html kwenye kivinjari au tumia Live Server
```
### Mradi wa Mazungumzo (Python Sehemu ya Backend)
### Mradi wa Mazungumzo (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Weka kigezo cha mazingira cha GITHUB_TOKEN
# Weka mabadiliko ya mazingira ya GITHUB_TOKEN
python api.py
```
## Mchakato wa Maendeleo
## Mtiririko wa Maendeleo
### Kwa Wasaidizi wa Maudhui
### Kwa Watoa Maudhui
1. **Fokea hazina** kwenye akaunti yako ya GitHub
2. **Nakili fokea yako** ndani ya kompyuta
3. **Tengeneza tawi jipya** kwa mabadiliko yako
4. Fanya mabadiliko kwa maudhui ya somo au mifano ya msimbo
1. **Fungua hifadhi** kwenye akaunti yako ya GitHub
2. **Nakili hifadhi yako** kwa kompyuta yako
3. **Unda tawi jipya** kwa mabadiliko yako
4. Fanya mabadiliko kwenye maudhui ya somo au mifano ya msimbo
5. Jaribu mabadiliko yoyote ya msimbo katika saraka husika za miradi
6. Tuma maombi ya kuunganisha kufuata miongozo ya mchango
6. Wasilisha ombi la pull kufuata miongozo ya mchango
### Kwa Wanafunzi
1. Fokea au nakili hazina
2. Pitia saraka za masomo moja baada ya nyingine
1. Fanya fork au nakili hifadhi
2. Elekea kwenye saraka za masomo mfululizo
3. Soma faili za README kwa kila somo
4. Kamilisha maswali kabla ya somo kwenye https://ff-quizzes.netlify.app/web/
5. Fanya kazi kupitia mifano ya msimbo katika folda za somo
4. Kamilisha vikwazo vya kabla ya somo kwenye https://ff-quizzes.netlify.app/web/
5. Fanya kazi kupitia mifano ya msimbo katika folda za masomo
6. Kamilisha kazi na changamoto
7. Fanya maswali baada ya somo
7. Fanya vikwazo vya baada ya somo
### Maendeleo Moja kwa Moja
### Maendeleo Mtandaoni
- **Nyaraka**: Endesha `docsify serve` kwenye mzizi (bandari 3000)
- **Programu ya Maswali**: Endesha `npm run dev` kwenye saraka ya quiz-app
- **Quiz App**: Endesha `npm run dev` katika saraka ya quiz-app
- **Miradi**: Tumia ugani wa VS Code Live Server kwa miradi ya HTML
- **Miradi ya API**: Endesha `npm start` kwenye saraka husika za API
- **Miradi ya API**: Endesha `npm start` katika saraka za API husika
## Maelekezo ya Upimaji
## Maelekezo ya Kupima
### Upimaji wa Programu ya Maswali
### Kupima Quiz App
```bash
cd quiz-app
npm run lint # Angalia kwa masuala ya mtindo wa msimbo
npm run build # Thibitisha kuwa ujenzi unafaulu
npm run build # Thibitisha ujenzi unafanikiwa
```
### Upimaji wa API ya Benki
### Kupima Bank API
```bash
cd 7-bank-project/api
npm run lint # Angalia masuala ya mtindo wa msimbo
node server.js # Thibitisha server inaanza bila makosa
node server.js # Hakiki kuwa seva inaanza bila makosa
```
### Mbinu ya Upimaji kwa Ujumla
### Njia ya Kupima kwa Jumla
- Hii ni hazina ya elimu isiyo na majaribio ya kiotomatiki kamili
- Hii ni hifadhi ya elimu isiyo na mitihani kamili ya moja kwa moja
- Upimaji wa mikono unazingatia:
- Mifano ya msimbo inaendeshwa bila makosa
- Viungo katika nyaraka vinafanya kazi ipasavyo
- Ujenzi wa mradi hufanikiwa vizuri
- Mifano ya msimbo inakimbia bila makosa
- Viungo katika nyaraka vinafanya kazi vizuri
- Ujenzi wa miradi unakamilika kwa mafanikio
- Mifano inafuata mbinu bora
### Ukaguzi Kabla ya Kuwasilisha
- Endesha `npm run lint` katika saraka zilizo na package.json
- Hakiki viungo vya markdown ni halali
- Thibitisha viungo vya markdown ni halali
- Jaribu mifano ya msimbo kwenye kivinjari au Node.js
- Hakiki kuwa tafsiri zinatunza muundo sahihi
- Angalia tafsiri zinadumisha muundo sahihi
## Miongozo ya Mtindo wa Msimbo
### JavaScript
- Tumia sintaksia ya kisasa ES6+
- Fuata usanidi wa ESLint uliotolewa katika miradi
- Tumia majina ya maana kwa toleo na kazi kwa uwazi wa elimu
- Ongeza maelezo ya kufafanua dhana kwa wanafunzi
- Tunga msimbo kwa kutumia Prettier pale inapobidi
- Tumia sintaksia ya kisasa ya ES6+
- Fuata usanidi wa ESLint uliotolewa kwenye miradi
- Tumia majina ya maana kwa vigezo na kazi kwa uwazi wa elimu
- Ongeza maelezo kwa kuelezea dhana kwa wanafunzi
- Panga kwa kutumia Prettier pale panapotolewa usanidi
### HTML/CSS
- Vipengele vya HTML5 vya kihisia
- Kanuni za muundo unaojibadilisha
- Vigezo vya wazi vya majina ya darasa
- Maelezo ya njia za CSS kwa walimu na wanafunzi
- Vipengele vya semantic vya HTML5
- Kanuni za usanifu wa majibu (responsive)
- Magodoro wazi ya majina ya darasa
- Maelezo yanayoelezea mbinu za CSS kwa wanafunzi
### Python
- Miongozo ya mtindo wa PEP 8
- Mifano ya msimbo wazi na ya kielimu
- Mawazo ya aina mahali panaposaidia kujifunza
- Vidokezo vya aina pale panaposaidia kujifunza
### Nyaraka za Markdown
- Mpangilio wazi wa vichwa vya habari
- Bloksi za msimbo zenye lugha iliyoelezwa
- Viungo kwa rasilimali za ziada
- Picha na skrini katika saraka `images/`
- Matini za alt kwa picha kwa upatikanaji
- Mlengo wazi wa vichwa vya habari
- Vizuizi vya msimbo vyenye utoaji lugha
- Viungo vya rasilimali za ziada
- Picha na skrini katika saraka za `images/`
- Maandishi mbadala kwa picha kwa ufikiaji
### Muundo wa Faili
### Mpangilio wa Faili
- Masomo yamepangwa nambari kwa mfuatano (1-getting-started-lessons, 2-js-basics, nk.)
- Masomo nambari mfululizo (1-getting-started-lessons, 2-js-basics, n.k.)
- Kila mradi una saraka za `solution/` na mara nyingi `start/` au `your-work/`
- Picha zimetunzwa katika folda maalum za `images/` kwa somo
- Tafsiri ziko katika muundo wa `translations/{language-code}/`
- Picha zinazohifadhiwa katika saraka za `images/` za somo husika
- Tafsiri katika muundo `translations/{language-code}/`
## Ujenzi na Uenezaji
## Ujenzi na Utoaji
### Uenezaji wa Programu ya Maswali (Azure Static Web Apps)
### Utoaji wa Quiz App (Azure Static Web Apps)
Programu ya maswali imepangwa kwa ajili ya uenezaji wa Azure Static Web Apps:
Quiz-app imewekwa kwa ajili ya utoaji wa Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Inaunda folda ya dist/
# Inaweka kupitia mtiririko wa kazi wa GitHub Actions wakati wa kusukuma kwenye main
# Inapelekwa kupitia mtiririko wa kazi wa GitHub Actions wakati wa kusukuma kwenye main
```
Mpangilio wa Azure Static Web Apps:
- **Mahali pa programu**: `/quiz-app`
- **Mahali pa matokeo**: `dist`
- **Mchakato wa kazi**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Usanidi wa Azure Static Web Apps:
- **Mahali pa App**: `/quiz-app`
- **Mahali pa Matokeo**: `dist`
- **Mtiririko wa Kazi**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Uundaji wa PDF za Nyaraka
### Uundaji wa PDF wa Nyaraka
```bash
npm install # Sakinisha docsify-to-pdf
@ -210,71 +210,71 @@ docsify serve # Hudumia kwenye localhost:3000
### Ujenzi wa Miradi Maalum
Kila saraka ya mradi inaweza kuwa na mchakato wake wa ujenzi:
- Miradi ya Vue: `npm run build` huvuta vifurushi kwa uzalishaji
- Miradi ya hatua zisizobadilika: Hakuna hatua ya ujenzi, hudumisha faili moja kwa moja
- Miradi ya Vue: `npm run build` hutengeneza vifurushi vya uzalishaji
- Miradi isiyo na mabadiliko: Hakuna hatua ya kujenga, hudumisha faili moja kwa moja
## Miongozo ya Maombi ya Kuunganisha
## Miongozo ya Ombi la Pull
### Mtindo wa Kichwa
### Muundo wa Kichwa
Tumia vichwa wazi na vinavyoeleza eneo la mabadiliko:
- `[Quiz-app] Ongeza swali jipya kwa somo X`
- `[Lesson-3] Rekebisha makosa ya tahajia katika mradi wa terrarium`
Tumia vichwa vya wazi, vinaelezea eneo la mabadiliko:
- `[Quiz-app] Ongeza mtihani mpya wa somo X`
- `[Lesson-3] Rekebisha makosa ya kuandika katika mradi wa terrarium`
- `[Translation] Ongeza tafsiri ya Kihispania kwa somo 5`
- `[Docs] Sasisha maelekezo ya usanidi`
### Ukaguzi Inayohitajika
### Ukaguzi Unaotakiwa
Kabla ya kuwasilisha PR:
1. **Ubora wa Msimbo**:
- Endesha `npm run lint` katika saraka zilizoathirika
- Endesha `npm run lint` katika saraka za miradi zilizoathirika
- Rekebisha makosa na onyo zote za lint
2. **Uhakiki wa Ujenzi**:
- Endesha `npm run build` kama inahitajika
- Endesha `npm run build` ikiwa inahitajika
- Hakikisha hakuna makosa ya ujenzi
3. **Uhakiki wa Viungo**:
3. **Uthibitisho wa Viungo**:
- Jaribu viungo vyote vya markdown
- Hakiki rejea za picha zinafanya kazi
- Thibitisha rejea za picha zinafanya kazi
4. **Mapitio ya Maudhui**:
- Soma kwa makini tahajia na sarufi
4. **Ukaguzi wa Maudhui**:
- Soma kwa uangalifu kwa makosa ya tahajia na sarufi
- Hakikisha mifano ya msimbo ni sahihi na ya kielimu
- Hakiki tafsiri zinatunza maana asili
- Thibitisha tafsiri zinahifadhi maana asili
### Mahitaji ya Mchango
- Kubali Microsoft CLA (ukaguzi wa moja kwa moja kwenye PR ya kwanza)
- Fuata [Kanuni ya Maadili ya Chanzo Huria ya Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Soma [CONTRIBUTING.md](./CONTRIBUTING.md) kwa miongozo ya kina
- Taja namba za masuala katika maelezo ya PR inapowezekana
- Fuata [Kanuni za Maadili za Chanzo Huria za Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Angalia [CONTRIBUTING.md](./CONTRIBUTING.md) kwa miongozo ya kina
- Rejea nambari za masuala katika maelezo ya PR ikiwa zinahitajika
### Mchakato wa Ukaguzi
- PR hupitiwa na wasimamizi na jamii
- Uwazi wa elimu unazingatiwa zaidi
- Mifano ya msimbo inapaswa kufuata mbinu bora za sasa
- Tafsiri hupitiwa kwa usahihi na utofauti wa kitamaduni
- PR zinakaguliwa na waendelezaji na jamii
- Uwazo wa elimu unazingatiwa kwa upendeleo
- Mifano ya msimbo ifuate mbinu bora za sasa
- Tafsiri zinakaguliwa kwa usahihi na muafaka wa kitamaduni
## Mfumo wa Utafsiri
## Mfumo wa Tafsiri
### Utafsiri wa Moja kwa Moja
### Tafsiri ya Moja kwa Moja
- Inatumia GitHub Actions kwa mtiririko wa co-op-translator
- Hutatiliza tafsiri kwa lugha 50+ moja kwa moja
- Faili za chanzo ziko katika saraka kuu
- Faili za tafsiri ziko katika saraka za `translations/{language-code}/`
- Inatumia GitHub Actions na mtiririko wa co-op-translator
- Inatafsiri kwa lugha 50+ kiotomatiki
- Faili za chanzo ziko kwenye saraka kuu
- Faili zilizotafsiriwa ziko `translations/{language-code}/`
### Kuongeza Maboresho ya Utafsiri kwa Mkono
### Kuongeza Maboresho ya Tafsiri ya Mikono
1. Pata faili ndani ya `translations/{language-code}/`
1. Tafuta faili katika `translations/{language-code}/`
2. Fanya maboresho huku ukidumisha muundo
3. Hakikisha mifano ya msimbo bado inafanya kazi
4. Jaribu maudhui yaliyotafsiriwa ya maswali yoyote
3. Hakikisha mifano ya msimbo inabaki kufanya kazi
4. Jaribu maudhui ya mtihani ya mahali pale
### Metadata ya Utafsiri
### Metadata ya Tafsiri
Faili zilizotafsiriwa zina kichwa cha metadata:
```markdown
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Utatuzi na Urekebishaji
## Ufafanuzi na Utatuzi wa Tatizo
### Masuala Yanayojitokeza Mara kwa Mara
### Masuala ya Kawaida
**Programu ya maswali haianzi**:
- Kagua toleo la Node.js (v14+ inapendekezwa)
- Futa `node_modules` na `package-lock.json`, endesha `npm install` tena
- Angalia migongano ya bandari (kawaida: Vite hutumia bandari 5173)
**Quiz app haiwezi kuanzishwa**:
- Angalia toleo la Node.js (v14+ linapendekezwa)
- Futa `node_modules` na `package-lock.json`, endesha tena `npm install`
- Angalia mzozo wa bandari (kawaida: Vite hutumia 5173)
**Seva ya API haianzi**:
- Thibitisha toleo la Node.js linakidhi (node >=10)
- Hakiki toleo la Node.js linakidhi chini (node >=10)
- Angalia kama bandari tayari inatumika
- Hakikisha viongezi vyote vimewekwa kwa `npm install`
- Hakikisha utegemezi wote umewekwa na `npm install`
**Ongezaji la kivinjari halipatiki**:
- Hakiki kuwa manifest.json imeandikwa ipasavyo
- Angalia makosa kwenye console ya kivinjari
- Fuata maelekezo ya usakinishaji wa ongezaji kwa kivinjari husika
**Kiendelezi cha kivinjari hakipaki**:
- Hakiki kuwa manifest.json imeandikwa vizuri
- Angalia konsole ya kivinjari kwa makosa
- Fuata maelekezo ya ufungaji ya kiendelezi maalum kwa kivinjari
**Masuala ya mradi wa mazungumzo wa Python**:
- Hakikisha kifurushi cha OpenAI kimewekwa: `pip install openai`
- Hakiki kuwa GITHUB_TOKEN imewekwa katika mazingira
- Angalia ruhusa za GitHub Models
- Hakikisha kifurushi cha OpenAI kimesakinishwa: `pip install openai`
- Hakiki kuwa GITHUB_TOKEN iko katika mazingira
- Hakiki ruhusa za GitHub Models
**Docsify haionyeshi nyaraka**:
- Sakinisha docsify-cli duniani kote: `npm install -g docsify-cli`
- Endesha kutoka na saraka kuu ya hazina
- Hakiki kuwa `docs/_sidebar.md` ipo
**Docsify haipeani nyaraka**:
- Sakinisha docsify-cli kimataifa: `npm install -g docsify-cli`
- Endesha kutoka saraka kuu ya hifadhi
- Hakiki `docs/_sidebar.md` ipo
### Vidokezo vya Mazingira ya Maendeleo
- Tumia VS Code na ugani wa Live Server kwa miradi ya HTML
- Sakinisha ugani wa ESLint na Prettier kwa muundo thabiti
- Tumia DevTools za kivinjari kwa kurekebisha JavaScript
- Sakinisha ugani wa ESLint na Prettier kwa ulinganifu wa mtindo
- Tumia zana za msanidi wa kivinjari kwa utatuzi wa JavaScript
- Kwa miradi ya Vue, sakinisha ugani wa Vue DevTools kwa kivinjari
### Mambo ya Kuzingatia Kuhusu Utendaji
### Masuala ya Utendaji
- Idadi kubwa ya faili za tafsiri (lugha 50+) huleta nakala kubwa
- Tumia nakala finyu ikiwa unafanya kazi tu na maudhui: `git clone --depth 1`
- Zuia tafsiri kutoka kwenye utafutaji unapoangalia maudhui ya Kiingereza
- Mchakato wa ujenzi unaweza kuwa polepole mwanzoni (npm install, ujenzi wa Vite)
- Idadi kubwa ya faili za tafsiri (lugha 50+) inafanya nakala kamili kukubwa
- Tumia nakala ya mfinyanzi ikiwa unafanya kazi tu na maudhui: `git clone --depth 1`
- Tenga tafsiri katika utafutaji unapoendelea na maudhui ya Kiingereza
- Michakato ya ujenzi inaweza kuwa polepole kwa mzunguko wa kwanza (`npm install`, Vite build)
## Mambo ya Usalama
## Masuala ya Usalama
### Mabadiliko ya Mazingira
- Funguo za API hazipaswi kuwekwa kwenye hazina
- Tumia faili za `.env` (ziko tayari `.gitignore`)
- Funguo za API hazipaswi kuwekwa kwenye hifadhi
- Tumia faili za `.env` (zimedumuwa katika `.gitignore`)
- Andika mabadiliko ya mazingira yanayohitajika katika README za miradi
### Miradi ya Python
- Tumia mazingira ya kubuni ya virtual: `python -m venv venv`
- Sasisha viongezi mara kwa mara
- Tokeni za GitHub zipate ruhusa ndogo tu zinazohitajika
- Tumia mazingira ya virtual: `python -m venv venv`
- Dumuza utegemezi kwa toleo jipya
- Tokeni za GitHub ziwe na ruhusa ndogo zinazohitajika
### Kupata GitHub Models
### Upatikanaji wa GitHub Models
- Tokeni za Kufikia Kibinafsi (PAT) zinahitajika kwa GitHub Models
- Tokeni ziwe kwenye mabadiliko ya mazingira
- Kamwe usiweka tokeni au nywila katika hazina
- Tokeni za Utafutaji wa Kibinafsi (PAT) zinahitajika kwa GitHub Models
- Tokeni zipangwe kama mabadiliko ya mazingira
- Kamwe usiweke tokeni au taarifa za siri kwenye hifadhi
## Vidokezo Zaidi
### Walengwa
- Waanzilishi wa maendeleo ya wavuti
- Wanafunzi na kujifunza kwa kujitegemea
- Wanaoanza kabisa katika maendeleo ya wavuti
- Wanafunzi na waajiri binafsi
- Walimu wanaotumia mtaala darasani
- Maudhui yamebuniwa kwa upatikanaji na hatua za kujifunza polepole
- Maudhui yameundwa kwa upatikanaji na ujenzi wa ujuzi hatua kwa hatua
### Falsafa ya Elimu
- Mbinu ya kujifunza kwa mradi
- Dharura za maarifa mara kwa mara (maswali)
- Mazoezi ya kufanyia kazi kwa mikono
- Mifano halisi ya matumizi
- Kuzingatia misingi kabla ya mfumo wa kazi
- Mbinu ya kujifunza kwa miradi
- Kupimwa mara kwa mara (vikwazo)
- Mazoezi ya kuandika msimbo kwa vitendo
- Mifano ya matumizi halisi
- Mtazamo wa misingi kabla ya mifumo ya kazi
### Matunzo ya Hazina
### Utunzaji wa Hifadhi
- Jamii hai ya wanafunzi na wachangiaji
- Sasisho za mara kwa mara za viongezi na maudhui
- Masuala na majadiliano hupitiwa na wasimamizi
- Sasisho za tafsiri zinafanywa moja kwa moja kupitia GitHub Actions
- Jamii yenye uhai ya wanafunzi na wachangiaji
- Sasisho la mara kwa mara la utegemezi na maudhui
- Masuala na mijadala inaangaliwa na waendelezaji
- Sasisho la tafsiri hutekelezwa moja kwa moja kupitia GitHub Actions
### Rasilimali Zinazohusiana
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) inayopendekezwa kwa wanafunzi
- Kozi za ziada: AI ya Kizazi, Sayansi ya Data, ML, na mtaala wa IoT zinapatikana
- [Moduli za Microsoft Learn](https://docs.microsoft.com/learn/)
- [Rasilimali za Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) inapendekezwa kwa wanafunzi
- Kozi za ziada: AI ya kuzalisha, Sayansi ya Data, ML, mtaala wa IoT unapatikana
### Kufanya Kazi na Miradi Maalum
### Kufanya Kazi na Miradi Maalumu
Kwa maelekezo ya kina kuhusu miradi binafsi, rejea faili za README katika:
- `quiz-app/README.md` - Programu ya maswali ya Vue 3
Kwa maelekezo ya kina kuhusu miradi, rejea faili za README katika:
- `quiz-app/README.md` - Programu ya quiz ya Vue 3
- `7-bank-project/README.md` - Programu ya benki yenye uthibitishaji
- `5-browser-extension/README.md` - Maendeleo ya ongezaji la kivinjari
- `5-browser-extension/README.md` - Maendeleo ya kiendelezi cha kivinjari
- `6-space-game/README.md` - Maendeleo ya mchezo wa Canvas
- `9-chat-project/README.md` - Mradi wa msaidizi wa mazungumzo wa AI
### Muundo wa Monorepo
Ingawa si monorepo ya kawaida, hazina hii ina miradi huru mbalimbali:
- Kila somo ni huru mwenyewe
- Miradi haiungiwi kwa viongezi vya kawaida
Ingawa sio monorepo ya kawaida, hifadhi hii ina miradi mingi huru:
- Kila somo ni huru
- Miradi haishiriki utegemezi
- Fanya kazi kwenye miradi binafsi bila kuathiri mingine
- Nakili hazina nzima kwa uzoefu kamili wa mtaala
- Nakili hifadhi yote kwa uzoefu kamili wa mtaala
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Angalizo**:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Hati ya asili kwa lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu na binadamu inapendekezwa. Hatubeba dhamana kwa maelewano au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.
**Kiatli**:
Nyaraka hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Nyaraka ya asili katika lugha yake ya asili inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu inayofanywa na watu inashauriwa. Hatubebwi wajibu kwa kutoelewana au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T09:36:10+00:00",
"translation_date": "2026-02-06T11:47:47+00:00",
"source_file": "AGENTS.md",
"language_code": "tl"
},

@ -1,43 +1,43 @@
# AGENTS.md
## Pangkalahatang-ideya ng Proyekto
## Project Overview
Ito ay isang repositoryo ng edukasyonal na kurikulum para sa pagtuturo ng mga pundasyon ng web development sa mga baguhan. Ang kurikulum ay isang komprehensibong 12-linggong kurso na binuo ng Microsoft Cloud Advocates, na may 24 na hands-on na mga aralin na sumasaklaw sa JavaScript, CSS, at HTML.
Ito ay isang edukasyonal na kurikulum na repository 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, naglalaman ng 24 na praktikal na aralin na sumasaklaw sa JavaScript, CSS, at HTML.
### Pangunahing Mga Bahagi
### Key Components
- **Nilalamang Pang-edukasyon**: 24 na nakaayos na mga aralin na inorganisa sa mga proyekto batay sa module
- **Praktikal na Mga Proyekto**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, at AI Chat Assistant
- **Interactive na Mga Pagsusulit**: 48 na pagsusulit na may tig-3 na tanong bawat isa (pre/post-lesson assessments)
- **Suporta sa Maramihang Wika**: Awtomatikong pagsasalin para sa 50+ na mga wika gamit ang GitHub Actions
- **Mga Teknolohiya**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para sa mga AI na proyekto)
- **Educational Content**: 24 na organisadong aralin na inayos sa mga project-based na modules
- **Practical Projects**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, at AI Chat Assistant
- **Interactive Quizzes**: 48 na pagsusulit na may tig-3 tanong bawat isa (pre/post-lesson assessments)
- **Multi-language Support**: Awtomatikong pagsasalin para sa 50+ na mga wika gamit ang GitHub Actions
- **Technologies**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para sa mga AI projects)
### Arkitektura
### Architecture
- Edukasyonal na repositoryo na may istrukturang nakabatay sa mga aralin
- Educational repository na may leksyon na nakaayos ayon sa aralin
- Bawat folder ng aralin ay naglalaman ng README, mga halimbawa ng code, at mga solusyon
- Mga nakahiwalay na proyekto sa magkakahiwalay na 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 ng aralin)
- Sistema ng pagsasalin gamit ang GitHub Actions (co-op-translator)
- Dokumentasyon na ipinapakita gamit ang Docsify at magagamit bilang PDF
- Dokumentasyon na isinusilbi gamit ang Docsify at available bilang PDF
## Mga Utos sa Setup
## Setup Commands
Ang repositoryo na ito ay pangunahing para sa pagkonsumo ng nilalamang pang-edukasyon. Para sa pagtatrabaho sa mga partikular na proyekto:
Ang repository na ito ay pangunahing para sa pag-consume ng edukasyonal na nilalaman. Para sa pagtatrabaho sa mga partikular na proyekto:
### Pangkalahatang Setup ng Repositoryo
### Main Repository Setup
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Setup ng Quiz App (Vue 3 + Vite)
### Quiz App Setup (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Simulan ang development server
npm run build # Bumuo para sa produksyon
npm run build # Gumawa para sa production
npm run lint # Patakbuhin ang ESLint
```
@ -51,7 +51,7 @@ npm run lint # Patakbuhin ang ESLint
npm run format # I-format gamit ang Prettier
```
### Mga Proyekto ng Browser Extension
### Browser Extension Projects
```bash
cd 5-browser-extension/solution
@ -59,7 +59,7 @@ npm install
# Sundin ang mga tagubilin sa pag-load ng extension na partikular sa browser
```
### Mga Proyekto ng Space Game
### Space Game Projects
```bash
cd 6-space-game/solution
@ -76,37 +76,37 @@ pip install openai
python api.py
```
## Workflow ng Pag-develop
## Development Workflow
### Para sa Mga Contributor ng Nilalaman
### For Content Contributors
1. **I-fork ang repositoryo** sa iyong GitHub account
2. **I-clone ang iyong fork** lokal
3. **Gumawa ng bagong branch** para sa iyong mga pagbabago
1. **I-fork ang repository** sa iyong GitHub account
2. **I-clone ang iyong fork** lokál
3. **Gumawa ng bagong sangay (branch)** para sa iyong mga pagbabago
4. Gawin ang mga pagbabago sa nilalaman ng aralin o mga halimbawa ng code
5. Subukan ang anumang pagbabago sa code sa mga kaukulang direktoryo ng proyekto
6. Mag-submit ng pull request kasunod ng mga patnubay sa kontribusyon
5. Subukan ang anumang pagbabago sa code sa mga angkop na direktoryo ng proyekto
6. Mag-submit ng pull requests ayon sa mga gabay sa kontribusyon
### Para sa Mga Nag-aaral
### For Learners
1. Mag-fork o mag-clone ng repositoryo
1. I-fork o i-clone ang repository
2. Mag-navigate sa mga direktoryo ng aralin nang sunod-sunod
3. Basahin ang README files para sa bawat aralin
4. Kumpletuhin ang mga pre-lesson quizzes sa https://ff-quizzes.netlify.app/web/
5. Trabahuhin ang mga halimbawa ng code sa mga folder ng aralin
6. Kumpletuhin ang mga takdang-aralin at mga hamon
7. Kumuha ng mga post-lesson quizzes
3. Basahin ang mga file na README para sa bawat aralin
4. Tapusin ang mga pre-lesson na pagsusulit sa https://ff-quizzes.netlify.app/web/
5. Gawin ang mga halimbawa ng code sa mga folder ng aralin
6. Tapusin ang mga asignatura at hamon
7. Sagutan ang mga post-lesson na pagsusulit
### Live na Pag-develop
### Live Development
- **Dokumentasyon**: Patakbuhin ang `docsify serve` sa root (port 3000)
- **Quiz App**: Patakbuhin ang `npm run dev` sa quiz-app directory
- **Quiz App**: Patakbuhin ang `npm run dev` sa direktoryo ng quiz-app
- **Mga Proyekto**: Gamitin ang VS Code Live Server extension para sa mga HTML na proyekto
- **Mga API na Proyekto**: Patakbuhin ang `npm start` sa mga kaukulang API directory
- **API Projects**: Patakbuhin ang `npm start` sa kaukulang mga direktoryo ng API
## Mga Tagubilin para sa Testing
## Testing Instructions
### Pag-testing ng Quiz App
### Quiz App Testing
```bash
cd quiz-app
@ -114,78 +114,78 @@ npm run lint # Suriin ang mga isyu sa estilo ng code
npm run build # Tiyakin na matagumpay ang build
```
### Pag-testing ng Bank API
### Bank API Testing
```bash
cd 7-bank-project/api
npm run lint # Suriin ang mga isyu sa estilo ng code
node server.js # Siguraduhin na nagsisimula ang server nang walang mga error
node server.js # Tiyakin na nagsisimula ang server nang walang mga error
```
### Pangkalahatang Paraan sa Testing
### General Testing Approach
- Isang edukasyonal na repositoryo ito na walang komprehensibong awtomatikong mga test
- Manual na testing ay nakatuon sa:
- Mga halimbawa ng code na tumatakbo nang walang error
- Mga link sa dokumentasyon na gumagana nang tama
- Matagumpay na pagsasagawa ng mga build ng proyekto
- Mga halimbawa na sumusunod sa mga pinakamahusay na gawain
- Ito ay isang edukasyonal na repository na walang komprehensibong automated tests
- Manual testing ay nakatuon sa:
- Mga halimbawa ng code ay tumatakbo nang walang error
- Mga link sa dokumentasyon ay gumagana nang tama
- Ang mga build ng proyekto ay matagumpay na nakumpleto
- Mga halimbawa ay sumusunod sa pinakamahusay na mga gawain
### Mga Pre-submission Checks
### Pre-submission Checks
- Patakbuhin ang `npm run lint` sa mga direktoryo na may package.json
- Suriin na valid ang mga markdown link
- Siguraduhing wasto ang mga markdown na link
- Subukan ang mga halimbawa ng code sa browser o Node.js
- Suriin na ang mga pagsasalin ay nananatili sa wastong istruktura
- Tingnan na ang mga pagsasalin ay nananatili ang tamang estruktura
## Mga Alituntunin sa Estilo ng Code
## Code Style Guidelines
### JavaScript
- Gumamit ng modernong ES6+ na sintaks
- Sundin ang standard ESLint configurations na ibinigay sa mga proyekto
- Gumamit ng makahulugang mga pangalang variable at function para sa kalinawan ng edukasyon
- Gumamit ng modernong ES6+ na syntax
- Sundin ang pamantayang ESLint configurations na ibinigay sa mga proyekto
- Gumamit ng makabuluhang mga variable at pangalan ng function para sa kalinawan ng edukasyon
- Magdagdag ng mga komento na nagpapaliwanag ng mga konsepto para sa mga nag-aaral
- I-format gamit ang Prettier kung saan naka-configure
- I-format gamit ang Prettier kung ito ay naka-configure
### HTML/CSS
- Semantic HTML5 na mga elemento
- Semantic na mga elemento ng HTML5
- Mga prinsipyo ng responsive design
- Malinaw na mga convention sa pag-ngalan ng klase
- Malinaw na mga klaseng pangalan
- Mga komento na nagpapaliwanag ng mga teknik sa CSS para sa mga nag-aaral
### Python
- Mga alituntunin sa estilo ng PEP 8
- Malinaw, pang-edukasyong mga halimbawa ng code
- Mga type hint kung kapaki-pakinabang sa pagkatuto
- Pamantayan ng estilo ng PEP 8
- Malilinaw, edukasyonal na mga halimbawa ng code
- Mga type hint kung nakatutulong sa pag-aaral
### Dokumentasyon sa Markdown
### Markdown Documentation
- Malinaw na hierarchy ng heading
- Mga code blocks na may pagtukoy ng wika
- Malinaw na hierarchy ng mga heading
- Code blocks na may pagtukoy ng wika
- Mga link sa karagdagang mga mapagkukunan
- Mga screenshot at larawan sa mga direktoryo ng `images/`
- Mga screenshot at larawan sa `images/` na mga direktoryo
- Alt text para sa mga larawan para sa accessibility
### Organisasyon ng File
### File Organization
- Mga aralin na naka-number nang sunod-sunod (1-getting-started-lessons, 2-js-basics, atbp.)
- Bawat proyekto ay may `solution/` at kadalasan ay `start/` o `your-work/` na mga direktoryo
- Mga larawan na nakaimbak sa lesson-specific na mga folder na `images/`
- Mga pagsasalin sa istrukturang `translations/{language-code}/`
- Mga aralin na naka-number nang sunud-sunod (1-getting-started-lessons, 2-js-basics, atbp.)
- Bawat proyekto ay may `solution/` at madalas ay `start/` o `your-work/` na mga direktoryo
- Mga larawan ay nakaimbak sa mga folder ng `images/` na para sa partikular na aralin
- Mga pagsasalin ay nasa estrukturang `translations/{language-code}/`
## Build at Deployment
## Build and Deployment
### Pag-deploy ng Quiz App (Azure Static Web Apps)
### Quiz App Deployment (Azure Static Web Apps)
Ang quiz-app ay naka-configure para sa deployment gamit ang Azure Static Web Apps:
Ang quiz-app ay naka-configure para sa Azure Static Web Apps deployment:
```bash
cd quiz-app
npm run build # Gumagawa ng dist/ na folder
# Nagde-deploy gamit ang GitHub Actions workflow sa pag-push sa main
# Nagde-deploy gamit ang GitHub Actions workflow kapag may push sa main
```
Azure Static Web Apps configuration:
@ -193,90 +193,90 @@ Azure Static Web Apps configuration:
- **Output location**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Pagbuo ng Dokumentasyong PDF
### Documentation PDF Generation
```bash
npm install # I-install ang docsify-to-pdf
npm run convert # Gumawa ng PDF mula sa docs
npm run convert # Bumuo ng PDF mula sa docs
```
### Dokumentasyon gamit ang Docsify
### Docsify Documentation
```bash
npm install -g docsify-cli # I-install ang Docsify nang global
docsify serve # I-serve sa localhost:3000
```
### Mga Build na Partikular sa Proyekto
### Project-specific Builds
Bawat direktoryo ng proyekto ay maaaring may sariling proseso ng build:
- Mga Vue na proyekto: `npm run build` na lumilikha ng production bundles
- Mga static na proyekto: Walang build step, diretsong nagsisilbi ng mga file
- Vue projects: `npm run build` na lumilikha ng production bundles
- Static projects: Walang build step, direktang pagseserbisyo ng mga file
## Mga Alituntunin para sa Pull Request
## Pull Request Guidelines
### Format ng Pamagat
### Title Format
Gumamit ng malinaw, mapanuring mga pamagat na nagsasaad ng lugar ng pagbabago:
- `[Quiz-app] Magdagdag ng bagong pagsusulit para sa aralin X`
- `[Lesson-3] Ayusin ang typo sa proyekto ng terrarium`
- `[Translation] Magdagdag ng pagsasaling Espanyol para sa aralin 5`
- `[Docs] I-update ang mga tagubilin sa setup`
Gumamit ng malinaw, naglalarawang mga titulo na nagpapahiwatig ng lugar ng pagbabago:
- `[Quiz-app] Add new quiz for lesson X`
- `[Lesson-3] Fix typo in terrarium project`
- `[Translation] Add Spanish translation for lesson 5`
- `[Docs] Update setup instructions`
### Mga Kinakailangang Pagsusuri
### Required Checks
Bago magsumite ng PR:
1. **Kalidad ng Code**:
- Patakbuhin ang `npm run lint` sa apektadong mga direktoryo ng proyekto
- Ayusin lahat ng linting errors at warnings
- Patakbuhin ang `npm run lint` sa mga apektadong direktoryo ng proyekto
- Ayusin lahat ng linting error at warning
2. **Pag-verify ng Build**:
2. **Build Verification**:
- Patakbuhin ang `npm run build` kung naaangkop
- Siguraduhin na walang error sa build
- Siguraduhing walang error sa build
3. **Pag-validate ng Link**:
- Subukan ang lahat ng markdown links
- Suriin ang mga image references
3. **Link Validation**:
- Subukan lahat ng markdown na mga link
- Siguraduhin na gumagana ang mga image reference
4. **Rebyu ng Nilalaman**:
- Proofread para sa pagbaybay at gramatika
- Siguraduhin na tama at edukasyonal ang mga halimbawa ng code
- Patunayan na ang mga pagsasalin ay napapanatili ang orihinal na kahulugan
4. **Review ng Nilalaman**:
- Proofread para sa baybay at gramatika
- Siguraduhing tama at pang-edukasyon ang mga halimbawa ng code
- I-verify na ang mga pagsasalin ay nananatili ang orihinal na kahulugan
### Mga Kinakailangan sa Kontribusyon
### Contribution Requirements
- Sumang-ayon sa Microsoft CLA (awtomatikong pagsuri sa unang PR)
- Sumang-ayon sa Microsoft CLA (awtomatikong tseke sa unang PR)
- Sundin ang [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Tingnan ang [CONTRIBUTING.md](./CONTRIBUTING.md) para sa detalyadong mga patnubay
- I-refer ang mga numero ng isyu sa paglalarawan ng PR kung naaangkop
- Tingnan ang [CONTRIBUTING.md](./CONTRIBUTING.md) para sa detalyadong gabay
- Banggitin ang mga numero ng isyu sa deskripsyon ng PR kung naaangkop
### Proseso ng Pagsusuri
### Review Process
- Ang mga PR ay sinusuri ng mga tagapanatili at komunidad
- Pinapahalagahan ang kalinawan ng edukasyon
- Ang mga halimbawa ng code ay dapat sumunod sa kasalukuyang pinakamahusay na mga gawain
- PRs ay sinusuri ng mga tagapag-maintain at community
- Prayoridad ang kalinawan sa edukasyon
- Dapat sundin ng mga halimbawa ng code ang kasalukuyang pinakamahusay na mga gawain
- Ang mga pagsasalin ay sinusuri para sa katumpakan at angkop na kultura
## Sistema ng Pagsasalin
## Translation System
### Awtomatikong Pagsasalin
### Automated Translation
- Gumagamit ng GitHub Actions gamit ang co-op-translator workflow
- Nagsasalin sa 50+ na mga wika nang awtomatiko
- Mga silbing file sa pangunahing mga direktoryo
- Mga source file sa pangunahing mga direktoryo
- Mga naisaling file sa `translations/{language-code}/` na mga direktoryo
### Pagdaragdag ng Manual na Pagpapahusay sa Pagsasalin
### Adding Manual Translation Improvements
1. Hanapin ang file sa `translations/{language-code}/`
2. Gawin ang mga pagpapahusay habang pinapanatili ang istruktura
2. Gawin ang mga pagpapabuti habang pinapanatili ang estruktura
3. Siguraduhin na ang mga halimbawa ng code ay nananatiling gumagana
4. Subukan ang anumang nilokal na nilalaman ng pagsusulit
4. Subukan ang anumang lokal na nilalaman ng pagsusulit
### Metadata sa Pagsasalin
### Translation Metadata
Ang mga naisaling file ay may metadata na header:
Ang naisaling mga file ay may metadata header:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Pag-debug at Pagsasaayos ng Problema
## Debugging and Troubleshooting
### Mga Karaniwang Isyu
### Common Issues
**Hindi nagsisimula ang quiz app**:
- Suriin ang bersyon ng Node.js (inirerekomenda v14+)
- Tanggalin ang `node_modules` at `package-lock.json`, patakbuhin muli ang `npm install`
- Suriin kung may mga conflict sa port (default: Vite ay gumagamit ng port 5173)
**Quiz app fails to start**:
- Suriin ang bersyon ng Node.js (v14+ ang rekomendado)
- Burahin ang `node_modules` at `package-lock.json`, patakbuhin muli ang `npm install`
- Suriin kung may conflict sa port (default: Vite ay gumagamit ng port 5173)
**Hindi nagsisimula ang API server**:
- Siguraduhin ang Node.js na bersyon ay naaabot ang minimum (node >=10)
- Suriin kung ang port ay kasalukuyang ginagamit
- Siguraduhin na na-install lahat ng dependencies gamit ang `npm install`
**API server won't start**:
- Tiyaking ang bersyon ng Node.js ay sapat (node >=10)
- Tingnan kung ang port ay ginagamit na
- Siguraduhing na-install ang lahat ng dependencies gamit ang `npm install`
**Hindi naglo-load ang browser extension**:
- Siguraduhin na maayos na nakabuo ang manifest.json
- Suriin ang console ng browser para sa mga error
- Sundin ang mga tagubilin sa pag-install ng extension na partikular sa browser
**Browser extension won't load**:
- Siguraduhing tama ang format ng manifest.json
- Tingnan ang console ng browser para sa mga error
- Sundin ang mga instruksiyon para sa pag-install ng browser-specific extension
**Mga isyu sa Python chat project**:
**Python chat project issues**:
- Siguraduhing naka-install ang OpenAI package: `pip install openai`
- Siguraduhin na nakaset ang environment variable na GITHUB_TOKEN
- Suriin ang mga permiso sa pag-access ng GitHub Models
- Tiyaking naka-set ang GITHUB_TOKEN environment variable
- Suriin ang mga permiso sa GitHub Models access
**Hindi nagsisilbi ang Docsify ng dokumento**:
**Docsify not serving docs**:
- Mag-install ng docsify-cli globally: `npm install -g docsify-cli`
- Patakbuhin mula sa root directory ng repositoryo
- Siguraduhing umiiral ang `docs/_sidebar.md`
- Patakbuhin mula sa root directory ng repository
- Siguraduhing nandiyan ang `docs/_sidebar.md`
### Mga Tip sa Kapaligiran ng Pag-develop
### Development Environment Tips
- Gumamit ng VS Code kasama ang Live Server extension para sa mga HTML na proyekto
- Mag-install ng ESLint at Prettier extensions para sa pare-parehong pag-format
- Gumamit ng DevTools ng browser para sa pag-debug ng JavaScript
- Para sa mga Vue na proyekto, mag-install ng Vue DevTools na extension sa browser
- Gamitin ang VS Code na may Live Server extension para sa mga HTML na proyekto
- Mag-install ng ESLint at Prettier extensions para sa consistent na pag-format
- Gamitin ang browser DevTools para mag-debug ng JavaScript
- Para sa Vue projects, mag-install ng Vue DevTools browser extension
### Mga Pagsasaalang-alang sa Performance
### Performance Considerations
- Ang malaking bilang ng mga naisaling file (50+ na wika) ay nagpapalaki ng mga full clone
- Gumamit ng shallow clone kung nilalaman lang ang inaasikaso: `git clone --depth 1`
- I-exclude ang mga pagsasalin sa paghahanap kapag nagtratrabaho sa English content
- Ang mga proseso ng build ay maaaring mabagal sa unang takbo (npm install, Vite build)
- Maraming naisaling mga file (50+ na mga wika) kaya malaki ang full clones
- Gumamit ng shallow clone kung nilalaman lang ang pinagtatrabahuhan: `git clone --depth 1`
- I-exclude ang mga pagsasalin mula sa paghahanap kapag nagtatrabaho sa English na nilalaman
- Ang mga proseso ng build ay maaaring mabagal sa unang run (npm install, Vite build)
## Mga Pagsasaalang-alang sa Seguridad
## Security Considerations
### Mga Environment Variable
### Environment Variables
- Ang mga API key ay hindi dapat isama sa repositoryo
- Gumamit ng `.env` files (nasa `.gitignore` na)
- I-dokumento ang mga kinakailangang environment variable sa mga README ng proyekto
- Huwag kailanman i-commit ang API keys sa repository
- Gumamit ng `.env` files (naka-lista na sa `.gitignore`)
- I-dokumenta ang mga kinakailangang environment variables sa mga README ng proyekto
### Mga Proyekto sa Python
### Python Projects
- Gumamit ng mga virtual environment: `python -m venv venv`
- Panatilihing updated ang mga dependencies
- Gumamit ng virtual environments: `python -m venv venv`
- Panatilihing updated ang dependencies
- Ang mga GitHub token ay dapat may minimal na kinakailangang permiso
### Access sa GitHub Models
### GitHub Models Access
- Personal Access Tokens (PAT) ang kinakailangan para sa GitHub Models
- Ang mga token ay dapat itago bilang mga environment variable
- Huwag kailanman i-commit ang mga token o credential
- Kailangan ang Personal Access Tokens (PAT) para sa GitHub Models
- Ang mga token ay dapat itago bilang environment variables
- Huwag kailanman i-commit ang mga token o credentials
## Karagdagang Mga Tala
## Additional Notes
### Target na Audience
### Target Audience
- Mga ganap na baguhan sa web development
- Mga estudyante at mga self-learner
- Ganap na mga nagsisimula sa web development
- Mag-aaral at mga nag-aaral mag-isa
- Mga guro na gumagamit ng kurikulum sa mga silid-aralan
- Nilalaman ay idinisenyo para sa accessibility at unti-unting pagbuo ng kakayahan
- Nilalaman ay idinisenyo para sa accessibility at unti-unting pagbuo ng kasanayan
### Pilosopiya ng Edukasyon
### Educational Philosophy
- Paraan ng pagkatuto na nakabatay sa proyekto
- Mga madalas na pagsusuri ng kaalaman (quizzes)
- Hands-on na mga ehersisyo sa coding
- Mga totoong halimbawa ng aplikasyon
- Pokus sa mga pundasyon bago ang mga framework
- Project-based na pamamaraan sa pagkatuto
- Madalas na pagsusuri ng kaalaman (mga pagsusulit)
- Praktikal na mga coding exercise
- Mga halimbawa ng totoong aplikasyon
- Pokus sa mga pundasyon bago ang frameworks
### Pangangalaga ng Repositoryo
### Repository Maintenance
- Aktibong komunidad ng mga nag-aaral at nagkakaloob
- Regular na pag-update sa mga dependencies at nilalaman
- Mga isyu at diskusyon ay mino-monitor ng mga tagapanatili
- Aktibong komunidad ng mga nag-aaral at mga kontribyutor
- Regular na pag-update sa dependencies at nilalaman
- Issues at diskusyon ay minomonitor ng mga tagapag-maintain
- Mga update sa pagsasalin ay awtomatiko gamit ang GitHub Actions
### Mga Kaugnay na Mapagkukunan
### Related Resources
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [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
- Karagdagang mga kurso: Generative AI, Data Science, ML, IoT curricula na available
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) na inirerekomenda para sa mga nag-aaral
- Mga karagdagang kurso: Generative AI, Data Science, ML, IoT curricula ay available
### Pagtatrabaho sa Mga Partikular na Proyekto
### Working with Specific Projects
Para sa detalyadong mga tagubilin sa mga indibidwal na proyekto, sumangguni sa mga README file sa:
- `quiz-app/README.md` - Vue 3 na aplikasyon ng pagsusulit
Para sa detalyadong mga instruksiyon sa mga indibidwal na proyekto, sumangguni sa mga README file sa:
- `quiz-app/README.md` - Vue 3 quiz application
- `7-bank-project/README.md` - Banking application na may authentication
- `5-browser-extension/README.md` - Development ng browser extension
- `6-space-game/README.md` - Desenvolvimento ng canvas-based na laro
- `9-chat-project/README.md` - Proyekto ng AI chat assistant
- `5-browser-extension/README.md` - Pag-develop ng browser extension
- `6-space-game/README.md` - Canvas-based na game development
- `9-chat-project/README.md` - AI chat assistant project
### Istruktura ng Monorepo
### Monorepo Structure
Bagamat hindi tradisyunal na monorepo, ang repositoryo na ito ay naglalaman ng maramihang independiyenteng mga proyekto:
- Ang bawat aralin ay nakahiwalay
- Hindi nagsasaluhan ng dependencies ang mga proyekto
- Puwedeng magtrabaho sa mga indibidwal na proyekto nang hindi naaapektuhan ang iba
- I-clone ang buong repo para sa buong karanasan sa kurikulum
Bagamat hindi tradisyunal na monorepo, ang repository na ito ay naglalaman ng maraming independiyenteng mga proyekto:
- Bawat aralin ay sarado at kumpleto sa sarili
- Hindi nagbabahagi ng dependencies ang mga proyekto
- Maaaring magtrabaho sa mga indibidwal na proyekto nang hindi naaapektuhan ang iba
- I-clone ang buong repo para sa buong karanasan ng kurikulum
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Paalala**:
Ang dokumentong ito ay isinalin gamit ang AI na serbisyo ng pagsasalin na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't nagsusumikap kaming maging tumpak, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o kamalian. Ang orihinal na dokumento sa kanyang sariling wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasaling pantao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling pag-intindi na maaaring magmula 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). Bagamat aming pinagsisikapan ang katumpakan, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o di-tumpak na impormasyon. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na pangunahing sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save