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

pull/1793/head
localizeflow[bot] 5 months ago
parent 306cec0f79
commit 812138e3ea

@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-04-06T17:53:48+00:00", "translation_date": "2026-04-20T16:11:59+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "lt" "language_code": "lt"
}, },

@ -2,42 +2,42 @@
## Projekto apžvalga ## Projekto apžvalga
Tai yra mokymo programos saugykla, skirta pradedantiesiems mokyti interneto kūrimo pagrindų. Mokymo programa yra visapusiškas 12 savaičių kursas, sukurtas Microsoft Cloud Advocates, apimantis 24 praktinius užsiėmimus apie JavaScript, CSS ir HTML. Tai yra švietimo programa skirta mokyti pradedančiuosius interneto kūrimo pagrindų. Programa yra išsami 12 savaičių kursų sistema, sukurta Microsoft Cloud Advocates komandos, apimanti 24 praktines pamokas apie JavaScript, CSS ir HTML.
### Pagrindinės sudedamosios dalys ### Pagrindinės sudedamosios dalys
- **Mokomasis turinys**: 24 struktūruotos pamokos, organizuotos pagal projektus - **Švietimo turinys**: 24 struktūruotos pamokos, suskirstytos į projektų modulius
- **Praktiniai projektai**: Terarium, Rašymo žaidimas, Naršyklės plėtinys, Kosminis žaidimas, Banko programa, Kodo redaktorius ir AI pokalbių asistentas - **Praktiniai projektai**: Terariumas, Rašymo žaidimas, Naršyklės plėtinys, Kosminis žaidimas, Banko programa, Kodo redaktorius ir AI pokalbių asistentas
- **Interaktyvūs testai**: 48 testai po 3 klausimus kiekviename (prieš ir po pamokos vertinimai) - **Interaktyvūs testai**: 48 testai po 3 klausimus kiekviename (prieš ir po pamokų įvertinimai)
- **Daugiakalbė palaikymas**: automatizuoti vertimai į daugiau nei 50 kalbų per GitHub Actions - **Daugiakalbė palaikymas**: Automatizuoti vertimai į 50+ kalbų naudojant GitHub Actions
- **Technologijos**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI projektams) - **Technologijos**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI projektams)
### Architektūra ### Architektūra
- Mokomoji saugykla su pamokomis pagrįsta struktūra - Švietimo saugykla su pamokomis pagrįsta struktūra
- Kiekviena pamoka turi savo aplanką su README, kodo pavyzdžiais ir sprendimais - Kiekvienos pamokos aplanke yra README, kodo pavyzdžiai ir sprendimai
- Atskiri projektai atskiruose kataloguose (quiz-app, įvairūs pamokų projektai) - Atskiri projektai atskiruose kataloguose (quiz-app, įvairūs pamokų projektai)
- Vertimų sistema naudojant GitHub Actions (co-op-translator) - Vertimo sistema naudojant GitHub Actions (co-op-translator)
- Dokumentacija pateikiama per Docsify ir prieinama PDF formatu - Dokumentacija pateikiama per Docsify ir prieinama PDF formatu
## Diegimo komandos ## Diegimo komandos
Ši saugykla skirta pirmiausia mokomajam turiniui vartoti. Dirbant su konkrečiais projektais: Šis saugykla yra skirta pirminiam švietimo turinio vartojimui. Dirbant su konkrečiais projektais:
### Pagrindinės saugyklos diegimas ### Pagrindinės saugyklos paruošimas
```bash ```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners cd Web-Dev-For-Beginners
``` ```
### Testų programėlės diegimas (Vue 3 + Vite) ### Testų programėlės paruošimas (Vue 3 + Vite)
```bash ```bash
cd quiz-app cd quiz-app
npm install npm install
npm run dev # Paleisti kūrimo serverį npm run dev # Paleisti kūrimo serverį
npm run build # Kurti gamybai npm run build # Sukurti gamybai
npm run lint # Vykdyti ESLint npm run lint # Vykdyti ESLint
``` ```
@ -56,7 +56,7 @@ npm run format # Formatuoti su Prettier
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# Vadovaukitės naršyklės specifinėmis plėtinių įkėlimo instrukcijomis # Vadovaukitės naršyklei būdingomis plėtinių įkėlimo instrukcijomis
``` ```
### Kosminio žaidimo projektai ### Kosminio žaidimo projektai
@ -67,39 +67,39 @@ npm install
# Atidarykite index.html naršyklėje arba naudokite Live Server # Atidarykite index.html naršyklėje arba naudokite Live Server
``` ```
### Pokalbių projekto (Python backend) diegimas ### Pokalbių projektas (Python serveris)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# Nustatykite GITHUB_TOKEN aplinkos kintamąjį # Nustatyti GITHUB_TOKEN aplinkos kintamąjį
python api.py python api.py
``` ```
## Kūrimo darbo eiga ## Vystymo darbo eiga
### Turinio kūrėjams ### Turinį prisidedantiems
1. **Padarykite saugyklos forką** į savo GitHub paskyrą 1. **Atšakokite saugyklą** į savo GitHub paskyrą
2. **Klonuokite savo forką** vietoje 2. **Klonuokite savo atšaką** lokaliai
3. **Sukurkite naują šaką** savo pakeitimams 3. **Sukurkite naują šaką** savo pakeitimams
4. Redaguokite pamokų turinį arba kodo pavyzdžius 4. Atlikite turinio ar kodo pavyzdžių pakeitimus pamokose
5. Išbandykite kodo pakeitimus susijusiuose projekto kataloguose 5. Patikrinkite kodo pakeitimus atitinkamuose projekto kataloguose
6. Pateikite pull requestus pagal indėlio taisykles 6. Pateikite pull requests laikantis indėlio taisyklių
### Mokiniams ### Mokiniams
1. Padarykite forką arba klonuokite saugyklą 1. Atšakokite arba klonuokite saugyklą
2. Sekite pamokų katalogus nuosekliai 2. Eikite sekantiems pamokų katalogams paeiliui
3. Skaitykite README failus kiekvienoje pamokoje 3. Skaitykite kiekvienos pamokos README failus
4. Užbaikite priešpamokinius testus adresu https://ff-quizzes.netlify.app/web/ 4. Atlikite priešpamokinius testus https://ff-quizzes.netlify.app/web/
5. Dirbkite su kodo pavyzdžiais pamokų aplankuose 5. Dirbkite su kodo pavyzdžiais pamokų aplankuose
6. Atlikite užduotis ir iššūkius 6. Atlikite užduotis ir iššūkius
7. Išbandykite po pamokos testus 7. Atlikite pastraipinius testus
### Tiesioginis kūrimas ### Tiesioginis vystymas
- **Dokumentacija**: paleiskite `docsify serve` pagrindiniame kataloge (3000 portas) - **Dokumentacija**: paleiskite `docsify serve` pagrindiniame kataloge (portas 3000)
- **Testų programėlė**: paleiskite `npm run dev` quiz-app kataloge - **Testų programėlė**: paleiskite `npm run dev` quiz-app kataloge
- **Projektai**: naudokite VS Code Live Server plėtinį HTML projektams - **Projektai**: naudokite VS Code Live Server plėtinį HTML projektams
- **API projektai**: paleiskite `npm start` atitinkamuose API kataloguose - **API projektai**: paleiskite `npm start` atitinkamuose API kataloguose
@ -111,84 +111,84 @@ python api.py
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Patikrinkite kodo stiliaus problemas npm run lint # Patikrinkite kodo stiliaus problemas
npm run build # Patvirtinkite, kad sukūrimas pavyksta npm run build # Patikrinkite, ar statyba sėkminga
``` ```
### Banko API testavimas ### Banko API testavimas
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # Patikrinkite kodo stiliaus klaidas npm run lint # Patikrinti kodo stiliaus problemas
node server.js # Patikrinkite, ar serveris paleidžiamas be klaidų node server.js # Patvirtinti, kad serveris paleidžiamas be klaidų
``` ```
### Bendras testavimo metodas ### Bendras testavimo metodas
- Tai yra mokomoji saugykla be išsamiai automatizuotų testų - Tai švietimo saugykla be išsamios automatizuotos testavimo sistemos
- Rankinis testavimas orientuotas į: - Rankinis testavimas orientuotas į:
- Kodo pavyzdžių veikimą be klaidų - Kodo pavyzdžių vykdymą be klaidų
- Nuorodų dokumentacijoje veikimą - Dokumentacijos nuorodų veikimą
- Sėkmingą projektų surinki - Projekto sėkmingą sudary
- Pavyzdžių atitikimą geriausioms praktikoms - Pavyzdžius atitinkančius gerąsias praktikas
### Patikrinimai prieš pateikiant pakeitimus ### Prieš pateikiant patikrinimus
- Paleiskite `npm run lint` kataloguose su package.json - Paleiskite `npm run lint` kataloguose su package.json
- Patikrinkite, ar markdown nuorodos veikia - Patikrinkite markdown nuorodų galiojimą
- Išbandykite kodo pavyzdžius naršyklėje arba Node.js - Testuokite kodo pavyzdžius naršyklėje arba Node.js aplinkoje
- Įsitikinkite, kad vertimai išlaiko struktūrą - Įsitikinkite, kad vertimai išlaiko tinkamą struktūrą
## Kodo stiliaus gairės ## Kodo stiliaus gairės
### JavaScript ### JavaScript
- Naudokite modernią ES6+ sintaksę - Naudoti modernią ES6+ sintaksę
- Laikykitės standartinių ESLint konfigūracijų projektuose - Laikytis standartinių ESLint konfigūracijų projektuose
- Naudokite prasmingus kintamųjų ir funkcijų pavadinimus mokomajam aiškumui - Naudoti prasmingus kintamųjų ir funkcijų pavadinimus švietimui aiškinti
- Rašykite komentarus, paaiškinančius koncepcijas mokiniams - Pridėti komentarus konceptų paaiškinimui mokiniams
- Formatuokite naudodami Prettier, jei konfigūruota - Formatuoti su Prettier, jei konfigūruota
### HTML/CSS ### HTML/CSS
- Semantiniai HTML5 elementai - Semantikos atitinkantys HTML5 elementai
- Atsakingo dizaino principai - Reaguojantis dizainas
- Aiškios klasių vardų konvencijos - Aiškios klasių pavadinimų konvencijos
- Komentarai paaiškinantys CSS technikas mokiniams - Komentarai CSS technikoms paaiškinti mokiniams
### Python ### Python
- PEP 8 stiliaus gairės - PEP 8 stiliaus gairės
- Aiškūs, mokomieji kodo pavyzdžiai - Aiškūs, švietimui skirti kodo pavyzdžiai
- Tipų užuominos, kur naudingos mokymuisi - Tipo užuominos, jei padeda mokymuisi
### Markdown dokumentacija ### Markdown dokumentacija
- Aiški antraščių hierarchija - Aiški antraščių hierarchija
- Kodo blokai su kalbos žymėjimu - Kodo blokai su kalbos nurodymu
- Nuorodos į papildomus šaltinius - Nuorodos į papildomus išteklius
- Ekrano nuotraukos ir paveikslėliai `images/` kataloguose - Ekrano kopijos ir paveikslėliai `images/` kataloguose
- Alt tekstas paveikslėliams prieinamumui - Alternatyvus tekstas paveikslėliams, siekiant prieinamumo
### Failų organizavimas ### Failų organizavimas
- Pamokos numeruojamos nuosekliai (1-getting-started-lessons, 2-js-basics ir kt.) - Pamokos su numeriais paeiliui (1-getting-started-lessons, 2-js-basics ir kt.)
- Kiekvienas projektas turi `solution/` ir dažnai `start/` arba `your-work/` katalogus - Kiekvienas projektas turi `solution/` ir dažnai `start/` arba `your-work/` katalogus
- Paveikslėliai saugomi kiekvienos pamokos `images/` aplankuose - Paveikslėliai saugomi pamokai priskirtuose `images/` aplankuose
- Vertimai saugomi `translations/{kalbos-kodas}/` struktūroje - Vertimai saugomi `translations/{language-code}/` kataloguose
## Surinkimas ir diegimas ## Sudarymas ir diegimas
### Testų programėlės diegimas (Azure Static Web Apps) ### Testų programėlės diegimas (Azure Static Web Apps)
Quiz-app sukonfigūruotas Azure Static Web Apps diegimui: quiz-app yra sukonfigūruota Azure Static Web Apps diegimui:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # Sukuria dist/ aplanką npm run build # Sukuria dist/ aplanką
# Diegia per GitHub Actions darbo eigą, kai į pagrindinę šaką įdedama nauja versija # Diegia naudojant GitHub Actions darbo eigą, kai stumiama į main
``` ```
Azure Static Web Apps konfigūracija: Azure Static Web Apps konfiguracija:
- **Programėlės vieta**: `/quiz-app` - **Programėlės vieta**: `/quiz-app`
- **Išvesties vieta**: `dist` - **Išvesties vieta**: `dist`
- **Darbo eiga**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Darbo eiga**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
@ -197,31 +197,31 @@ Azure Static Web Apps konfigūracija:
```bash ```bash
npm install # Įdiekite docsify-to-pdf npm install # Įdiekite docsify-to-pdf
npm run convert # Generuoti PDF iš dokumentų npm run convert # Sugeneruoti PDF iš dokumentų
``` ```
### Docsify dokumentacija ### Docsify dokumentacija
```bash ```bash
npm install -g docsify-cli # Įdiekite Docsify globaliai npm install -g docsify-cli # Įdiekite Docsify globaliai
docsify serve # Tiekite per localhost:3000 docsify serve # Paleiskite serveryje localhost:3000
``` ```
### Projektams būdingi surinkimo veiksmai ### Projektui specifiniai sudarymai
Kiekviename projekto kataloge gali būti savas surinkimo procesas: Kiekvienas projekto katalogas gali turėti savo sudarymo procesą:
- Vue projektai: `npm run build` sukuria gamybinius paketus - Vue projektai: `npm run build` sukuria gamybines pakuotes
- Statiniai projektai: nėra surinkimo žingsnio, failai tiesiogiai tiekiami - Statiniai projektai: nėra sudarymo žingsnio, failai pateikiami tiesiogiai
## Pull request gairės ## Pull Request gairės
### Pavadinimų formatas ### Antraštės formatas
Naudokite aiškius, aprašomuosius pavadinimus, nurodančius pakeitimo sritį: Naudokite aiškius, aprašomuosius pavadinimus, nurodančius pakeitimo sritį:
- `[Quiz-app] Įdėti naują testą pamokai X` - `[Quiz-app] Pridėti naują testą pamokai X`
- `[Lesson-3] Ištaisytas rašybos klaida terariumo projekte` - `[Lesson-3] Ištaisyti klaidą terariumo projekte`
- `[Translation] Įterptas ispaniškas vertimas pamokai 5` - `[Translation] Pridėti ispanų vertimą pamokai 5`
- `[Docs] Atnaujintos diegimo instrukcijos` - `[Docs] Atnaujinti diegimo instrukcijas`
### Būtini patikrinimai ### Būtini patikrinimai
@ -229,49 +229,49 @@ Prieš pateikiant PR:
1. **Kodo kokybė**: 1. **Kodo kokybė**:
- Paleiskite `npm run lint` paveiktuose projekto kataloguose - Paleiskite `npm run lint` paveiktuose projekto kataloguose
- Ištaisyti visus lint klaidų ir įspėjimų pranešimus - Ištaisykite visas lint klaidas ir įspėjimus
2. **Surinkimo patikra**: 2. **Sudarymo patikra**:
- Jei taikoma, paleiskite `npm run build` - Jei taikoma, paleiskite `npm run build`
- Užtikrinkite, kad nėra surinkimo klaidų - Užtikrinkite, kad nėra sudarymo klaidų
3. **Nuorodų tikrinimas**: 3. **Nuorodų validacija**:
- Išbandykite visas markdown nuorodas - Išbandykite visas markdown nuorodas
- Patikrinkite paveikslėlių nuorodas - Patikrinkite, ar paveikslėlių nuorodos veikia
4. **Turinio peržiūra**: 4. **Turinio peržiūra**:
- Redagavimas dėl rašybos ir gramatikos - Tikrinkite rašybą ir gramatiką
- Užtikrinkite, kad kodo pavyzdžiai yra teisingi ir mokomieji - Užtikrinkite, kad kodo pavyzdžiai tinkami ir švietimo tikslais
- Patikrinkite, ar vertimai išlaiko originalią prasmę - Patikrinkite, ar vertimai išlaiko pradinę prasmę
### Indėlio reikalavimai ### Indėlio reikalavimai
- Sutikite su Microsoft CLA (automatizuotas patikrinimas pirmam PR) - Sutikite su Microsoft CLA (automatinis tikrinimas pirmo PR metu)
- Laikykitės [Microsoft atvirojo kodo elgesio kodekso](https://opensource.microsoft.com/codeofconduct/) - Vadovaukitės [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Žr. [CONTRIBUTING.md](./CONTRIBUTING.md) dėl išsamesnių gairių - Peržiūrėkite [CONTRIBUTING.md](./CONTRIBUTING.md) dėl išsamios informacijos
- Nurodykite problemų numerius PR aprašyme, jei taikoma - Nurodykite klausimų numerius PR aprašyme, jei taikoma
### Peržiūros procesas ### Apžvalgos procesas
- PR peržiūri prižiūrėtojai ir bendruomenė - PR apžvelgia priežiūrėtojai ir bendruomenė
- Prioritetas skiriamas mokomajam aiškumui - Prioritetas teikiamas mokymosi aiškumui
- Kodo pavyzdžiai turi atitikti dabartines geriausias praktikas - Kodo pavyzdžiai turi laikytis dabartinių geriausių praktikų
- Vertimai peržiūrimi dėl tikslumo ir kultūrinės tinkamumo - Vertimai peržiūrimi dėl tikslumo ir kultūrinio atitikimo
## Vertimų sistema ## Vertimo sistema
### Automatizuotas vertimas ### Automatizuotas vertimas
- Naudoja GitHub Actions su co-op-translator darbo eiga - Naudoja GitHub Actions su co-op-translator darbo eiga
- Automatiškai verčia į daugiau nei 50 kalbų - Automatiškai verčia į 50+ kalbų
- Šaltinio failai pagrindiniuose kataloguose - Šaltinio failai pagrindiniuose kataloguose
- Išversti failai saugomi `translations/{kalbos-kodas}/` kataloguose - Išversti failai saugomi `translations/{language-code}/` kataloguose
### Rankinių vertimų patobulinimų pridėjimas ### Rankinių vertimo patobulinimų pridedimas
1. Raskite failą `translations/{kalbos-kodas}/` 1. Suraskite failą `translations/{language-code}/`
2. Atlikite patobulinimus saugodami struktūrą 2. Atlikite patobulinimus išlaikant struktūrą
3. Įsitikinkite, kad kodo pavyzdžiai veikia 3. Įsitikinkite, kad kodo pavyzdžiai veikia teisingai
4. Išbandykite lokalizuotą testų turinį 4. Išbandykite lokalizuotą testų turinį
### Vertimų metaduomenys ### Vertimų metaduomenys
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## Derinimas ir trikčių šalinimas ## Derinimas ir problemų sprendimas
### Dažnos problemos ### Dažniausios problemos
**Testų programėlė nepaleidžiama**: **Testų programėlė nesikrauna**:
- Patikrinkite Node.js versiją (rekomenduojama v14+) - Patikrinkite Node.js versiją (rekomenduojama v14+)
- Ištrinkite `node_modules` ir `package-lock.json`, vėl paleiskite `npm install` - Ištrinkite `node_modules` ir `package-lock.json`, paleiskite dar kartą `npm install`
- Pasitikrinkite, ar nėra prievado konflikto (numatyta: Vite naudoja 5173 prievadą) - Patikrinkite ar nėra uosto konflikto (numatytas: Vite naudoja 5173 portą)
**API serveris nepaleidžiamas**: **API serveris nesikrauna**:
- Patikrinkite, ar Node.js versija atitinka reikalavimus (node >=10) - Įsitikinkite, kad Node.js versija atitinka minimalią (node >=10)
- Įsitikinkite, kad prievadas nėra užimtas - Patikrinkite, ar uostas jau nenaudojamas
- Užtikrinkite, kad įdiegti visi priklausymai su `npm install` - Įsitikinkite, kad visos priklausomybės įdiegtos su `npm install`
**Naršyklės plėtinys nesikrauna**: **Naršyklės plėtinys nesikrauna**:
- Patikrinkite, ar manifest.json tinkamai suformatuotas - Patikrinkite, ar manifest.json teisingai suformatuotas
- Peržiūrėkite naršyklės konsolę dėl klaidų - Peržiūrėkite naršyklės konsolę dėl klaidų
- Laikykitės naršyklės specifinių plėtinių diegimo instrukcijų - Sekite naršyklės specifines plėtinių diegimo instrukcijas
**Python pokalbių projekto problemos**: **Python pokalbių projekto problemos**:
- Įsitikinkite, kad įdiegtas OpenAI paketas: `pip install openai` - Įdiekite OpenAI paketą: `pip install openai`
- Patikrinkite, ar nustatytas GITHUB_TOKEN aplinkos kintamasis - Įsitikinkite, kad GITHUB_TOKEN aplinkos kintamasis nustatytas
- Patikrinkite GitHub modelių prieigos leidimus - Patikrinkite GitHub Models prieigos teises
**Docsify nesuteikia dokumentacijos**: **Docsify neduoda dokumentų**:
- Įdiekite docsify-cli globaliai: `npm install -g docsify-cli` - Įdiekite docsify-cli globaliai: `npm install -g docsify-cli`
- Paleiskite iš saugyklos šaknies katalogo - Paleiskite iš saugyklos šaknies
- Įsitikinkite, kad egzistuoja `docs/_sidebar.md` - Patikrinkite, ar egzistuoja `docs/_sidebar.md`
### Kūrimo aplinkos patarimai ### Vystymo aplinkos patarimai
- Naudokite VS Code su Live Server plėtiniu HTML projektams - Naudokite VS Code su Live Server plėtiniu HTML projektams
- Įdiekite ESLint ir Prettier plėtinius vientisam formatavimui - Įdiekite ESLint ir Prettier plėtinius nuosekliam formatavimui
- Naudokite naršyklės DevTools JavaScript derinimui - Naudokite naršyklės DevTools JavaScript derinimui
- Vue projektams įdiekite Vue DevTools naršyklės plėtinį - Vue projektams naudokite Vue DevTools naršyklės plėtinį
### Veikimo optimizavimas ### Veikimo efektyvumo patarimai
- Daug išverstų failų (daugiau nei 50 kalbų) reiškia, kad pilni klonai yra dideli - Didelis išverstų failų kiekis (50+ kalbų) reiškia, kad pilni klonai dideli
- Naudokite seklią klonavimą, jei dirbate tik su turiniu: `git clone --depth 1` - Naudokite paviršinį klonavimą, jei dirbate tik su turiniu: `git clone --depth 1`
- Vertimus išskirkite iš paieškų dirbant su anglų turiniu - Dirbant su anglišku turiniu, išimkite vertimus iš paieškos
- Surinkimo procesai gali būti lėtesni pirmą kartą (npm install, Vite build) - Sudarymo procesai pirmą kartą gali būti lėti (npm install, Vite build)
## Saugumo svarstymai ## Saugumo aspektai
### Aplinkos kintamieji ### Aplinkos kintamieji
- API raktai niekada neturėtų būti įtraukti į saugyklą - API raktai niekada neturi būti įtraukiami į saugyklą
- Naudokite `.env` failus (jau įtraukti į `.gitignore`) - Naudokite `.env` failus (jau įtraukti į `.gitignore`)
- Dokumentuokite reikalingus aplinkos kintamuosius projekto README - Reikalingi aplinkos kintamieji dokumentuojami projekto README
### Python projektai ### Python projektai
- Naudokite virtualias aplinkas: `python -m venv venv` - Naudokite virtualias aplinkas: `python -m venv venv`
- Laikykite priklausomybes atnaujintas - Laikykite priklausomybes atnaujintas
- GitHub tokenai turi turėti tik minimalias reikalingas teises - GitHub tokenai turėtų turėti minimalias būtinas teises
### GitHub modelių prieiga ### GitHub Models prieiga
- Reikia asmeninių prieigos tokenų (PAT) GitHub modeliams - Reikalingi asmeniniai prieigos raktai (PAT)
- Tokenus saugokite kaip aplinkos kintamuosius - Raktai turi būti saugomi kaip aplinkos kintamieji
- Niekada nenaudokite commitinant tokenų ar prisijungimo duomenų - Niekada neįtraukti jų į saugyklą ar viešinti
## Papildomos pastabos ## Papildomos pastabos
### Tikslinė auditorija ### Tikslinė auditorija
- Visi pradedantieji interneto kūrime - Visiškai pradedantieji interneto kūrime
- Studentai ir savarankiškai besimokantys - Studentai ir savarankiški besimokantieji
- Mokytojai, naudojantys mokymo programą klasėse - Mokytojai, naudojantys programą klasėje
- Turinys pritaikytas prieinamumui ir palaipsniui įgyjamam įgūdžių augimui - Turinys sukonstruotas prieinamumui ir nuosekliam įgūdžių įgijimui
### Mokymosi filosofija ### Švietimo filosofija
- Mokymasis per projektus - Mokymasis pagrįstas projektais
- Dažni žinių patikrinimai (testai) - Dažni žinių patikrinimai (testai)
- Praktiniai kodo rašymo pratimai - Praktiniai kodavimo užsiėmimai
- Realūs pritaikymo pavyzdžiai - Realių projektų pavyzdžiai
- Dėmesys pagrindams prieš technologijų karkasus - Dėmesys pagrindams prieš frameworks
### Saugyklos priežiūra ### Saugyklos priežiūra
- Aktyvi mokinių ir prisidėjusių bendruomenė - Aktyvi mokinių ir prisidėjusių bendruomenė
- Reguliarūs atnaujinimai priklausomybių ir turinio srityje - Reguliarūs priklausomybių ir turinio atnaujinimai
- Problemos ir diskusijos stebimos prižiūrėtojų - Klausimai ir diskusijos prižiūrimi saugyklos savininkų
- Vertimų atnaujinimai automatiškai per GitHub Actions - Vertimų atnaujinimai automatizuoti per GitHub Actions
### Susiję ištekliai ### Susiję ištekliai
- [Microsoft Learn moduliai](https://docs.microsoft.com/learn/) - [Microsoft Learn moduliai](https://docs.microsoft.com/learn/)
- [Studentų centras](https://docs.microsoft.com/learn/student-hub/) - [Studentų centras](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) rekomenduojamas mokiniams - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) rekomenduojamas besimokantiesiems
- Papildomi kursai: Generatyvinis AI, Duomenų mokslas, ML, IoT programos - Papildomi kursai: Generatyvioji AI, Duomenų mokslas, ML, IoT programos
### Darbas su konkrečiais projektais ### Darbas su konkrečiais projektais
Išsamias instrukcijas žr. README failuose: Išsamios individualių projektų instrukcijos pateiktos README failuose:
- `quiz-app/README.md` - Vue 3 testų programėlė - `quiz-app/README.md` - Vue 3 testų programėlė
- `7-bank-project/README.md` - Banko programa su autentifikacija - `7-bank-project/README.md` - Banko programa su autentifikacija
- `5-browser-extension/README.md` - Naršyklės plėtinio kūrimas - `5-browser-extension/README.md` - Naršyklės plėtinių kūrimas
- `6-space-game/README.md` - Canvas pagrindu sukurtas žaidimas - `6-space-game/README.md` - Žaidimas su Canvas
- `9-chat-project/README.md` - AI pokalbių asistento projektas - `9-chat-project/README.md` - AI pokalbių asistento projektas
### Monorepo struktūra ### Monorepo struktūra
Nors tai nėra tradicinis monorepozitorijus, ši saugykla talpina kelis nepriklausomus projektus: Nors tai nėra tradicinis monorepo, ši saugykla turi kelis nepriklausomus projektus:
- Kiekviena pamoka yra savarankiška - Kiekviena pamoka yra savarankiška
- Projektai nesidalija priklausomybėmis - Projektai nesidalina priklausomybėmis
- Dirbkite su atskirais projektais nesutrigdami kitų - Darbai su atskirais projektais neturi įtakos kitiems
- Klonuokite visą repo norėdami turėti visą mokymo programą - Klonuokite visą saugyklą pilnam kursui gauti
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės apribojimas**: **Atsakomybės ribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojamas profesionalus žmogaus vertimas. Mes neatsakome už bet kokius nesusipratimus ar neteisingus aiškinimus, atsirandančius naudojant šį vertimą. Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors stengiamės užtikrinti tikslumą, atkreipkite dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba yra laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojamas profesionalus žmogiškasis vertimas. Mes neatsakome už bet kokius nesusipratimus ar klaidingas interpretacijas, kylančias naudojant šį vertimą.
<!-- 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-06T17:49:59+00:00", "translation_date": "2026-04-20T16:09:05+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "my" "language_code": "my"
}, },

@ -2,27 +2,27 @@
## Project Overview ## Project Overview
ီဟာက web ဖန်တီးမှု အခြေခံသင်ခန်းစာတွေကို အစမှစသင်ကြားဖို့ အတွက် ပညာရေး အတွက် သင်ကြားမှု လေ့လာရေး စာစောင်တစ်ခု ဖြစ်ပါတယ်။ ဒီသင်ကြားရေးအစီအစဉ်ဟာ Microsoft Cloud Advocates တွေက ဖန်တီးထားတဲ့ ၁၂ ပတ်ကြာ သင်ရိုးအစီအစဉ် ပြည့်စုံပြီး၊ JavaScript, CSS နဲ့ HTML ကို အခြေခံဖြင့် ပြုလုပ်ထားတဲ့ လက်တွေ့လေ့ကျင့်ခန်း ၂၄ ခု ပါဝင်ပါတယ်။ ါဟာ ဝဘ်ဒီဗလပ်မှန်အခြေခံမှုများကို စတင်လေ့လာသူများအတွက် သင်ကြားပေးရန် အရည်အချင်းမြှင့်ပညာရေး သင်ရိုးညွှန်းလမ်းကြောင်း ရှည်လျားသော ထောက်ပံ့မှုပလက်ဖောင်းတစ်ခု ဖြစ်သည်။ သင်ရိုးညွှန်းလမ်းကြောင်းမှာ Microsoft Cloud Advocates မှ ဖန်တီးထားသော 12 နာရီကြာ သင်တန်း ၁၂ ပတ် တစ်ခု ဖြစ်ပြီး JavaScript, CSS, နှင့် HTML ကို မျက်နှာသာသော သင်ခန်းစာ ၂၄ ခု ပါဝင်သည်။
### Key Components ### Key Components
- **ပညာရေး အကြောင်းအရာ**: စီမံချက်အခြေခံ မော်ဂျူးများအဖြစ် အစီအစဉ်ပြုလုပ်ထားသော ၂၄ ခန်းသင်ခန်းစာများ - **ပညာရေး အကြောင်းအရာများ**: စီစဉ်ထားသော သင်ခန်းစာ ၂၄ ခန်းများ၊ စီမံကိန်းလိုက် မော်ဂျူလ်များအဖြစ်
- **လက်တွေ့ပရောဂျက်များ**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, နဲ့ AI Chat Assistant - **လက်တွေ့ ပရောဂျက်များ**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, နှင့် AI Chat Assistant
- **အပြန်အလှန် စမ်းသပ်မေးခွန်းများ**: ခန်းသင်ခန်းစာများမတိုင်မီနဲ့ပြီးနောက် အစီအစဉ် ၄၈ ခု၊ မေးခွန်း ၃ ခုစီ ပါဝင်သည် - **အပြန်အလှန် စာမေးပွဲများ**: တစ်ခုခြင်း သင်ခန်းစာ မတိုင်မီ နှင့် သင်ခန်းစာပြီးနောက် အကဲဖြတ်ရန် မေးခွန်း ၃ မျိုး ပါဝင်သည့် စာမေးပွဲ ၄၈ ခု
- **ဘာသာစကား အတန်းပြိုင်ပံ့ပိုးမှု**: GitHub Actions အသုံးပြုပြီး ဘာသာပြန်မှု ၅၀ ကျော်ကို အလိုအလျောက်ပြုလုပ်ခြင်း - **ဘာသာစကားပေါင်းများစွာ အထောက်အပံ့**: GitHub Actions မှ တစ်ဆင့် ဘာသာစကား ၅၀ ကျော် အလိုအလျောက် ဘာသာပြန်ခြင်း
- **နည်းပညာများ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI ပရောဂျက်များအတွက်) - **နည်းပညာများ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI ပရောဂျက်များအတွက်)
### Architecture ### Architecture
- သင်ခန်းစာအခြေခံ ပညာရေး အရင်းအမြစ် - သင်ခန်းစာအခြေခံ ပညာရေး ဒေတာဗေ့စ်
- ထိုသင်ခန်းစာကို ဖိုင်အတွင်း README, ကုဒ်ဥပမာ၊ ဖြေရှင်းနည်းများ ပါရှိသည် - သင်ခန်းစာ တစ်ခုချင်း အတွင်း README, ကုဒ်နမူနာများ နှင့် နည်းလမ်း ဖြေရှင်းချက်များ ပါဝင်သည်
- ပရောဂျက်များကို စတင်ဖိုင်ခွဲခြင်းဖြင့် (quiz-app, အကွာအဝေးရှိသောသင်ခန်းစာပရောဂျက်များ) - စကြာ ဝင်ပေါက်ရှိသော ပရောဂျက်များ ကို ထူးခြားသော ဖိုလ်ဒါများတွင် ထားရှိသည် (quiz-app, စသည်)
- GitHub Actions ဖြင့် ဘာသာပြန်မှုစနစ် တည်ဆောက်ထားသည် (co-op-translator) - GitHub Actions (co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်စနစ်
- Docsify ဖြင့် စာတမ်းစာတမ်းများ ပေးပို့ပြီး PDF အဖြစ်လည်း ရနိုင - Docsify ဖြင့် စာရွက်စာတမ်းများကို ဝန်ဆောင်မှုပေးပြီး PDF အဖြစ်လည်းရနိုင်သည
## Setup Commands ## Setup Commands
ဒီရေှာပလာ ဖြင့် ပညာရေးအကြောင်းအရာ အသုံးပြုရန်သာ ရည်ရွယ်ထားသည်။ သီးသန့် ပရောဂျက်များကို အလုပ်လုပ်ရန်။ ဒီ ဒေတာဗေ့စ်ကို စင်စစ်ပညာရေး အကြောင်းအရာ အသုံးပြုရုံအတွက် အဓိက ရည်ရွယ်သည်။ အထူးပရောဂျက်များနှင့် လုပ်ကိုင်ရန်အတွက်:
### Main Repository Setup ### Main Repository Setup
@ -38,7 +38,7 @@ cd quiz-app
npm install npm install
npm run dev # ဖွံ့ဖြိုးမှုဆာဗာကို စတင်ပါ npm run dev # ဖွံ့ဖြိုးမှုဆာဗာကို စတင်ပါ
npm run build # ထုတ်လုပ်မှုအတွက် တည်ဆောက်ပါ npm run build # ထုတ်လုပ်မှုအတွက် တည်ဆောက်ပါ
npm run lint # ESLint ကို လည်ပတ်ပါ npm run lint # ESLint ကို chạyပါ
``` ```
### Bank Project API (Node.js + Express) ### Bank Project API (Node.js + Express)
@ -47,8 +47,8 @@ npm run lint # ESLint ကို လည်ပတ်ပါ
cd 7-bank-project/api cd 7-bank-project/api
npm install npm install
npm start # API ဆာဗာ စတင်ပါ npm start # API ဆာဗာ စတင်ပါ
npm run lint # ESLint ကို လည်ပတ်ပါ npm run lint # ESLint ကို ပြေးပါ
npm run format # Prettier ဖြင့် ဖော်မတ်လုပ်ပါ npm run format # Prettier ဖြင့် ပုံစံစစဆေးပါ
``` ```
### Browser Extension Projects ### Browser Extension Projects
@ -56,7 +56,7 @@ npm run format # Prettier ဖြင့် ဖော်မတ်လုပ်
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# ဘရောက်ဇာအလိုက် သီးခြား extension ဖွင့်သည့် ညွှန်ကြားချက်များအား လိုက်နာရန် # ဘရောက်ဇာအသီးသီးထည့်သွင်းနည်းလမ်းညွှန်များကိုလိုက်နာပါ
``` ```
### Space Game Projects ### Space Game Projects
@ -64,7 +64,7 @@ npm install
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# index.html ကို browser မှာဖွင့်ပါ သို့မဟုတ် Live Server ကိုသုံးပါ # index.html ကို browser မှာဖွင့်ပါ သို့မဟုတ် Live Server ကိုသုံးပြုပါ
``` ```
### Chat Project (Python Backend) ### Chat Project (Python Backend)
@ -72,7 +72,7 @@ npm install
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# GITHUB_TOKEN ပတ်ဝန်းကျင်အပြောင်းအလဲတတ်သော သတ်မှတ်ပါ # GITHUB_TOKEN ပတ်ဝန်းကျင်အပြောင်းအလဲ ကို သတ်မှတ်ပါ
python api.py python api.py
``` ```
@ -80,29 +80,29 @@ python api.py
### For Content Contributors ### For Content Contributors
1. **သင့် GitHub အကောင့်သို့ repo ကို fork လုပ်ပါ** 1. **ရိုက်နှိပ်ပြီး fork လုပ်ရန်** မိမိ၏ GitHub အကောင့်သို့
2. **သင့် fork ကို ဒေသတွင်း clone လုပ်ပါ** 2. **fork ကို clone လုပ်ပါ** ဒေသခံစနစ်သို့
3. **မပြောင်းလဲမှုအတွက် ဧရိယာအသစ်တစ်ခု ဖန်တီးပါ** 3. **သင်ပြင်ဆင်လိုသော ဗားရှင်း အသစ် ဖန်တီးပါ**
4. သင်ခန်းစာ အကြောင်းအရာ သို့မဟုတ် ကုဒ်ဥပမာများ ပြင်ဆင်ပါ 4. သင်ခန်းစာ အကြောင်းအရာ သို့မဟုတ် ကုဒ်နမူနာများ ပြင်ဆင်ပါ
5. သက်ဆိုင်ရာ ပရောဂျက်ဖိုလ်ဒါများတွင် ကုဒ်ပြောင်းလဲမှုများ စမ်းသပ်ပါ 5. ပရောဂျက်တွင် ကုဒ်ပြင်ဆင်မှုများ ရရှိပါက စမ်းသပ်ပါ
6. ပံ့ပိုးမှု လမ်းညွှန်ချက်အတိုင်း pull request များတင်သွင်းပါ 6. အကူအညီအဖွဲ့ ဆောင်ရွက်နေသော လမ်းညွှန်ချက်များအတိုင်း pull request တင်သွင်းပါ
### For Learners ### For Learners
1. Repo ကို fork လုပ် သို့မဟုတ် clone လုပ်ပါ 1. Fork လုပ် သို့မဟုတ် clone လုပ်ပါ
2. သင်ခန်းစာဖိုလ်ဒါများကို တရားဝင်လိုက်နာ ပြီး သွားပါ 2. သင်ခန်းစာ ဖိုလ်ဒါများကို နောက်တတ်တိုက် တိုင်ရွက်ပါ
3. ခန်းသင်စာများအတွက် README ဖိုင်များ ဖတ်ပါ 3. သင်ခန်းစာမျက်နှာများကို ဖတ်ရှုပါ
4. https://ff-quizzes.netlify.app/web/ တွင် သင်ခန်းစာမတိုင်မီ စစ်ဆေးမေးခွန်းများ ဖြေဆိုပါ 4. https://ff-quizzes.netlify.app/web/ တွင် သင်ခန်းစာမတိုင်မီ စာမေးပွဲ ဖြေဆိုပါ
5. သင်ခန်းစာဖိုလ်ဒါများအတွင်း ကုဒ်ဥပမာများနှင့် လေ့ကျင့်ပါ 5. သင်ခန်းစာဖိုလ်ဒါများတွင် ကုဒ်နမူနာများကို လေ့လာပါ
6. အလုပ်များနှင့် စိန်ခေါ်မှုများ ပြီးမြောက်ပါ 6. အလုပ်အပ်နှင့် စိန်ခေါ်မှုများ ပြီးမြောက်အောင် ဆောင်ရွက်ပါ
7. သင်ခန်းစာပြီးနောက် စစ်ဆေးမေးခွန်းများ ဖြေပါ 7. သင်ခန်းစာပြီးနောက် စာမေးပွဲများ ဖြေဆိုပါ
### Live Development ### Live Development
- **စာတမ်းစာရွက်များ**: root တွင် `docsify serve` နှင့် ကိုင်တွယ်ပါ (port 3000) - **စာရွက်စာတမ်းများ**: ကိုယ်ပိုင် `docsify serve` ကို root တွင်ချပြရန် (port 3000)
- **Quiz App**: quiz-app ဖိုလ်ဒါ`npm run dev` ကို အသုံးပြုပါ - **Quiz App**: quiz-app ဖိုလ်ဒါတွင် `npm run dev` ဖြစ်စေပါ
- **ပရောဂျက်များ**: HTML ပရောဂျက်များအတွက် VS Code Live Server extension သုံးပါ - **ပရောဂျက်များ**: VS Code ရဲ့ Live Server extension ကို HTML ပရောဂျက်များအတွက် အသုံးပြုပါ
- **API ပရောဂျက်များ**: သက်ဆိုင်ရာ API ဖိုလ်ဒါများတွင် `npm start` ကို run လုပ်ပါ - **API ပရောဂျက်များ**: အဆိုပါ API ဖိုလ်ဒါများတွင် `npm start` ချပြပါ
## Testing Instructions ## Testing Instructions
@ -110,173 +110,173 @@ python api.py
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # ကုတ်ပုံစံပြဿနာများကို စစ်ဆေးပါ npm run lint # ကုဒ်ပုံစံ ပြဿနာများကို စစ်ဆေးပါ
npm run build # တည်ဆောက်မှု အောင်မြင်မှုကို သေချာပါစေ npm run build # ဖွဲ့စည်းမှု အောင်မြင်မှုကို အတည်ပြုပါ
``` ```
### Bank API Testing ### Bank API Testing
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm run lint # ကုဒ်ပုံစံ ပြဿနာများကို စစ်ဆေးပါ npm run lint # ကုဒ်စတိုင်ပြဿနာများကို စစ်ဆေးပါ
node server.js # ဆာဗာ အမှားများမရှိဘဲ စတင်နိုင်ကြောင်း အတည်ပြုပါ node server.js # အမှားများမရှိဘဲ ဆာဗာစတင်သည်ကို သေချာစစ်ဆေးပါ
``` ```
### General Testing Approach ### General Testing Approach
- ဒီဟာက ပညာရေးအတွက် ဖြစ်ပြီး စက်ရုပ် စမ်းသပ်မှု ပြည့်စုံမရှိပါ - ဒေတာဗေ့စ်သည် အလိုအလျောက် စမ်းသပ်မှု ပုံမှန် မပါဝင်သော ပညာရေးစနစ်ဖြစ်သည်
- လက်တွေ့စမ်းသပ်ခြင်း အခြေခံချက်များမှာ - စမ်းသပ်မှုများကို လက်မှုပုံစံဖြင့် အောက်ပါအတိုင်း အာရုံစိုက်ပါသည် -
- ကုဒ်ဥပမာများ အမှားမရှိ များကို ပြေးနိုင်မှု - ကုဒ်နမူနာများ အမှားမဖြစ်စေဘဲ ပြေးပါခြင်း
- စာတမ်းစာရွက်အတွင်း လင့်ခ်များ တိကျမှု - စာရွက်စာတမ်းတွင် မျှဝေထားသော လင့်ခ်များ အလုပ်လုပ်ရခြင်း
- ပရောဂျက်များ အဆင်သင့် ပြီးဆုံးမှု - ပရောဂျက်တည်ဆောက်မှု ပြီးမြောက်ခြင်း
- ဥပမာများ စံပြနည်းလမ်းများကို လိုက်နာခြင်း - နမူနာများသည် ကောင်းမွန်သော လေ့လာမှုနည်းလမ်းများကို လိုက်နာခြင်း
### Pre-submission Checks ### Pre-submission Checks
- package.json တွင်ရှိသောဖိုလ်ဒါများတွင် `npm run lint` ရောစစ်ပါ - package.json ပါဝင်သော ဖိုလ်ဒါများတွင် `npm run lint` ကို တင်သတ်ပါ
- Markdown လင့်ခ်များမှာ မှန်ကန်မှု ရှိ/မရှိ စစ်ဆေးပါ - markdown လင့်ခ်များကို မှန်ကန်ပြည့်စုံကြောင်း အတည်ပြုပါ
- Browser သို့မဟုတ် Node.js တွင် ကုဒ်ဥပမာများ စစ်ဆေးပါ - ဘရောက်ဇာ နှင့် Node.js တို့တွင် ကုဒ်နမူနာများကို စမ်းသပ်ပါ
- ဘာသာပြန်မှုများ ရိုးရှင်းမှု ထိန်းသိမ်းထားမှု စစ်ဆေးပါ - ဘာသာပြန်မှုများ၏ ဖွဲ့စည်းမှု မြောက်မြားမှု ထိန်းသိမ်းထားမှု စိစစ်ပါ
## Code Style Guidelines ## Code Style Guidelines
### JavaScript ### JavaScript
- ခေတ်သစ် ES6+ စနစ်များ သုံးပါ - ခေတ်မီ ES6+ စာရေးနည်းကို အသုံးပြုပါ
- ပရောဂျက်များတွင် ဖော်ပြထားသော standard ESLint ညွှန်ကြားချက်များ လိုက်နာပါ - ပရောဂျက်အတွင်း ပါရှိသည့် standard ESLint ပြဿနာစနစ်ကို လိုက်နာပါ
- ပညာရေးအတွက် ရည်ရွယ်ချက်နဲ့ အသုံးပြုသည့် ပြောင်းလဲမှုနှင့် function အမည်များ အသုံးပြုပါ - ပညာရေး ရည်ရွယ်ချက်အတွက် သီးခြား နာမည်များ အသုံးပြုပါ
- သင်ယူသူများအတွက် အကြောင်းအရာရှင်းလင်းမှု အတွက် မှတ်ချက် ထည့်ပါ - လေ့လာသူများအတွက် အဓိပ္ပာယ်ဖွင့်ရှင်းချက်များ စာသားတွေ ထည့်ပါ
- Prettier ဖြင့် ဖော်မတ်လုပ်ပါ (သတ်မှတ်ထားသောနေရာတွင်) - Prettier ဖြင့် ပုံစံ စနစ်တကျ ပြုပြင်ထားပါ (configured ရှိလျှင်သာ)
### HTML/CSS ### HTML/CSS
- Semantic HTML5 element များအမြဲ သုံးပါ - Semantic HTML5 element များအသုံးပြုခြင်း
- Responsive ဒီဇိုင်း သဘောတရားများ လိုက်နာပါ - တုန့်ပြန်မှု ဒီဇိုင်း များကို ဆောင်ရွက်ခြင်း
- Class နာမည် သက်ဆိုင်ရာ သဘောထားအတိုင်း အသုံးပြုပါ - Class နာမည်များကို ရှင်းလင်းသတိပြုအသုံးပြုပါ
- CSS နည်းလမ်းများ အသုံးပြုမှု ရှင်းလင်းအောင် မှတ်ချက် ထည့်ပါ - CSS နည်းကျများအတွက် သင်ယူသူများအတွက် ရှင်းလင်းရေးသားချက်များ ထည့်ပါ
### Python ### Python
- PEP 8 စတိုင် ညွှန်ကြားချက် - PEP 8 စံချိန်စံညွှန်းများ လိုက်နာပါ
- ပညာရေးအတွက် သန့်ရှင်းပြီး ရှင်းလင်းသော ကုဒ်ဥပမာများ - တိကျမြောက်မရှိ ပညာရေးကုဒ်နမူနာများ
- သင်ယူရန် အတွက် သက်ဆိုင်သောနေရာတွင် တိုင်းတမ်းရေးပါ - သင်ယူမှု အတွက် အကူအညီဖြစ်စေသည့် Type hints များထည့်ပါ
### Markdown Documentation ### Markdown Documentation
- ခေါင်းစဉ်ဆက်တက်မှု သေချာစွာ ပါဝင်မှု - ခေါင်းစဥ် အဆင့်လိုက် ရှင်းလင်းမှု
- ဘာသာစကား သတ်မှတ်ချက်ပါ အကုဒ်ဘလော့ခ်များ - ဝါကျဘာသာပြန်ထားသော ကုဒ် ဘလော့တွေ
- ထပ်ဆောင်း အရင်းအမြစ်များချိတ်ဆက်မှု - အသေးစိတ် ရင်းမြစ်များအတွက် လင့်ခ်များ
- `images/` ဖိုလ်ဒါတွင် စက္ကန့်ပုံများ နဲ့ ဓာတ်ပုံများ - `images/` ဖိုလ်ဒါများတွင် ပုံရိပ်များနှင့် စာရင်းများ
- ဓာတ်ပုံများအတွက် နားလည်စေသည့် alt စာသား - ရှာဖွေသူများအတွက် ပုံများ၏ Alt စာသားများ
### File Organization ### File Organization
- သင်ခန်းစာများ သင်ခန်းစာ အမှတ် အလိုက် နေရာချထားမှု (1-getting-started-lessons, 2-js-basics, စသည်) - သင်ခန်းစာများ ကို နံပါတ်လိုက် စီစဉ်ထား (1-getting-started-lessons, 2-js-basics, စသည်)
- ပရောဂျက်များတွင် `solution/` နဲ့ မကြာခဏ `start/` သို့မဟုတ် `your-work/` ဖိုလ်ဒါများ ပါဝင်သည် - ပရောဂျက်တစ်ခုချင်းစီတွင် `solution/` နှင့် တခုခုသော `start/` သို့မဟုတ် `your-work/` ဖိုလ်ဒါများပါဝင်သည်
- သင်ခန်းစာအလိုက် `images/` ဖိုလ်ဒါများတွင် ဓာတ်ပုံများ ထိန်းသိမ်းမှု - ပုံရိပ်များသည် သင်ခန်းစာအလိုက် `images/` ဖိုလ်ဒါများတွင် သိမ်းဆည်းထားသည်
- ဘာသာပြန်ချက်များကို `translations/{language-code}/` ဖိုလ်ဒါတွင်ထားသည် - ဘာသာပြန်ထားသော ဖိုင်များကို `translations/{language-code}/` ဖိုလ်ဒါတွင် သိမ်းဆည်းထားသည်
## Build and Deployment ## Build and Deployment
### Quiz App Deployment (Azure Static Web Apps) ### Quiz App Deployment (Azure Static Web Apps)
quiz-app ကို Azure Static Web Apps အတွက် ပြင်ဆင်ထားသည် - quiz-app သည် Azure Static Web Apps အဆောက်အအုံအတွက် ဆက်တင်ပြုလုပ်ထားသည် -
```bash ```bash
cd quiz-app cd quiz-app
npm run build # dist/ ဖိုဒါကို ဖန်တီးသည် npm run build # dist/ အဖိုင်ထည် ဆောက်သည်
# main သို့ push လုပ်သောအခါ GitHub Actions workflow ဖြင့် တပ်ဆင်သည် # main ထိ တင်သွင်းသောအခါ GitHub Actions workflow ဖြင့် တင်စစ်သည်။
``` ```
Azure Static Web Apps ပြင်ဆင်မှု- Azure Static Web Apps ဆက်တင်များ:
- **App တည်နေရာ**: `/quiz-app` - **App ရှေ့နေရာ**: `/quiz-app`
- **ထုတ်ပေးရာ တည်နေရာ**: `dist` - **အထွက် ရှေ့နေရာ**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Documentation PDF Generation ### Documentation PDF Generation
```bash ```bash
npm install # docsify-to-pdf ကိုထည့်သွင်းပါ npm install # docsify-to-pdf ကို ထည့်သွင်းပါ
npm run convert # docs မှ PDF ဖိုင်ဖန်တီးပါ npm run convert # docs မှ PDF ကို ထုတ်လုပ်ပါ
``` ```
### Docsify Documentation ### Docsify Documentation
```bash ```bash
npm install -g docsify-cli # Docsify ကို တစ်ကမ္ဘာလုံးတွင် ထည့်သွင်းပါ npm install -g docsify-cli # Docsify ကို ကမ္ဘာလုံးဆိုင်ရာ ထည့်သွင်းပါ
docsify serve # localhost:3000 တွင် Serve လုပ်ပါ docsify serve # localhost:3000 တွင် ဝန်ဆောင်မှုပေးပါ
``` ```
### Project-specific Builds ### Project-specific Builds
ပရောဂျက်ဖိုလ်ဒါ တစ်ခုချင်းစီမှာ ဘယ်လို Build လုပ်ရမယ်ဆိုတာက ဤသို့ ဖြစ်နိုင်သည် - ပရောဂျက် တစ်ခုချင်းစီ၏ build လုပ်ငန်းစဉ်သည် မတူကွဲပြားနိုင်ပါသည် -
- Vue ပရောဂျက်များ: `npm run build` ဖြင့် ထုတ်လုပ်မှု ဘယ်လ်များ ဖန်တီးခြင်း - Vue ပရောဂျက်များ: `npm run build` နှင့် production bundle များ ဖန်တီးသည်
- Static ပရောဂျက်များ: Build အဆင့်မလိုအပ်ဘဲ အမြဲတမ်း File များကို ဝန်ဆောင်မှုလုပ်ခြင်း - Static ပရောဂျက်များ: build လုပ်ခြင်းမရှိဘဲ ဖိုင်များကို တိုက်ရိုက် ဝန်ဆောင်မှု ပြုလုပ်သည်
## Pull Request Guidelines ## Pull Request Guidelines
### Title Format ### Title Format
ပြောင်းလဲမှု နေရာကို သေချာ ဖော်ပြနိုင်တဲ့ ခေါင်းစဉ်များ အသုံးပြုပါ - ပြင်ဆင်ချက် အကွာအဝေးပြသနိုင်စေရန် ခေါင်းစဉ်များကို ရှင်းလင်းဖော်ပြပါ:
- `[Quiz-app] Lesson X အတွက် Quiz အသစ် ထည့်သွင်းခြင်း` - `[Quiz-app] သင်ခန်းစာ X အတွက် စာမေးပွဲ အသစ် ထည့်သွင်းပါ`
- `[Lesson-3] Terrarium ပရောဂျက်ရှိ အမှား ပြင်ဆင်ခြင်း` - `[Lesson-3] Terrarium ပရောဂျက်တွင် သိပ်ချောင်းမှုတစ်ခု ပြင်ဆင်သည်`
- `[Translation] Lesson 5 အတွက် စပိန်ဘာသာ ပြန်ထည့်ခြင်း` - `[Translation] သင်ခန်းစာ 5 အတွက် စပိန်ဘာသာပြန် ထည့်သွင်းပါ`
- `[Docs] Setup လမ်းညွှန်ချက်များ အပ်ဒိတ်ခြင်း` - `[Docs] အဆင်ပြေမှု နည်းလမ်းညွှန်ချက် များ ထပ်မံ ပြင်ဆင်ပါ`
### Required Checks ### Required Checks
PR တင်မဲ့အချိန်မှာ သေချာ စစ်ဆေးရန် - PR တင်မတိုင်မီ လူအတတ်ဆုံး စစ်ဆေးမှုများ -
1. **ကုဒ်အရည်အသွေး**: 1. **ကုဒ်အရည်အသွေး**:
- သက်ဆိုင်ရာ ပရောဂျက်ဖိုလ်ဒါတွင် `npm run lint` ပြေးပါ - ဒဏ်ရာရှိသော ပရောဂျက် ဖိုလ်ဒါများတွင် `npm run lint` ထည့်ပြေးပါ
- လင့်တ် error များနဲ့ သတိပေးချက်များကိုအားလုံး ပြင်ဆင်ပါ - lint အမှားများနှင့် သတိပေးချက်များအားလုံး ပြင်ဆင်သည်
2. **Build အတည်ပြုခြင်း**: 2. **Build အတည်ပြုမှု**:
- Build လုပ်စရာရှိလျှင် `npm run build` ပြေးပါ - မည်သည့် အခါတွင်မဆို `npm run build` ကို ပြေးပါ
- Build error မရှိစေရန် သေချာ စစ်ဆေးပါ - Build အမှား မရှိကြောင်း သေချာစေပါ
3. **Link စစ်ဆေးခြင်း**: 3. **လင့်ခ် စစ်ဆေးမှု**:
- Markdown link များအားလုံး စစ်ဆေးပါ - Markdown လင့်ခ်များအားလုံးကို စမ်းသပ်ပါ
- ဓာတ်ပုံများ လင့်ခ် တွေရေးသည် မှန်ကြောင်း စစ်ဆေးပါ - ပုံရိပ်ကိုင်တွယ်မှုများ ကို စစ်ဆေးပါ
4. **အကြောင်းအရာ သုံးသပ်ခြင်း**: 4. **အကြောင်းအရာ ပြန်လည်သုံးသပ်မှု**:
- သဒ္ဒါစစ်ဆေးပြီး စာလုံးပြားထဲမှားချက် မရှိစေရန် သေချာစစ်ပါ - စာလုံးပေါင်းနှင့် အသံဖွဲ့မှု စစ်ဆေးပါ
- ကုဒ်ဥပမာများ မှန်ကန်ပြီး ပညာရေးအရ သင်ကြားမှုကောင်းမောင်းမှုရှိစေရန် ကြိုးစားပါ - ကုဒ် နမူနာများ မှန်ကန်ပြီး ပညာရေးအတွက်သင့်တော်သည်ကို သေချာစေပါ
- ဘာသာပြန်မှုများ ရိုးရိုးသားသား ပြန်လည်မည့် အကြောင်းအရာ တူညီမှုရှိစေရန် စစ်ဆေးပါ - ဘာသာပြန်မှုများသည် မူရင်း အဓိပ္ပါယ်ကို ထိန်းသိမ်းထားသည်ကို အတည်ပြုပါ
### Contribution Requirements ### Contribution Requirements
- Microsoft CLA ကို လက်မှတ်ထိုးပါ (ပထမဆုံး PR မှာ အလိုအလျောက် စစ်ဆေးပါလိမ့်မယ်) - Microsoft CLA (အသစ် PR အတွက် အလိုအလျောက် စစ်ဆေးမှု) ပေးအပ်ရန် သဘောတူပါရန်
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) ကိုလိုက်နာပါ - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) ကို လိုက်နာပါ
- အသေးစိတ်အတိုင်ပင်ခံရန် [CONTRIBUTING.md](./CONTRIBUTING.md) ဖတ်ပါ - အသေးစိတ် လမ်းညွှန်မှုအတွက် [CONTRIBUTING.md](./CONTRIBUTING.md) ဖတ်ရှုပါ
- PR မှာ သက်ဆိုင်ရာ issue နံပါတ်များ ကိုဖော်ပြပါ - PR ဖေါ်ပြချက်တွင် ဆိုင်သော ပြဿနာအမှတ်များ ကို ပြုလုပ်ပါ
### Review Process ### Review Process
- PR များကို ထိန်းသိမ်းသူများနဲ့ နည်းပညာ ဖက် အသိုင်းအဝိုင်းက စစ်ဆေးပေးပါလိမ့်မယ - PR များကို မိမိ ဦးဆောင်သူများ နှင့် အသိုင်းအဝိုင်းက ရှင်းလင်း ပြန်လည်သုံးသပ်သည
- ပညာရေးအတွက် ရှင်းလင်းတင်ပြမှုကို ဦးစားပေးပါ - ပညာရေး အပြည့်အဝ ရနိုင်ရေးကို ဦးစားပေးသည်
- ကုဒ်ဥပမာများ အကောင်းဆုံး Practices များနဲ့ လိုက်နာမှုရှိစေရန် ကြိုးစားပါ - ကုဒ် နမူနာများသည် လက်ရှိ အကောင်းဆုံးနည်းလမ်းများနှင့် ကိုက်ညီရမည်
- ဘာသာပြန်မှုများကို တိကျမှုနဲ့ ယဉ်ကျေးမှုအသုံးအနှုန်းမှန်ကန်မှုရှိစေရန် စစ်ဆေးပါ - ဘာသာပြန်မှုများကို တိကျမှုနဲ့ ယဉ်ကျေးမှုသဘောထား အရ အကဲဖြတ်သည်
## Translation System ## Translation System
### Automated Translation ### Automated Translation
- GitHub Actions အသုံးပြုထားပြီး co-op-translator workflow ဖြင့် အလိုအလျောက် ဘာသာပြန်သည် - GitHub Actions နှင့် co-op-translator workflow ကို အသုံးပြုသည်
- ၅၀ ကျော် ဘာသာစကားများသို့ အချက်အလက်များ ဘာသာပြန်သည် - ဘာသာစကား ၅၀ ကျော်သို့ အလိုအလျောက် ဘာသာပြန်ပေးသည်
- မူလဖိုင်များကို main directories မှာထားသည် - မူရင်းဖိုင်များကို မူရင်း ဖိုလ်ဒါများတွင် တင်ရှိသည်
- ဘာသာပြန်ပြီးဖိုင်များကို `translations/{language-code}/` ဖိုလ်ဒါတွင် ထားသည် - ဘာသာပြန်သော ဖိုင်များကို `translations/{language-code}/` ကုဒ်လမ်းကြောင်းတွင်ထားသည်
### Adding Manual Translation Improvements ### Adding Manual Translation Improvements
1. `translations/{language-code}/` မှ ဖိုင် ရှာပါ 1. `translations/{language-code}/` ဖိုလ်ဒါအတွင်း ဖိုင်ရှာဖွေပါ
2. ဖိုင်ကို အတူတကွ ပြုပြင်မှု ပြုလုပ်ပါ၊ ဖိုင် ဖွဲ့စည်းမှု ထိန်းသိမ်းပါ 2. ဖွဲ့စည်းမှု မဖျက်ဆီးဘဲ တိုးတက်အောင် ပြင်ဆင်ပါ
3. ကုဒ်ဥပမာများ လုပ်ငန်းမှန်ကန်နေစေရန် သေချာစစ်ပါ 3. ကုဒ်နမူနာများ အလုပ်လုပ်နိုင်မှု ထိန်းသိမ်းပါ
4. ဒေသခံ Quiz အကြောင်းအရာရှိလျှင် စမ်းသပ်ပါ 4. ဒေသဆိုင်ရာ စာမေးပွဲအကြောင်းအရာများ တင်ပြပါ
### Translation Metadata ### Translation Metadata
ဘာသာပြန်ထားသော ဖိုင်များတွင် metadata header ပါဝင်သည် - ဘာသာပြန်ထားသော ဖိုင်များတွင် metadata ခေါင်းစီးပါရှိသည် -
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -293,116 +293,116 @@ CO_OP_TRANSLATOR_METADATA:
### Common Issues ### Common Issues
**Quiz app က စတင်မရပါ** - **Quiz app မသွင်းနိုင်သော ပြဿနာ**:
- Node.js ဘားရှင်း (v14+ အကြံပြု) - Node.js ဗားရှင်း (v14+ ဟု အကြံပြု)
- `node_modules`ဲ့ `package-lock.json` ဖျက်ပြီး `npm install` လုပ်ပါ - `node_modules`ှင့် `package-lock.json` ဖိုင်များ ဖျက်ပြီး `npm install` ပြန်ပြုလုပ်ပါ
- Port ပြဿနာရှိမရှိ စစ်ဆေးပါ (Vite က default port 5173 သုံးသည်) - Port မတူညီမှု (Vite ၏ ပုံမှန် port သည် 5173)
**API server ကို စတင်လို့ မရပါ** - **API server မတက်နိုင်ခြင်း**:
- Node.js version(node >=10) သင့်တော်မှတ်ချက် စစ်ဆေးပါ - Node.js ဗားရှင်း (node >=10) ကို အတည်ပြုပါ
- Port တွေ သုံးဆောင်နေတာရှိမရှိ စစ်ပါ - Port သုံးပြီးသားရှိမရှိ စစ်ဆေးပါ
- သက်ဆိုင်ရာ dependencies ကို `npm install` ဖြင့် ထည့်သွင်းပါ - မလိုအပ်သည့် package များ install လုပ်ထားမရှိကြောင်း စစ်ဆေးပါ
**Browser extension မတင်နိုင်ပါ** - **Browser extension မရောက်ရှိခြင်း**:
- manifest.json ကို မှန်ကန်စွာ ဖောင်းခြင်း - manifest.json ကို မှန်ကန်စွာ စနစ်တကျ ဖန်တီးထားမှု စစ်ဆေးပါ
- Browser console error များ စစ်ဆေးပါ - Browser console အမှားများ စစ်ဆေးပါ
- Browser-specific extension ထည့်သွင်းနည်း လမ်းညွှန်ချက် လိုက်နာပါ - Browser-specific extension တပ်ဆင်ခြင်း လမ်းညွှန်ချက်များလိုက်နာပါ
**Python chat project တွင် ပြဿနာရှိပါက** - **Python chat project ပြဿနာများ**:
- OpenAI package ထည့်သွင်းထားရန်: `pip install openai` - OpenAI package ကို တပ်ဆင်ထားမှုရှိ/မရှိ စစ်ဆေးပါ `pip install openai`
- GITHUB_TOKEN environment variable ထည့်ထားခြင်းရှိ/မရှိစစ်ပါ - GITHUB_TOKEN environment variable ကို သတ်မှတ်ထားမှု ချက်ချင်းစစ်ဆေးပါ
- GitHub Models access permission ရှိ/မရှိ စစ်ဆေးပါ - GitHub Models သုံးခွင့်ရှိမှုကို အတည်ပြုပါ
**Docsify က စာရွက် မပေးဆောင်ပါ** - **Docsify စာရွက်စာတမ်း မပေးနိုင်မှု**:
- docsify-cli ကို global ဖြင့် install လုပ်ပါ: `npm install -g docsify-cli` - docsify-cli ကို ဘောလုံးအဆင့် တပ်ဆင်ပါ `npm install -g docsify-cli`
- repository root directory မှ run ပါ - ဒေတာဗေ့စ် root ဖိုလ်ဒါမှ ကြိုးစားပြေးပါ
- `docs/_sidebar.md` ဖိုင် ရှိ/ှိ စစ်ဆေးပါ - `docs/_sidebar.md` ဖိုင် ရှိမှုက စစ်ဆေးပါ
### Development Environment Tips ### Development Environment Tips
- HTML ပရောဂျက်များအတွက် VS Code Live Server extension သုံးပါ - HTML ပရောဂျက်များအတွက် VS Code Live Server အက်စတင်းရှင်းအသုံးပြုပါ
- ESLint နဲ့ Prettier extensions ကို ထည့်သွင်းပါ - မျှတသော format ဖြင့်ရေးသားရန် ESLint နှင့် Prettier extension များ ထည့်သွင်းပါ
- JavaScript debugging အတွက် Browser DevTools သုံးပါ - JavaScript debugging အတွက် browser DevTools သုံးပါ
- Vue ပရောဂျက်များအတွက် Vue DevTools browser extension ထည့်သွင်းပါ - Vue ပရောဂျက်များအတွက် Vue DevTools browser extension ထည့်သွင်းပါ
### Performance Considerations ### Performance Considerations
- ဘာသာပြန်ဖိုင် ၅၀ ကျော်ရှိခြင်းကြောင့် full clone များကြီးမားပါသည် - ဘာသာပြန်ဖိုင် နေရာအများစုသောကြောင့် (ဘာသာစကား ၅၀+) လုံးဝ clone လုပ်ရာတွင် များစွာဖိုင်များ ဖြစ်ပေါ်နိုင်သည်
- Content တစ်ခုချင်းလုပ်မှသာ shallow clone သုံးပါ: `git clone --depth 1` - အကြောင်းအရာ အလျင်အမြန် ရယူရန် `git clone --depth 1` ကို အသုံးပြုပါ
- English content နှင့် အလုပ်လုပ်ခြင်းကာလတွင် ဘာသာပြန်မျှ်းတို့ကို ရှာဖွေရန် မပါပါနှုန်းထားပါ - ဗမာဘာသာ အကြောင်းအရာများတွင် သင်တန်းသား content တွင် ဘာသာပြန်ဖိုင်များကို ရှာဖွေရန် မထည့်ပါနှင့်
- Build ပရိုစက်များ ပထမဆုံး run တစ်ခါမှာ နည်းနည်း စိတ်ရှုပ်နိုင်ပါသည် (npm install, Vite build) - npm install နှင့် Vite build တို့ကဲ့သို့ build လုပ်ဆောင်မှုများ ပထမအကြိမ် run မှာ နှေးကွေးဖြစ်တတ်ပါသည်
## Security Considerations ## Security Considerations
### Environment Variables ### Environment Variables
- API အချက်အလက်များကို repo ထဲ မတင်သင့်ပါ - API key များကို ဒေတာဗေ့စ် သို့ မှတ်သား မထားသင့်ပါ
- `.env` ဖိုင်များကို သုံးပါ (`.gitignore` မှာ ထည့်ထားပြီး) - `.env` ဖိုင်များ အသုံးပြုပါ ( `.gitignore` ထဲမှာ ရှိပြီး)
- ပရောဂျက် README များတွင် လိုအပ်သော environment variables ကို စာရင်းပြုစုပါ - သက်ဆိုင်ရာ ပရောဂျက် README များတွင် လိုအပ်သည့် environment variables များ ဖော်ပြထားပါ
### Python Projects ### Python Projects
- Virtual environment အသုံးပြုပြီး အလုပ်လုပ်ပါ: `python -m venv venv` - Virtual environment အသုံးပြုပါ: `python -m venv venv`
- Dependencies များ ကို အမြဲ ပြင်ဆင်ထားပါ - dependency များကို Update လုပ်ထားပါ
- GitHub tokens များမှာ လိုအပ်ခဲ့သော permission များသာ ပေးသင့်သည် - GitHub tokens များကို လိုအပ်သည့် ခွင့်ပြုချက် နည်းဆုံး သတ်မှတ်ပါ
### GitHub Models Access ### GitHub Models Access
- GitHub Models သုံးရန် Personal Access Tokens (PAT) လိုအပ်သည် - GitHub Models သုံးရန် Personal Access Tokens (PAT) လိုအပ်ပါသည်
- Tokens များကို environment variables အနေဖြင့် ထိန်းသိမ်းပါ - tokens များကို environment variables အဖြစ် လျှို့ဝှက်ထားပါ
- Token များကို အထောက်အထားမတင်ပါနှင့် - tokens သို့မဟုတ် စကားဝှက်များကို မည်သည့်အချိန်တွင်မဆို commit မပြုလုပ်ရပါ
## Additional Notes ## Additional Notes
### Target Audience ### Target Audience
- အစမှစသင်ယူသူများ - ဝဘ်ဒီဗလပ်မှန်အခြေခံသူ အသစ်စိတ် ပြုလုပ်သူများ
- ကျောင်းသားများနဲ့ ကိုယ်တိုင်မျှုဝေ လေ့လာသူများ - ကျောင်းသားများနှင့် ကိုယ်တိုင်လေ့လာသူများ
- သင်တန်းဆရာများ ကျောင်းသားများသင်ကြားရာတွင် အသုံးပြုသူများ - သင်တန်းကျောင်းများသင်ကြားသူများ
- ဝင်ရောက်လေ့လာသူများအတွက် ရောက်ရှိနိုင်ပြီး နည်းပညာတိုးတက်မှု များတိုးတက်စေသည် - ဤ content များသည် လွယ်ကူမြန်ဆန် ရှဉ့်ချိန်နှင့် အဆင့်လိုက်ကျွမ်းကျင်မှုတိုးတက်စေခြင်းအတွက် အထူးပြု ဒီဇိုင်းဖြစ်သည်
### Educational Philosophy ### Educational Philosophy
- ပရောဂျက်အခြေခံ သင်ယူမှုနည်းစနစ် - စီမံကိန်း အခြေပြု သင်ကြားမှု နည်းလမ်း
- အကြိမ်ကြိမ် အသိပညာစစ်ဆေးမှုများ (quizzes) - မကြာခဏ ဉာဏ်စမ်း စစ်ဆေးမှုများ (စာမေးပွဲများ)
- ကုဒ်ရေးသားခြင်း လက်တေ့ကျင့်ခန်းများ - လက်တွေ့ ကုဒ် ရေးခွင့်များ
- လက်တွေ့ အသုံးချခွင့်များ - လက်တွေ့ ကမ္ဘာဆိုင်ရာ အသုံးချမှု နမူနာများ
- ဖွံ့ဖြိုးတိုးတက်မှု မတိုင်မီ အခြေခံ အစိတ်အပိုင်းများအား အာရုံစိုက်ခြင်း - Framework မတိုင်မှီ အခြေခံကို အားပေးခြင်း
### Repository Maintenance ### Repository Maintenance
- လေ့လာသူများနဲ့ ပံ့ပိုးသူများ ရှိသော ကျန်ရှိမှုရှိသော အသိုင်းအဝိုင်း - လေ့လာသင်ယူသူများနှင့် ဆောင်ရွက်သူများ စည်းလုံးညီညွတ်မှုရှိ
- စနစ်တကျ အပ်ဒိတ်လုပ်ခြင်း (dependency နဲ့ အကြောင်းအရာများ) - အမြဲတမ်း dependency လေးစားမှု နှင့် အကြောင်းအရာ အပ်ဒိတ်များ
- Issue များ နဲ့ ဆွေးနွေးပွဲများကို ထိန်းသိမ်းမှု - ပြဿနာများနှင့် ဆွေးနွေးမှုများကို maintainers က ထိန်းသိမ်းကြည့်ရှု
- ဘာသာပြန်အပ်ဒိတ်ကို GitHub Actions ဖြင့် အလိုအလျောက်လုပ်ဆောင်ခြင်း - ဘာသာပြန်မှုများကို 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/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) ကို သင်ယူသူများအတွက် အကြံပြုသည် - သင်ယူသူများအတွက် အကြံပြုချက် - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
- အပိုသင်တန်းများ: Generative AI, Data Science, ML, IoT သင်ကြားရေးအစီအစဉ်များ - အပို သင်တန်းများ: Generative AI, Data Science, ML, IoT သင်ရိုးညွှန်းလမ်းကြောင်းများ ရရှိနိုင်သည်
### Working with Specific Projects ### Working with Specific Projects
သီးခြား ပရောဂျက်များအတွက် အသေးစိတ် လမ်းညွှန်ချက်များကို ဖတ်ရန် - အသေးစိတ် လမ်းညွှန်ချက်များအတွက် အောက်ဖော်ပြပါ README ဖိုင်များကို ကြည့်ပါ -
- `quiz-app/README.md` - Vue 3 quiz application - `quiz-app/README.md` - Vue 3 quiz application
- `7-bank-project/README.md` - အတည်ပြုသူပါ Banking အက်ပ် - `7-bank-project/README.md` - Banking application with authentication
- `5-browser-extension/README.md` - Browser extension ဖန်တီးခြင်း - `5-browser-extension/README.md` - Browser extension development
- `6-space-game/README.md` - Canvas အခြေခံဂိမ်းဖန်တီးခြင်း - `6-space-game/README.md` - Canvas-based game development
- `9-chat-project/README.md` - AI chat assistant project - `9-chat-project/README.md` - AI chat assistant project
### Monorepo Structure ### Monorepo Structure
ဒီ repo ဟာ သာမန် monorepo မဟုတ်ပေမယ့် အသီးသီး ပရောဂျက်များစွာ ပါဝင်သည် - ဤဒေတာဗေ့စ်သည် ပုံမှန် Monorepo မဟုတ်ပေမဲ့ အဓိက တစ်နေရာတည်းတွင် ပရောဂျက်များစွာ ရှိပါသည် -
- သင်ခန်းစာတွေကို သီးခြားနားထားတယ - သင်ခန်းစာ တစ်ခုချင်းစီ သီးခြားဖြစ်သည
- ပရောဂျက်များမှာ Dependencies မမျှဝေကြဘူး - ပရောဂျက်များသည် dependency များ မမျှဝေပါ
- တစ်ခုချင်းစီ အပေါ် အခြေခံ၍ အလုပ်လုပ်နိုင်တယ်၊ အခြားတွေကို ထိခိုက်စေမယ် မဟုတ်ဘူး - တစ်ခုချင်းပရောဂျက်များအပေါ် လုပ်ကိုင်ရန် မတူညီသော အတွေ့အကြုံ မပျက်စီးပါ
- စုစုပေါင်း repo ကို clone ဆွဲ၍ အစုလိုက် သင်ကြားမှု အတွေ့အကြုံရရှိနိုင်သည် - စတင်လေ့လာမှုအတွက် ဒေတာဗေ့စ် အားလုံး clone လုပ်ပါ
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ရှင်းလင်းချက်**: **ကြေညာချက်**:
ဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှုဖြစ်သည့် [Co-op Translator](https://github.com/Azure/co-op-translator) အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည်တိကျမှုကို ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် တိကျမှုမရှိမှုများ ဖြစ်ပေါ်နိုင်ကြောင်း သတိပြုရန် ကောင်းပါသည်။ မူလစာတမ်းကို မူလဘာသာဖြင့်သာ ထောက်ခံရရှိသင့်သော အရင်းအမြစ်အဖြစ် လက်ခံသင့်ပါသည်။ အရေးကြီးသော သတင်းအချက်အလက်များအတွက် ကျွမ်းကျင်သူ လူသား ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းကြောင့် ဖြစ်ပေါ်နိုင်သည့် မှားယွင်းအနားလွှတ်ခြင်းများ သို့မဟုတ် မှားယွင်းနားလည်မှုများအတွက် ကျွန်ုပ်တို့တာဝန်မထမ်းဆောင်ပါ ဤစာတမ်းကို AI ဘာသာပြန်ခြင်းဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) မှ အသုံးပြုပြီး ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ချက်များတွင် အမှားများ သို့မဟုတ် တိကျမှု လျော့နည်းချက်များ ရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းစာတမ်းကို မူရင်းဘာသာဖြင့်သာ စံချိန်စံညွှန်းအားဖြင့် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက်တော့ ပညာရှင်လူ့ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက် အသုံးပြုမှုကြောင့် ဖြစ်ပေါ်နိုင်သည့် မတိကျမှုများ သို့မဟုတ် နားမလည်မှုများအတွက် ကျွန်ုပ်တို့၏ တာဝန်မရှိပါကြောင်း အသိပေးအပ်ပါသည်
<!-- 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-06T17:51:02+00:00", "translation_date": "2026-04-20T16:10:37+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "uk" "language_code": "uk"
}, },

@ -1,28 +1,28 @@
# AGENTS.md # AGENTS.md
## Огляд проекту ## Огляд проєкту
Це навчальний репозиторій для викладання основ веб-розробки початківцям. Навчальний курс — це комплексний 12-тижневий курс, розроблений Microsoft Cloud Advocates, який містить 24 практичні уроки, що охоплюють JavaScript, CSS і HTML. Це навчальний репозиторій курсу для викладання основ веб-розробки для початківців. Курс є всебічним 12-тижневим курсом, розробленим Microsoft Cloud Advocates, що включає 24 практичні уроки з JavaScript, CSS та HTML.
### Ключові компоненти ### Ключові компоненти
- **Навчальний контент**: 24 структуровані уроки, організовані у проектні модулі - **Навчальний контент**: 24 структуровані уроки, організовані в модулі, орієнтовані на проєкти
- **Практичні проекти**: Терраріум, Гра на друкування, Розширення браузера, Космічна гра, Банківський додаток, Редактор коду та AI чат-асистент - **Практичні проєкти**: Терраріум, Гра на друку, Розширення браузера, Космічна гра, Банківський додаток, Код-редактор і AI чат-асистент
- **Інтерактивні тести**: 48 тестів по 3 запитання в кожному (до і після уроку) - **Інтерактивні вікторини**: 48 вікторин по 3 питання у кожній (до/після уроку)
- **Підтримка кількох мов**: Автоматичні переклади більш ніж 50 мовами за допомогою GitHub Actions - **Підтримка багатьох мов**: Автоматичний переклад більш ніж на 50 мов за допомогою GitHub Actions
- **Технології**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для AI-проектів) - **Технології**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для AI проєктів)
### Архітектура ### Архітектура
- Навчальний репозиторій зі структурою на основі уроків - Репозиторій з навчальним контентом, структурованим за уроками
- Кожна папка уроку містить README, приклади коду та рішення - Кожна директорія уроку містить README, приклади коду та рішення
- Окремі проекти у власних директоріях (quiz-app, різні проекти уроків) - Окремі проєкти розміщені в власних папках (quiz-app, різні уроки)
- Система перекладів через GitHub Actions (co-op-translator) - Система перекладів з використанням GitHub Actions (co-op-translator)
- Документація подається за допомогою Docsify та доступна у форматі PDF - Документація подається через Docsify і доступна у форматі PDF
## Команди налаштування ## Команди для налаштування
Цей репозиторій призначений головним чином для споживання навчального контенту. Для роботи з конкретними проектами: Цей репозиторій призначений переважно для споживання навчального контенту. Для роботи з конкретними проєктами:
### Основне налаштування репозиторію ### Основне налаштування репозиторію
@ -37,72 +37,72 @@ cd Web-Dev-For-Beginners
cd quiz-app cd quiz-app
npm install npm install
npm run dev # Запустити сервер розробки npm run dev # Запустити сервер розробки
npm run build # Збірка для продакшену npm run build # Зібрати для продакшена
npm run lint # Запустити ESLint npm run lint # Запустити ESLint
``` ```
### API проекту Bank (Node.js + Express) ### API Банківського проєкту (Node.js + Express)
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
npm install npm install
npm start # Запустити API сервер npm start # Запустити сервер API
npm run lint # Запустити ESLint npm run lint # Запустити ESLint
npm run format # Відформатувати за допомогою Prettier npm run format # Відформатувати за допомогою Prettier
``` ```
### Проекти розширень браузера ### Проєкти розширень браузера
```bash ```bash
cd 5-browser-extension/solution cd 5-browser-extension/solution
npm install npm install
# Дотримуйтесь інструкцій завантаження розширень, специфічних для браузера # Дотримуйтесь інструкцій із завантаження розширень, специфічних для браузера
``` ```
### Проекти космічної гри ### Проєкти космічної гри
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
npm install npm install
# Відкрийте index.html у браузері або використайте Live Server # Відкрийте index.html у браузері або використовуйте Live Server
``` ```
### Проект чату (Python Backend) ### Проєкт чату (Python бекенд)
```bash ```bash
cd 9-chat-project/solution/backend/python cd 9-chat-project/solution/backend/python
pip install openai pip install openai
# Встановіть змінну оточення GITHUB_TOKEN # Встановіть змінну середовища GITHUB_TOKEN
python api.py python api.py
``` ```
## Робочий процес розробки ## Робочий процес розробки
### Для авторів контенту ### Для внесення контенту
1. **Форкніть репозиторій** в свій акаунт GitHub 1. **Форкніть репозиторій** у свій акаунт GitHub
2. **Клонувати форк** локально 2. **Клонуйте ваш форк** локально
3. **Створіть нову гілку** для своїх змін 3. **Створіть нову гілку** для своїх змін
4. Вносьте зміни в контент уроків або приклади коду 4. Внесіть зміни у контент уроків або приклади коду
5. Тестуйте всі зміни коду у відповідних директоріях проектів 5. Перевірте коди у відповідних директоріях проєктів
6. Надсилайте pull-реквести, дотримуючись правил внесків 6. Надішліть pull request відповідно до інструкцій внесення змін
### Для учнів ### Для учнів
1. Форкніть або клонувати репозиторій 1. Форкніть або клонувати репозиторій
2. Перейдіть послідовно до директорій уроків 2. Перейдіть послідовно до директорій уроків
3. Читайте README файли кожного уроку 3. Читайте README в кожному уроці
4. Виконуйте тести перед уроком на https://ff-quizzes.netlify.app/web/ 4. Проходьте вікторини перед уроком на https://ff-quizzes.netlify.app/web/
5. Працюйте з прикладами коду у папках уроків 5. Працюйте з прикладами коду в папках уроків
6. Виконуйте завдання і виклики 6. Виконуйте завдання і виклики
7. Пройдіть тести після уроку 7. Проходьте вікторини після уроку
### Жива розробка ### Жива розробка
- **Документація**: Запуск `docsify serve` в корені (порт 3000) - **Документація**: Запустіть `docsify serve` у корені (порт 3000)
- **Quiz App**: Запуск `npm run dev` в каталозі quiz-app - **Quiz App**: Запустіть `npm run dev` у директорії quiz-app
- **Проекти**: Використовуйте розширення VS Code Live Server для HTML-проектів - **Проєкти**: Використовуйте розширення VS Code Live Server для HTML-проєктів
- **API-проекти**: Запуск `npm start` у відповідних директоріях API - **API проєкти**: Запустіть `npm start` у відповідних API директоріях
## Інструкції для тестування ## Інструкції для тестування
@ -111,7 +111,7 @@ python api.py
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Перевірте проблеми зі стилем коду npm run lint # Перевірте проблеми зі стилем коду
npm run build # Переконайтеся, що збірка успішна npm run build # Переконайтеся, що збірка проходить успішно
``` ```
### Тестування Bank API ### Тестування Bank API
@ -125,158 +125,158 @@ node server.js # Переконайтеся, що сервер запуск
### Загальний підхід до тестування ### Загальний підхід до тестування
- Це навчальний репозиторій без комплексних автоматизованих тестів - Це навчальний репозиторій без комплексних автоматизованих тестів
- Ручне тестування зосереджене на: - Ручне тестування орієнтоване на:
- Запуску прикладів коду без помилок - Запуск прикладів коду без помилок
- Практичній роботі посилань у документації - Правильну роботу посилань у документації
- Успішному завершенню збірок проектів - Успішне збирання проєктів
- Дотриманні кращих практик у прикладах - Відповідність прикладів найкращим практикам
### Перевірки перед поданням ### Перевірка перед подачею
- Запустіть `npm run lint` у директоріях із package.json - Запустіть `npm run lint` у директоріях з package.json
- Переконайтеся, що посилання у Markdown дійсні - Перевірте валідність markdown посилань
- Перевірте приклади коду у браузері або Node.js - Тестуйте приклади коду у браузері або Node.js
- Переконайтеся, що переклади зберігають правильну структуру - Перевірте, що переклади мають правильну структуру
## Керівництво зі стилю коду ## Керівництво по стилю коду
### JavaScript ### JavaScript
- Використовуйте сучасний синтаксис ES6+ - Використовуйте сучасний синтаксис ES6+
- Дотримуйтесь стандартних конфігурацій ESLint в проектах - Дотримуйтесь стандартних ESLint конфігурацій проектів
- Використовуйте зрозумілі імена змінних і функцій для навчальної ясності - Використовуйте зрозумілі імена змінних і функцій для навчальної ясності
- Додавайте коментарі, що пояснюють концепції для учнів - Додавайте коментарі, що пояснюють концепції для учнів
- Форматуйте код за допомогою Prettier там, де це налаштовано - Форматуйте код за допомогою Prettier, де налаштовано
### HTML/CSS ### HTML/CSS
- Семантичні елементи HTML5 - Семантичні елементи HTML5
- Принципи адаптивного дизайну - Принципи адаптивного дизайну
- Чіткі конвенції іменування класів - Чітка система імен класів
- Коментарі, що пояснюють CSS-техніки для учнів - Коментарі, що пояснюють CSS-техніки для учнів
### Python ### Python
- Відповідність стилю PEP 8 - Дотримання стилю PEP 8
- Чіткі, навчальні приклади коду - Зрозумілі, навчальні приклади коду
- Вказування типів там, де це корисно для навчання - Використання типових підказок, якщо це допомагає навчанню
### Документація Markdown ### Документація у Markdown
- Чітка ієрархія заголовків - Чітка ієрархія заголовків
- Код-блоки з вказаною мовою - Код-блоки з вказанням мови
- Посилання на додаткові ресурси - Посилання на додаткові ресурси
- Знімки екрана та зображення у папках `images/` - Скриншоти та зображення в папках `images/`
- Атрибути alt для зображень для забезпечення доступності - Опис alt для зображень для доступності
### Організація файлів ### Організація файлів
- Уроки пронумеровані послідовно (1-getting-started-lessons, 2-js-basics і т.д.) - Уроки пронумеровані послідовно (1-getting-started-lessons, 2-js-basics тощо)
- Кожен проект має папки `solution/` та часто `start/` або `your-work/` - Кожен проєкт має папки `solution/` та часто `start/` або `your-work/`
- Зображення зберігаються у папках `images/` для конкретних уроків - Зображення зберігаються у папках уроків `images/`
- Переклади у структурі `translations/{language-code}/` - Переклади зберігаються у структурі `translations/{language-code}/`
## Збірка та розгортання ## Збирання та розгортання
### Розгортання Quiz App (Azure Static Web Apps) ### Розгортання Quiz App (Azure Static Web Apps)
quiz-app налаштований для розгортання в Azure Static Web Apps: quiz-app налаштовано для розгортання Azure Static Web Apps:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # Створює папку dist/ npm run build # Створює папку dist/
# Розгортає через GitHub Actions workflow при пуші в main # Виконує розгортання через workflow GitHub Actions при пуші в main
``` ```
Конфігурація Azure Static Web Apps: Конфігурація Azure Static Web Apps:
- **Місцезнаходження додатку**: `/quiz-app` - **Розташування додатку**: `/quiz-app`
- **Місце вихідних файлів**: `dist` - **Розташування результату**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Генерація PDF документації ### Генерація PDF документації
```bash ```bash
npm install # Встановіть docsify-to-pdf npm install # Встановіть docsify-to-pdf
npm run convert # Генеруйте PDF з docs npm run convert # Згенерувати PDF з docs
``` ```
### Документація Docsify ### Документація Docsify
```bash ```bash
npm install -g docsify-cli # Встановіть Docsify глобально npm install -g docsify-cli # Встановіть Docsify глобально
docsify serve # Обслуговувати на localhost:3000 docsify serve # Запуск на localhost:3000
``` ```
### Збірки для конкретних проектів ### Зборки для конкретних проєктів
Кожен каталог проекту може мати власний процес збірки: Кожна директорія проєкту може мати власний процес збірки:
- Проекти на Vue: `npm run build` створює продуктивні бандли - Vue проєкти: `npm run build` створює продакшн-бандли
- Статичні проекти: відсутній крок збірки, файли подаються напряму - Статичні проєкти: Кроку збірки немає, файли подаються напряму
## Вказівки для Pull Request ## Керівництво з Pull Request
### Формат заголовка ### Формат заголовку
Використовуйте чіткі, описові заголовки, що вказують сферу змін: Використовуйте чіткі, описові заголовки, що вказують область змін:
- `[Quiz-app] Додати новий тест для уроку X` - `[Quiz-app] Додати нову вікторину для уроку X`
- `[Lesson-3] Виправлення опечатки у проекті терраріум` - `[Lesson-3] Виправити описку у проєкті терраріум`
- `[Translation] Додати іспанський переклад для уроку 5` - `[Translation] Додати іспанський переклад для уроку 5`
- `[Docs] Оновлення інструкцій з налаштування` - `[Docs] Оновити інструкції з налаштування`
### Обов’язкові перевірки ### Обов’язкові перевірки
Перед поданням PR: Перед подачею PR:
1. **Якість коду**: 1. **Якість коду**:
- Запустіть `npm run lint` у відповідних директоріях проектів - Запустіть `npm run lint` у відповідних директоріях проєктів
- Виправте всі помилки та попередження lint - Виправте всі помилки і зауваження lint
2. **Перевірка збірки**: 2. **Перевірка збірки**:
- Запустіть `npm run build`, якщо застосовано - Запустіть `npm run build`, якщо застосовно
- Переконайтеся, що немає помилок збірки - Переконайтесь, що немає помилок збірки
3. **Перевірка посилань**: 3. **Перевірка посилань**:
- Перевірте всі посилання в markdown - Протестуйте всі markdown-посилання
- Переконайтеся, що посилання на зображення працюють - Перевірте роботу зображень
4. **Перегляд контенту**: 4. **Перевірка контенту**:
- Вичитування на орфографію та граматику - Вичитка на орфографію та граматику
- Переконайтеся, що приклади коду коректні та навчальні - Переконайтесь, що приклади коду коректні і навчальні
- Перевірте, що переклади зберігають оригінальний зміст - Перевірте, що переклади зберігають оригінальний зміст
### Вимоги до внеску ### Вимоги до внесення змін
- Погодитися з Microsoft CLA (автоматична перевірка при першому PR) - Погодьтеся з Microsoft CLA (автоматична перевірка при першому PR)
- Дотримуватися [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Дотримуйтесь [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Див. [CONTRIBUTING.md](./CONTRIBUTING.md) для детальних вказівок - Див. [CONTRIBUTING.md](./CONTRIBUTING.md) для детальних інструкцій
- Вказувати номер issue в описі PR, якщо застосовано - Вказуйте номери issues у описі PR, якщо застосовно
### Процес рецензії ### Процес огляду
- PR переглядають підтримувачі і спільнота - PR перевіряють мейнтейнери і спільнота
- Пріоритет — навчальна зрозумілість - Пріоритет надається навчальній зрозумілості
- Приклади коду повинні відповідати актуальним кращим практикам - Приклади коду мають відповідати сучасним кращим практикам
- Переклади перевіряються на точність та культурну відповідність - Переклади перевіряються на точність і культурну відповідність
## Система перекладу ## Система перекладів
### Автоматичний переклад ### Автоматичний переклад
- Використовує GitHub Actions з workflow co-op-translator - Використовує GitHub Actions з workflow co-op-translator
- Перекладає автоматично на понад 50 мов - Автоматично перекладає на понад 50 мов
- Файли джерел у основних каталогах - Файли-джерела у головних директоріях
- Перекладені файли в `translations/{language-code}/` - Переклади у `translations/{language-code}/`
### Додавання ручних покращень перекладів ### Додавання ручних покращень
1. Знайдіть файл у `translations/{language-code}/` 1. Знайдіть файл у `translations/{language-code}/`
2. Внесіть покращення, зберігаючи структуру 2. Внесіть покращення, зберігаючи структуру
3. Переконайтеся, що приклади коду залишаються працездатними 3. Переконайтесь, що приклади коду функціональні
4. Тестуйте будь-який локалізований контент тестів 4. Протестуйте локалізований контент вікторин
### Метадані перекладу ### Метадані перекладів
Перекладені файли містять заголовок із метаданими: Перекладені файли містять метадані у шапці:
```markdown ```markdown
<!-- <!--
CO_OP_TRANSLATOR_METADATA: CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## Налагодження та усунення несправностей ## Відлагодження та усунення проблем
### Поширені проблеми ### Типові проблеми
**Quiz app не запускається**: **Quiz app не запускається**:
- Перевірте версію Node.js (рекомендується v14+) - Перевірте версію Node.js (рекомендується v14+)
- Видаліть `node_modules` та `package-lock.json`, потім запустіть `npm install` знову - Видаліть `node_modules` і `package-lock.json`, запустіть `npm install` знову
- Перевірте конфлікти портів (за замовчуванням Vite використовує порт 5173) - Перевірте конфлікти портів (за замовчуванням Vite використовує порт 5173)
**API сервер не запускається**: **API сервер не запускається**:
- Переконайтеся, що версія Node.js відповідає мінімальній (node >=10) - Перевірте версію Node.js (node >=10)
- Перевірте, чи порт не зайнятий - Перевірте, чи порт не зайнятий
- Переконайтеся, що всі залежності встановлені через `npm install` - Переконайтесь, що всі залежності встановлені (`npm install`)
**Розширення браузера не завантажується**: **Розширення браузера не завантажується**:
- Перевірте правильність форматування manifest.json - Перевірте формат manifest.json
- Перегляньте консоль браузера на помилки - Перегляньте помилки у консолі браузера
- Дотримуйтесь інструкцій з встановлення для конкретного браузера - Дотримуйтесь інструкцій установки для конкретного браузера
**Проблеми з Python чат-проектом**: **Проблеми з Python чат-проєктом**:
- Впевніться, що пакет OpenAI встановлений: `pip install openai` - Переконайтесь, що пакет OpenAI встановлений: `pip install openai`
- Переконайтеся, що встановлено змінну оточення GITHUB_TOKEN - Перевірте наявність змінної середовища GITHUB_TOKEN
- Перевірте права доступу до GitHub Models - Перевірте права доступу GitHub Models
**Docsify не подає документацію**: **Docsify не подає документацію**:
- Встановіть docsify-cli глобально: `npm install -g docsify-cli` - Встановіть docsify-cli глобально: `npm install -g docsify-cli`
- Запускайте з кореневого каталогу репозиторію - Запустіть із кореневої папки репозиторію
- Переконайтеся, що існує `docs/_sidebar.md` - Переконайтесь, що існує файл `docs/_sidebar.md`
### Поради щодо середовища розробки ### Поради щодо середовища розробки
- Використовуйте VS Code з розширенням Live Server для HTML-проектів - Використовуйте VS Code з розширенням Live Server для HTML-проєктів
- Встановіть розширення ESLint і Prettier для послідовного форматування - Встановіть розширення ESLint і Prettier для консистентного форматування
- Використовуйте DevTools браузера для налагодження JavaScript - Використовуйте DevTools браузера для відлагодження JavaScript
- Для проектів Vue встановіть розширення Vue DevTools для браузера - Для Vue проектів встановіть Vue DevTools браузерне розширення
### Особливості продуктивності ### Особливості продуктивності
- Велика кількість перекладених файлів (понад 50 мов) означає, що повні клони великі - Велика кількість перекладів (50+ мов) призводить до великих повних клонів
- Використовуйте shallow clone, якщо працюєте лише з контентом: `git clone --depth 1` - Використовуйте shallow clone, якщо працюєте тільки з контентом: `git clone --depth 1`
- Ігноруйте переклади при пошуку в англомовному контенті - Ігноруйте переклади в пошуку при роботі з англійським контентом
- Процеси збірки можуть бути повільними при першому запуску (npm install, Vite build) - Процеси збірки можуть бути повільними при першому запуску (npm install, Vite build)
## Міркування з безпеки ## Заходи безпеки
### Змінні оточення ### Змінні оточення
- API ключі ніколи не повинні комітися в репозиторій - API ключі ніколи не мають потрапляти у репозиторій
- Використовуйте `.env` файли (вже є у `.gitignore`) - Використовуйте `.env` файли (вже в `.gitignore`)
- Документуйте необхідні змінні оточення у README проектів - Документуйте потрібні змінні в README проєктів
### Python-проекти ### Python проєкти
- Використовуйте віртуальні оточення: `python -m venv venv` - Використовуйте віртуальні середовища: `python -m venv venv`
- Підтримуйте залежності оновленими - Оновлюйте залежності
- Токени GitHub повинні мати мінімально необхідні права - Токени GitHub повинні мати мінімальні необхідні дозволи
### Доступ до GitHub Models ### Доступ до GitHub Models
- Потрібні Персональні Токени Доступу (PAT) для GitHub Models - Потрібні персональні токени доступу (PAT) для GitHub Models
- Токени зберігайте як змінні оточення - Токени зберігайте у змінних оточення
- Ніколи не комітьте токени або облікові дані - Ніколи не комітьте токени чи облікові дані
## Додаткові зауваження ## Додаткові відомості
### Цільова аудиторія ### Цільова аудиторія
- Повні початківці у веб-розробці - Повні новачки у веб-розробці
- Студенти і самонавчальні - Студенти та самонавчання
- Викладачі, що використовують курс у класах - Викладачі, що використовують курс у класах
- Контент розроблено для доступності та поступового нарощування навичок - Контент створено з орієнтацією на доступність і поступове нарощування навичок
### Освітня філософія ### Освітня філософія
- Підхід заснований на проектному навчанні - Проєктно-орієнтоване навчання
- Часті перевірки знань (тести) - Часті перевірки знань (вікторини)
- Практичні вправи з кодування - Практичні вправи з кодування
- Приклади застосування у реальному світі - Приклади реальних застосувань
- Акцент на основах перед роботою з фреймворками - Фокус на основах перед фреймворками
### Підтримка репозиторію ### Підтримка репозиторію
- Активна спільнота учнів і внесників - Активна спільнота учнів і контрибуторів
- Регулярні оновлення залежностей і контенту - Регулярні оновлення залежностей і контенту
- Моніторинг питань та дискусій підтримувачами - Моніторинг issues та дискусій мейнтейнерами
- Оновлення перекладів автоматизовані через GitHub Actions - Автоматичні оновлення перекладів через GitHub Actions
### Пов'язані ресурси ### Повязані ресурси
- [Модулі Microsoft Learn](https://docs.microsoft.com/learn/) - [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Ресурси Student Hub](https://docs.microsoft.com/learn/student-hub/) - [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендовано для учнів - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендується для учнів
- Додаткові курси: Generative AI, Data Science, ML, IoT доступні - Додаткові курси: генеративний AI, Data Science, ML, IoT
### Робота з конкретними проектами ### Робота з конкретними проєктами
Для детальних інструкцій по окремих проектах звертайтесь до README файлів у: Для детальних інструкцій з окремих проєктів дивіться README файли у:
- `quiz-app/README.md` - Vue 3 додаток для тестів - `quiz-app/README.md` - Vue 3 quiz додаток
- `7-bank-project/README.md` - Банківський додаток з автентифікацією - `7-bank-project/README.md` - Банківський додаток з автентифікацією
- `5-browser-extension/README.md` - Розробка розширення браузера - `5-browser-extension/README.md` - Розробка розширення браузера
- `6-space-game/README.md` - Розробка гри на Canvas - `6-space-game/README.md` - Розробка гри на Canvas
- `9-chat-project/README.md` - Проект AI чат-асистента - `9-chat-project/README.md` - AI чат-асистент
### Структура монорепозиторію ### Структура монорепозиторію
Хоч це не традиційний монорепозиторій, він містить кілька незалежних проектів: Хоча це не традиційний монорепозиторій, він містить кілька незалежних проєктів:
- Кожен урок автономний - Кожен урок автономний
- Проекти не мають загальних залежностей - Проєкти не ділять залежності
- Можна працювати з окремими проектами, не впливаючи на інші - Можна працювати з окремими проєктами без впливу на інші
- Для повного курсу клонувати весь репозиторій - Клонування всього репозиторію для повного досвіду курсу
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**: **Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу штучного інтелекту [Co-op Translator](https://github.com/Azure/co-op-translator). Хоч ми і прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом інформації. Для критично важливої інформації рекомендується звертатися до професійного людського перекладу. Ми не несемо відповідальності за будь-які непорозуміння чи неправильні тлумачення, що виникли внаслідок використання цього перекладу. Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний переклад людиною. Ми не несемо відповідальності за будь-які непорозуміння або хибні тлумачення, що виникли внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save