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/ur/CONTRIBUTING.md

15 KiB

ڈیٹا سائنس فار بیگنرز میں تعاون کرنا

ڈیٹا سائنس فار بیگنرز کے نصاب میں تعاون کرنے میں دلچسپی لینے کا شکریہ! ہم کمیونٹی سے تعاون کا خیر مقدم کرتے ہیں۔

فہرست

ضابطہ اخلاق

اس پروجیکٹ نے Microsoft Open Source Code of Conduct کو اپنایا ہے۔ مزید معلومات کے لیے Code of Conduct FAQ دیکھیں یا کسی بھی اضافی سوالات یا تبصرے کے لیے opencode@microsoft.com سے رابطہ کریں۔

میں کیسے تعاون کر سکتا ہوں؟

بگز رپورٹ کرنا

بگز رپورٹ کرنے سے پہلے، موجودہ مسائل کو چیک کریں تاکہ نقل سے بچا جا سکے۔ جب آپ بگ رپورٹ بنائیں، تو زیادہ سے زیادہ تفصیلات شامل کریں:

  • واضح اور وضاحتی عنوان استعمال کریں
  • مسئلے کو دوبارہ پیدا کرنے کے لیے بالکل صحیح اقدامات بیان کریں
  • مخصوص مثالیں فراہم کریں (کوڈ کے ٹکڑے، اسکرین شاٹس)
  • مشاہدہ کردہ رویے اور آپ کی توقعات بیان کریں
  • اپنے ماحول کی تفصیلات شامل کریں (OS، Python ورژن، براؤزر)

بہتری کی تجاویز دینا

بہتری کی تجاویز کا خیر مقدم ہے! جب تجاویز دیں:

  • واضح اور وضاحتی عنوان استعمال کریں
  • تجویز کردہ بہتری کی تفصیلی وضاحت فراہم کریں
  • وضاحت کریں کہ یہ بہتری کیوں مفید ہوگی
  • کسی بھی مشابہ خصوصیات کی فہرست دیں، اگر قابل اطلاق ہو

دستاویزات میں تعاون کرنا

دستاویزات میں بہتری ہمیشہ قابل قدر ہے:

  • ٹائپوز اور گرامر کی غلطیوں کو درست کریں
  • وضاحت کی وضاحت کو بہتر بنائیں
  • گمشدہ دستاویزات شامل کریں
  • پرانے معلومات کو اپ ڈیٹ کریں
  • مثالیں یا استعمال کے کیسز شامل کریں

کوڈ میں تعاون کرنا

ہم کوڈ تعاون کا خیر مقدم کرتے ہیں، بشمول:

  • نئے اسباق یا مشقیں
  • بگز کی اصلاحات
  • موجودہ نوٹ بکس میں بہتری
  • نئے ڈیٹا سیٹس یا مثالیں
  • کوئز ایپلیکیشن میں بہتری

شروع کرنا

ضروریات

تعاون کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس یہ ہیں:

  1. ایک GitHub اکاؤنٹ
  2. اپنے سسٹم پر Git انسٹال کیا ہوا
  3. Python 3.7+ اور Jupyter انسٹال کیا ہوا
  4. Node.js اور npm (کوئز ایپ تعاون کے لیے)
  5. نصاب کے ڈھانچے سے واقفیت

تفصیلی سیٹ اپ ہدایات کے لیے INSTALLATION.md دیکھیں۔

فورک اور کلون کریں

  1. GitHub پر ریپوزیٹری کو فورک کریں
  2. اپنے فورک کو لوکل پر کلون کریں:
    git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
    cd Data-Science-For-Beginners
    
  3. اپ اسٹریم ریموٹ شامل کریں:
    git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
    

برانچ بنائیں

اپنے کام کے لیے ایک نئی برانچ بنائیں:

git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix

برانچ کے نام رکھنے کے اصول:

  • feature/ - نئی خصوصیات یا اسباق
  • fix/ - بگز کی اصلاحات
  • docs/ - دستاویزات میں تبدیلیاں
  • refactor/ - کوڈ کی دوبارہ ترتیب

تعاون کے رہنما اصول

سبق کے مواد کے لیے

جب اسباق میں تعاون کریں یا موجودہ اسباق میں ترمیم کریں:

  1. موجودہ ڈھانچے کی پیروی کریں:

    • README.md سبق کے مواد کے ساتھ
    • Jupyter نوٹ بک مشقوں کے ساتھ
    • اسائنمنٹ (اگر قابل اطلاق ہو)
    • پری اور پوسٹ کوئز کے لنکس
  2. یہ عناصر شامل کریں:

    • واضح سیکھنے کے مقاصد
    • مرحلہ وار وضاحتیں
    • تبصروں کے ساتھ کوڈ کی مثالیں
    • مشقیں پریکٹس کے لیے
    • اضافی وسائل کے لنکس
  3. رسائی کو یقینی بنائیں:

    • واضح، سادہ زبان استعمال کریں
    • تصاویر کے لیے alt متن فراہم کریں
    • کوڈ کے تبصرے شامل کریں
    • مختلف سیکھنے کے انداز پر غور کریں

Jupyter نوٹ بکس کے لیے

  1. تمام آؤٹ پٹس کو صاف کریں جمع کرانے سے پہلے:

    jupyter nbconvert --clear-output --inplace notebook.ipynb
    
  2. وضاحتوں کے ساتھ مارک ڈاؤن سیلز شامل کریں

  3. مطابقت پذیر فارمیٹنگ استعمال کریں:

    # Import libraries at the top
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # Use meaningful variable names
    # Add comments for complex operations
    # Follow PEP 8 style guidelines
    
  4. اپنے نوٹ بک کو مکمل طور پر ٹیسٹ کریں جمع کرانے سے پہلے

Python کوڈ کے لیے

PEP 8 انداز کے رہنما اصولوں کی پیروی کریں:

# Good practices
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. لوکل پر ٹیسٹ کریں:

    cd quiz-app
    npm install
    npm run serve
    
  2. لِنٹر چلائیں:

    npm run lint
    
  3. کامیابی سے بلڈ کریں:

    npm run build
    
  4. Vue.js انداز کے رہنما اصولوں اور موجودہ پیٹرنز کی پیروی کریں

ترجمے کے لیے

جب ترجمے شامل کریں یا اپ ڈیٹ کریں:

  1. translations/ فولڈر میں ڈھانچے کی پیروی کریں
  2. زبان کے کوڈ کو فولڈر کے نام کے طور پر استعمال کریں (مثلاً، فرانسیسی کے لیے fr)
  3. انگریزی ورژن کے جیسا ہی فائل ڈھانچہ برقرار رکھیں
  4. کوئز لنکس کو زبان کے پیرامیٹر کے ساتھ اپ ڈیٹ کریں: ?loc=fr
  5. تمام لنکس اور فارمیٹنگ کو ٹیسٹ کریں

پُل ریکویسٹ کا عمل

جمع کرانے سے پہلے

  1. اپنی برانچ کو تازہ ترین تبدیلیوں کے ساتھ اپ ڈیٹ کریں:

    git fetch upstream
    git rebase upstream/main
    
  2. اپنی تبدیلیوں کو ٹیسٹ کریں:

    • تمام ترمیم شدہ نوٹ بکس چلائیں
    • کوئز ایپ کو ٹیسٹ کریں اگر ترمیم کی گئی ہو
    • تمام لنکس کی تصدیق کریں
    • ہجے اور گرامر کی غلطیوں کو چیک کریں
  3. اپنی تبدیلیوں کو کمیٹ کریں:

    git add .
    git commit -m "Brief description of changes"
    

    واضح کمیٹ پیغامات لکھیں:

    • موجودہ زمانہ استعمال کریں ("Add feature" نہ کہ "Added feature")
    • حکم کے موڈ میں لکھیں ("Move cursor to..." نہ کہ "Moves cursor to...")
    • پہلی لائن کو 72 حروف تک محدود رکھیں
    • مسائل اور پُل ریکویسٹ کا حوالہ دیں جب متعلقہ ہو
  4. اپنے فورک پر پش کریں:

    git push origin feature/your-feature-name
    

پُل ریکویسٹ بنانا

  1. ریپوزیٹری پر جائیں
  2. "Pull requests" → "New pull request" پر کلک کریں
  3. "compare across forks" پر کلک کریں
  4. اپنا فورک اور برانچ منتخب کریں
  5. "Create pull request" پر کلک کریں

PR عنوان کا فارمیٹ

واضح، وضاحتی عنوانات استعمال کریں، اس فارمیٹ کی پیروی کریں:

[Component] Brief description

مثالیں:

  • [Lesson 7] Fix Python notebook import error
  • [Quiz App] Add German translation
  • [Docs] Update README with new prerequisites
  • [Fix] Correct data path in visualization lesson

PR کی وضاحت

اپنی PR کی وضاحت میں شامل کریں:

  • کیا: آپ نے کیا تبدیلیاں کیں؟
  • کیوں: یہ تبدیلیاں کیوں ضروری ہیں؟
  • کیسے: آپ نے تبدیلیاں کیسے نافذ کیں؟
  • ٹیسٹنگ: آپ نے تبدیلیوں کو کیسے ٹیسٹ کیا؟
  • اسکرین شاٹس: بصری تبدیلیوں کے لیے اسکرین شاٹس شامل کریں
  • متعلقہ مسائل: متعلقہ مسائل کے لنکس (مثلاً، "Fixes #123")

جائزہ لینے کا عمل

  1. خودکار چیکس آپ کی PR پر چلیں گے
  2. مینٹینرز آپ کے تعاون کا جائزہ لیں گے
  3. فیڈبیک کا جواب دیں اضافی کمیٹس بنا کر
  4. ایک بار منظور ہونے کے بعد، مینٹینر آپ کی PR کو مرج کرے گا

آپ کی PR کے مرج ہونے کے بعد

  1. اپنی برانچ کو حذف کریں:

    git branch -d feature/your-feature-name
    git push origin --delete feature/your-feature-name
    
  2. اپنے فورک کو اپ ڈیٹ کریں:

    git checkout main
    git pull upstream main
    git push origin main
    

انداز کے رہنما اصول

مارک ڈاؤن

  • مستقل ہیڈنگ لیولز استعمال کریں
  • سیکشنز کے درمیان خالی لائنیں شامل کریں
  • زبان کے وضاحتی کوڈ بلاکس استعمال کریں:
    ```python
    import pandas as pd
    ```
    
  • تصاویر کے لیے alt متن شامل کریں: ![Alt text](../../translated_images/ur/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)
  • لائن کی لمبائی معقول رکھیں (تقریباً 80-100 حروف)

Python

  • PEP 8 انداز کے رہنما اصولوں کی پیروی کریں
  • معنی خیز ویریبل نام استعمال کریں
  • فنکشنز کے لیے ڈاکسٹرنگز شامل کریں
  • جہاں مناسب ہو، ٹائپ ہنٹس شامل کریں:
    def process_data(df: pd.DataFrame) -> pd.DataFrame:
        """Process the input dataframe."""
        return df
    

JavaScript/Vue.js

  • Vue.js 2 انداز کے رہنما اصولوں کی پیروی کریں
  • فراہم کردہ ESLint کنفیگریشن استعمال کریں
  • ماڈیولر، دوبارہ استعمال کے قابل کمپوننٹس لکھیں
  • پیچیدہ منطق کے لیے تبصرے شامل کریں

فائلوں کی تنظیم

  • متعلقہ فائلوں کو ایک ساتھ رکھیں
  • وضاحتی فائل نام استعمال کریں
  • موجودہ ڈائریکٹری ڈھانچے کی پیروی کریں
  • غیر ضروری فائلیں جمع نہ کریں (.DS_Store، .pyc، node_modules، وغیرہ)

تعاون کنندہ لائسنس معاہدہ

یہ پروجیکٹ تعاون اور تجاویز کا خیر مقدم کرتا ہے۔ زیادہ تر تعاون کے لیے آپ کو تعاون کنندہ لائسنس معاہدہ (CLA) سے اتفاق کرنا ہوگا، جس میں یہ اعلان کرنا ہوگا کہ آپ کے پاس اور آپ واقعی ہمیں آپ کے تعاون کو استعمال کرنے کے حقوق دینے کا حق رکھتے ہیں۔ تفصیلات کے لیے، دیکھیں https://cla.microsoft.com۔

جب آپ پُل ریکویسٹ جمع کراتے ہیں، تو CLA-بوت خود بخود یہ طے کرے گا کہ آیا آپ کو CLA فراہم کرنے کی ضرورت ہے اور PR کو مناسب طریقے سے سجائے گا (مثلاً، لیبل، تبصرہ)۔ بس بوت کی فراہم کردہ ہدایات پر عمل کریں۔ آپ کو یہ صرف ایک بار کرنا ہوگا تمام ریپوزیٹریز میں جو ہمارے CLA کا استعمال کرتے ہیں۔

سوالات؟

شکریہ!

آپ کے تعاون سے یہ نصاب سب کے لیے بہتر ہوتا ہے۔ تعاون کرنے کے لیے وقت نکالنے کا شکریہ!


ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔