You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/km/CONTRIBUTING.md

359 lines
21 KiB

# ការរួមចំណែកក្នុង Data Science សម្រាប់អ្នកចាប់ផ្ដើម
សូមអរគុណសម្រាប់ការចាប់អារម្មណ៍របស់អ្នកក្នុងការរួមចំណែកទៅកាន់វគ្គសិក្សា Data Science សម្រាប់អ្នកចាប់ផ្ដើម! យើងសូមស្វាគមន៍ការរួមចំណែកពីសហគមន៍។
## តារាងមាតិកា
- [វិន័យអំពើ](#វិន័យអំពើ)
- [តើខ្ញុំអាចរួមចំណែកបានយ៉ាងដូចម្តេច?](#តើខ្ញុំអាចរួមចំណែកបានយ៉ាងដូចម្តេច)
- [ការចាប់ផ្ដើម](#ការចាប់ផ្ដើម)
- [មគ្គុទេសក៍ការរួមចំណែក](#មគ្គុទេសក៍ការរួមចំណែក)
- [ដំណើរការការស្នើសុំ Pull Request](#ដំណើរការជូនពរ-pull-request)
- [មគ្គុទេសក៍រចនាបថ](#មគ្គុទេសក៍រចនាបថ)
- [សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក](#សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក)
## វិន័យអំពើ
គម្រោងនេះបានអនុម័ត [កូដវិន័យប្រើប្រាស់មូលដ្ឋានមើលដោយ Microsoft](https://opensource.microsoft.com/codeofconduct/)។
សម្រាប់ព័ត៌មានបន្ថែម សូមមើល [សំណួរដែលសួរញឹកញាប់អំពីកូដវិន័យ](https://opensource.microsoft.com/codeofconduct/faq/)
ឬទាក់ទង [opencode@microsoft.com](mailto:opencode@microsoft.com) សម្រាប់សំណួរឬមតិយោបល់បន្ថែម។
## តើខ្ញុំអាចរួមចំណែកបានយ៉ាងដូចម្តេច?
### ការរាយការណ៍បញ្ហា
មុនបង្កើតរបាយការណ៍កំហុស សូមពិនិត្យមើលបញ្ហាជាប់ទាក់ទងដែលមានស្រាប់ដើម្បីជៀសវាងការបំលែងដង។ ពេលអ្នកបង្កើតរបាយការណ៍កំហុស សូមបញ្ចូលព័ត៌មានលម្អិតច្រើនបំផុតដែលអាចធ្វើទៅបាន៖
- **ប្រើចំណងជើងច្បាស់លាស់ និងពិពណ៌នាបញ្ជាក់**
- **ពិពណ៌នាជំហានច្បាស់លាស់ដើម្បីធ្វើឲ្យបញ្ហាឡើងវិញ**
- **ផ្តល់ឧទាហរណ៍ច្បាស់លាស់** (កូដនិងរូបភាពបង្ហាញ)
- **ពិពណ៌នាពីអាកប្បកិរិយាដែលអ្នកបានសង្កេត និងអ្វីដែលអ្នករំពឹងទុក**
- **បញ្ចូលព័ត៌មានបរិបទរបស់អ្នក** (ប្រព័ន្ធប្រតិបត្តិការ, កំណែ Python, កម្មវិធីរុករក)
### ផ្តល់យោបល់បន្ថែម
យោបល់បន្ថែមសូមស្វាគមន៍! ពេលផ្តល់យោបល់:
- **ប្រើចំណងជើងច្បាស់លាស់ និងពិពណ៌នាបញ្ជាក់**
- **ផ្តល់ពិពណ៌នាពីការកែលម្អដែលអ្នកស្នើសុំ**
- **ពន្យល់មូលហេតុដែលការកែប្រែនេះមានប្រយោជន៍**
- **រាយបញ្ជីលក្ខណៈសម្បត្តិដូចគ្នានៅក្នុងគម្រោងផ្សេងទៀត ប្រសិនបើមាន**
### រួមចំណែកក្នុងឯកសារយោង
ការកែលម្អឯកសារយោងគឺតែងតែទទួលស្គាល់:
- **ជួសជុលកំហុសអក្ខរកម្ម និងវេយ្យាករណ៍**
- **ធ្វើឲ្យការពន្យល់មានភាពច្បាស់ផងដែរ**
- **បន្ថែមឯកសារយោងដែលខ្វះ**
- **ធ្វើឲ្យព័ត៌មានអាប់ដេតឲ្យទាន់សម័យ**
- **បន្ថែមឧទាហរណ៍ ឬករណីប្រើប្រាស់**
### រួមចំណែកក្នុងកូដ
យើងសូមស្វាគមន៍ការរួមចំណែកកូដរួមមាន៖
- **មេរៀន ឬលំហាត់ថ្មីៗ**
- **ជួសជុលកំហុស**
- **កែលម្អសៀវភៅតំណភ្ជាប់ដែលមានស្រាប់**
- **ដាតាដុំ ឬឧទាហរណ៍ថ្មីៗ**
- **កែលម្អកម្មវិធីសំណួរ**
## ការចាប់ផ្ដើម
### ការត្រូវមានមុន
មុនរួមចំណែក សូមធ្វើការ:
1. មានគណនី GitHub
2. តំឡើង Git នៅលើប្រព័ន្ធរបស់អ្នក
3. តំឡើង Python 3.7+ និង Jupyter
4. តំឡើង Node.js និង npm (សម្រាប់ការរួមចំណែកកម្មវិធីសំណួរ)
5. របស់ភ្ជាប់ជាមួយរចនាសម្ព័ន្ធវគ្គសិក្សា
មើល [INSTALLATION.md](INSTALLATION.md) សម្រាប់ការណែនាំបំផុត។
### Fork និង Clone
1. **Fork ឃ្លាំងទិន្នន័យ** នៅលើ GitHub
2. **Clone Fork របស់អ្នក មកលើកុំព្យូទ័រ**
```bash
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners
```
3. **បន្ថែម upstream remote**៖
```bash
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
```
### បង្កើតសាខាថ្មី
បង្កើតសាខាថ្មីសម្រាប់ការងាររបស់អ្នក៖
```bash
git checkout -b feature/your-feature-name
# ឬ
git checkout -b fix/your-bug-fix
```
បទបញ្ជាសម្រាប់ឈ្មោះសាខា៖
- `feature/` - លក្ខណៈសម្បត្តិ ឬមេរៀនថ្មី
- `fix/` - ជួសជុលកំហុស
- `docs/` - ការផ្លាស់ប្តូរឯកសារ
- `refactor/` - ការផ្លាស់ប្តូរកូដ
## មគ្គុទេសក៍ការរួមចំណែក
### សម្រាប់មាតិកាមេរៀន
ពេលរួមចំណែកឬកែលម្អមេរៀនដែលមានស្រាប់៖
1. **អនុវត្តរចនាសម្ព័ន្ធដែលមានស្រាប់**៖
- README.md ជាមួយមាតិកាមេរៀន
- សៀវភៅ Jupyter ជាមួយលំហាត់
- ការបែងចែក (បើមាន)
- តំណភ្ជាប់ទៅការសាកល្បងមុន និងក្រោយ
2. **រួមបញ្ចូលធាតុទាំងនេះ**៖
- គោលបំណងរៀនដែលច្បាស់
- ពិពណ៌នាដំណាក់កាលជាដំណាក់កាល
- ឧទាហរណ៍កូដជាសេចក្ដីយល់ឃើញ
- លំហាត់សម្រាប់អនុវត្ត
- តំណភ្ជាប់ទៅធនធានបន្ថែម
3. **ធានាការចូលដំណើរការ**៖
- ប្រើភាសាដែលធម្មតា និងច្បាស់
- បញ្ចូលអត្ថបទ alt សម្រាប់រូបភាព
- រួមបញ្ចូលចំណាំកូដ
- អនុវត្តចំពោះលក្ខណៈរៀនដ៏ខុសគ្នា
### សម្រាប់សៀវភៅ Jupyter
1. **សម្អាតចេញពីលទ្ធផលទាំងអស់ មុនពេលប្តូរ**៖
```bash
jupyter nbconvert --clear-output --inplace notebook.ipynb
```
2. **រួមបញ្ចូលផ្នែក markdown ជាមួយពិពណ៌នា**
3. **ប្រើរចនាបថស៊ីជម្រៅកំណត់**៖
```python
# នាំចូលបណ្ណាល័យនៅខាងលើ
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# ប្រើឈ្មោះអថេរដែលមានន័យ
# បន្ថែមកំណត់ចំណាំសម្រាប់ប្រតិបត្តិការដ៏ពិបាក
# តាមដានមីស្តង់រចនាបថ PEP 8
```
4. **សាកល្បងសៀវភៅរបស់អ្នកយ៉ាងពេញលេញ មុនពេលដាក់ស្នើ**
### សម្រាប់កូដ Python
អនុវត្តតាមមគ្គុទេសក៍រចនាបថ [PEP 8](https://www.python.org/dev/peps/pep-0008/)៖
```python
# ប៉ាត់ប៉ូលល្អ
import pandas as pd
def calculate_mean(data):
"""Calculate the mean of a dataset.
Args:
data (list): List of numerical values
Returns:
float: Mean of the dataset
"""
return sum(data) / len(data)
```
### សម្រាប់ការរួមចំណែកកម្មវិធីសំណួរ
ពេលកែលម្អកម្មវិធីសំណួរ៖
1. **សាកល្បងបណ្ដាច់មូលដ្ឋាន**៖
```bash
cd quiz-app
npm install
npm run serve
```
2. **បើកដំណើរការ linter**៖
```bash
npm run lint
```
3. **សាងសង់ដោយជោគជ័យ**៖
```bash
npm run build
```
4. **អនុវត្តមាគ៌ារចនាបថ Vue.js និងគំរូដែលមានស្រាប់**
### សម្រាប់ការបកប្រែ
ពេលបន្ថែម ឬកែលម្អការបកប្រែ៖
1. អនុវត្តរចនាសម្ព័ន្ធក្នុងថត `translations/`
2. ប្រើកូដភាសាជាឈ្មោះថត (ឧ. `fr` សម្រាប់ភាសាបារាំង)
3. រក្សារចនាសម្ព័ន្ធឯកសារដូចជាភាសាអង់គ្លេស
4. បច្ចុប្បន្នភាពតំណភ្ជាប់ជាមួយប៉ារ៉ាម៉ែត្រភាសា៖ `?loc=fr`
5. សាកល្បងតំណទាំងអស់ និងរចនាបថ
## ដំណើរការជូនពរ Pull Request
### មុនបញ្ជូន
1. **ធ្វើឲ្យសាខារបស់អ្នកទាន់សម័យជាមួយការផ្លាស់ប្តូរទំនើបបំផុត**៖
```bash
git fetch upstream
git rebase upstream/main
```
2. **សាកល្បងការផ្លាស់ប្តូររបស់អ្នក**៖
- បើកទស្សនាវិជ្ជាបានបង្កើតបានទាំងឡាយ
- សាកល្បងកម្មវិធីសំណួរចំពោះការកែប្រែ
- ផ្ទៀងផ្ទាត់តំណទាំងអស់
- ពិនិត្យកំហុសសរសេរពាក្យ និងវេយ្យាករណ៍
3. **Commit ការផ្លាស់ប្តូររបស់អ្នក**
```bash
git add .
git commit -m "Brief description of changes"
```
សរសេរពាក្យ commit ឲ្យច្បាស់៖
- ប្រើសព្ទវេលាបច្ចុប្បន្ន ("Add feature" មិនមែន "Added feature")
- ប្រើបំពានបរិបទ ("Move cursor to..." មិនមែន "Moves cursor to...")
- កំណត់បន្ទាត់ទីមួយមិនឲ្យលើស 72 តួអក្សរ
- ឧបករណ៍បញ្ហា និង pull requests ដែលពាក់ព័ន្ធ
4. **បញ្ចូនទៅ fork របស់អ្នក**៖
```bash
git push origin feature/your-feature-name
```
### ការបង្កើត Pull Request
1. ទៅកាន់ [repository](https://github.com/microsoft/Data-Science-For-Beginners)
2. ចុច "Pull requests" → "New pull request"
3. ចុច "compare across forks"
4. ជ្រើស fork និងសាខារបស់អ្នក
5. ចុច "Create pull request"
### ទ្រង់ទ្រាយចំណងជើង PR
ប្រើចំណងជើងច្បាស់លាស់ តាមទ្រង់ទ្រាយដូចខាងក្រោម៖
```
[Component] Brief description
```
ឧទាហរណ៍៖
- `[Lesson 7] ជួសជុលកំហុសនាំចូលសៀវភៅ Python`
- `[Quiz App] បន្ថែមការបកប្រែ ភាសាអាល្លឺម៉ង់`
- `[Docs] ថ្មីសម័យ README ជាមួយការទាមទារថ្មីៗ`
- `[Fix] កែប្រែផ្លូវទិន្នន័យនៅ មេរៀនបង្ហាញទិន្នន័យ`
### ការពិពណ៌នាប្រកាស PR
រួមបញ្ចូលក្នុងការពិពណ៌នាប្រកាស PR របស់អ្នក៖
- **អ្វី**៖ តើអ្នកបានផ្លាស់ប្តូរអ្វី?
- **ហេតុអ្វី**៖ ហេតុអ្វីការផ្លាស់ប្តូរនេះចាំបាច់?
- **របៀប**៖ តើធ្វើការផ្លាស់ប្តូរយ៉ាងដូចម្តេច?
- **ការសាកល្បង**៖ តើអ្នកបានសាកល្បងការផ្លាស់ប្តូរដូចម្តេច?
- **រូបថតអេក្រង់**៖ បញ្ចូលរូបថតអេក្រង់សម្រាប់ការផ្លាស់ប្តូរក្នុងចក្ខុវិស័យ
- **បញ្ហាដែលពាក់ព័ន្ធ**៖ តំណបញ្ហាដែលពាក់ព័ន្ធ (ឧ. "Fixes #123")
### ដំណើរការត្រួតពិនិត្យ
1. **ការត្រួតពិនិត្យស្វ័យប្រវត្តិ** នឹងដំណើរការលេី PR របស់អ្នក
2. **អ្នកថែទាំនឹងពិនិត្យការរួមចំណែករបស់អ្នក**
3. **ដោះស្រាយមតិយោបល់** ដោយបង្កើត commit បន្ថែម
4. ពេលទទួលស្គាល់ ហើយអ្នកថែទាំនឹងបញ្ចូល PR របស់អ្នក
### បន្ទាប់ពី PR របស់អ្នកត្រូវបានបញ្ចូល
1. លុបសាខាររបស់អ្នក៖
```bash
git branch -d feature/your-feature-name
git push origin --delete feature/your-feature-name
```
2. ផ្ទុះសាខា fork របស់អ្នក៖
```bash
git checkout main
git pull upstream main
git push origin main
```
## មគ្គុទេសក៍រចនាបថ
### Markdown
- ប្រើកម្រិតជំពូកយ៉ាងរឹងមាំ
- រក្សាបន្ទាត់ទទេ រវាងផ្នែក
- ប្រើទ្រង់ទ្រាយកូដជាមួយនៃភាសាបញ្ជាក់៖
````markdown
```python
import pandas as pd
```
````
- បន្ថែមអត្ថបទ alt ទៅរូបភាព៖ `![Alt text](../../translated_images/km/image.4ee84a82b5e4c9e6.webp)`
- រក្សាប្រវែងបន្ទាត់សមរម្យ (ប្រហែល ៨០-១០០ តួអក្សរ)
### Python
- អនុវត្តមគ្គុទេសក៍រចនាបថ PEP 8
- ប្រើឈ្មោះផ្ទុកមានន័យ
- បន្ថែម docstrings ទៅមុខងារ
- រួមបញ្ចូលសញ្ញាប្រភេទពេលដែលសមស្រប៖
```python
def process_data(df: pd.DataFrame) -> pd.DataFrame:
"""Process the input dataframe."""
return df
```
### JavaScript/Vue.js
- អនុវត្តមគ្គុទេសក៍រចនាបថ Vue.js 2
- ប្រើការកំណត់ ESLint ដែលបានផ្តល់
- សរសេរតំបន់មេធ្វើបានច្រើន និងអាចប្រើឡើងវិញ
- បន្ថែមចំណាំសម្រាប់តុល្យភាពស្មុគស្មាញ
### ការរៀបចំឯកសារ
- រក្សាឯកសារដែលពាក់ព័ន្ធជាក្រុម
- ប្រើឈ្មោះឯកសារដែលពិពណ៌នា
- អនុវត្តរចនាសម្ព័ន្ធថតដែលមានស្រាប់
- អត់ commit ឯកសារដែលមិនចាំបាច់ (.DS_Store, .pyc, node_modules, ល។)
## សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក
គម្រោងនេះស្វាគមន៍ការរួមចំណែក និងយោបល់។ ការរួមចំណែកច្រើនត្រូវការអ្នកព្រមព្រៀងទៅលើ សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក (CLA) ដែលថ្លែងថាអ្នកមានសិទ្ធ និងពិតជាផ្តាច់សិទ្ធិឲ្យយើងប្រើប្រាស់ការរួមចំណែករបស់អ្នក។ សម្រាប់ព័ត៌មានលម្អិត ចូលទៅ https://cla.microsoft.com។
ពេលអ្នកបញ្ជូន pull request មួយ CLA-bot នឹងកំណត់ដោយស្វ័យប្រវត្តិថាតើអ្នកត្រូវការផ្តល់ CLA ឬអត់ និងតភ្ជាប់ស្លាកត្រឹមត្រូវ (ឧ. ស្លាក, មតិ)។ សូមអនុវត្តតាមការណែនាំដែលបានផ្ដល់ដោយ bot។ អ្នកត្រូវតែធ្វើម្ដងតែតែមួយគត់ សម្រាប់គ្រប់ឃ្លាំងដែលប្រើ CLA របស់យើង។
## មានសំណួរទៀត?
- ពិនិត្យមើល [ឆានែល Discord #data-science-for-beginners](https://aka.ms/ds4beginners/discord)
- ចូលរួមសហគមន៍ Discord របស់យើង៖ https://aka.ms/ds4beginners/discord
- ពិនិត្យមើលបញ្ហា​ដែលមានស្រាប់ និង pull requests ៖ https://github.com/microsoft/Data-Science-For-Beginners/issues និង https://github.com/microsoft/Data-Science-For-Beginners/pulls
## អរគុណ!
ការរួមចំណែករបស់អ្នកធ្វើឲ្យវគ្គសិក្សានេះកាន់តែល្អសម្រាប់មនុស្សគ្រប់រូប។ សូមអរគុណដែលបានចំណាយពេលក្នុងការរួមចំណែក!
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្រើប្រាស់ដោយសេវាកម្មបកប្រែ AI ដែលមានឈ្មោះ [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងដើម្បីភាពត្រឹមត្រូវ សូមយល់ដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវមួយចំនួន។ ឯកសារដើមក្នុងភាសាមាតុភូមិគួរត្រូវបានយកទៅជាប្រភពចម្បង។ សម្រាប់ព័ត៌មានសំខាន់ៗ, គ្រាន់តែបកប្រែដោយអ្នកជំនាញមនុស្សត្រូវបានផ្តល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំណាស់ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->