Translator Setup Guide๏ƒ

This comprehensive guide helps translators set up their environment for contributing Arabic translations to the Arabic OS Platform documentation. Whether youโ€™re a professional translator or a community volunteer, this guide provides everything you need to start contributing.

Prerequisites๏ƒ

Before setting up your translation environment, ensure you have:

Technical Requirements

  • Operating System: Windows 10+, macOS 10.14+, or Linux (Ubuntu 18.04+)

  • Internet Connection: Required for repository access and tool downloads

  • Storage Space: At least 2GB free disk space

  • Memory: Minimum 4GB RAM recommended

Language Expertise

  • Arabic Proficiency: Native or near-native Arabic fluency

  • Technical Understanding: Familiarity with computing and technology concepts

  • English Reading: Ability to understand technical English source material

  • Cultural Awareness: Understanding of Arabic cultural context in technical communication

Optional but Helpful

  • Translation Experience: Previous translation work (any domain)

  • Arabic Computing Background: Knowledge of Arabic text processing

  • Open Source Familiarity: Experience with collaborative development

Setup Overview๏ƒ

The translator setup process involves:

  1. Account Setup - GitHub account and repository access

  2. Development Environment - Git, Python, and Sphinx installation

  3. Translation Tools - Poedit or alternative translation editors

  4. Project Access - Repository cloning and initial setup

  5. Workflow Testing - Verify translation workflow functionality

Step 1: Account and Access Setup๏ƒ

GitHub Account Creation๏ƒ

Create GitHub Account:

  1. Visit https://github.com and click โ€œSign upโ€

  2. Choose username (suggestion: include your name for recognition)

  3. Use professional email address

  4. Complete verification process

Profile Optimization:

Profile Setup Checklist:
โ–ก Add professional profile photo
โ–ก Include full name in Arabic and English
โ–ก Add bio mentioning Arabic translation expertise
โ–ก Include contact information (optional)
โ–ก Enable two-factor authentication for security

Example Profile:

Name: ุฃุญู…ุฏ ู…ุญู…ุฏ ุงู„ุชุฑุฌู…ุงู† | Ahmed Mohammed Al-Tarjuman
Bio: Professional Arabic translator specializing in technical content
     ู…ุชุฑุฌู… ุนุฑุจูŠ ู…ุญุชุฑู ู…ุชุฎุตุต ููŠ ุงู„ู…ุญุชูˆู‰ ุงู„ุชู‚ู†ูŠ
Location: Cairo, Egypt | ุงู„ู‚ุงู‡ุฑุฉุŒ ู…ุตุฑ

Repository Access Request๏ƒ

Join Translation Team:

  1. Fork Repository

    # Visit: https://github.com/arabic-os/documentation
    # Click "Fork" button
    # Select your account as fork destination
    
  2. Request Translator Access

    Create issue for access request:

    **Translation Access Request**
    
    **Name**: Ahmed Al-Tarjuman (ุฃุญู…ุฏ ุงู„ุชุฑุฌู…ุงู†)
    **Languages**: Arabic (native), English (fluent)
    **Experience**: 5 years technical translation, specializing in software documentation
    **Availability**: 10-15 hours per week
    **Areas of Interest**: User guides, technical documentation, educational content
    **GitHub Profile**: @ahmed-translator
    **Contact**: ahmed.translator@email.com
    
    **Previous Work**:
    - Translated Mozilla Firefox documentation
    - Contributed to Wikipedia Arabic technology articles
    - Freelance technical translation for software companies
    
    **Commitment**: I understand the quality standards and commit to following
    the Arabic Style Guide and translation workflow processes.
    
  3. Team Assignment

    Project coordinators will: - Review your qualifications - Assign appropriate repository permissions - Add you to translator team - Provide initial assignment guidance

Step 2: Development Environment Setup๏ƒ

Git Installation and Configuration๏ƒ

Install Git:

Configure Git:

# Set your identity (use same as GitHub)
git config --global user.name "Ahmed Al-Tarjuman"
git config --global user.email "ahmed.translator@email.com"

# Set default branch name
git config --global init.defaultBranch main

# Enable colors for better readability
git config --global color.ui auto

# Configure Arabic text handling
git config --global core.quotepath false

Python and Sphinx Installation๏ƒ

Install Python:

Set Up Project Environment:

# Clone your forked repository
git clone https://github.com/YOUR-USERNAME/documentation
cd documentation/docs

# Create virtual environment
python3 -m venv sphinx-env

# Activate virtual environment
# On Windows:
sphinx-env\Scripts\activate
# On macOS/Linux:
source sphinx-env/bin/activate

# Install required packages
pip install -r requirements.txt

# Verify Sphinx installation
sphinx-build --version

Step 3: Translation Tools Installation๏ƒ

Alternative Tools๏ƒ

For Advanced Users:

Alternative Translation Tools๏ƒ

Tool

Platform

Strengths

Best For

Lokalize

Linux (KDE)

Advanced CAT features, scripting

Power users, batch processing

Gtranslator

Linux (GNOME)

GNOME integration, lightweight

Linux-focused workflows

OmegaT

Cross-platform

CAT tools, project management

Large translation projects

Virtaal

Cross-platform

Quality checks, terminology

Quality-focused translation

Web-Based Options:

  • Weblate: Collaborative web-based translation

  • Crowdin: Professional translation management

  • Transifex: Enterprise translation platform

Setup for Web Tools (Optional):

If using web-based tools, youโ€™ll need to:

  1. Export .po files from local repository

  2. Upload to web platform for translation

  3. Download completed translations

  4. Import back to local repository

  5. Test and commit changes

Step 4: Project Repository Setup๏ƒ

Repository Cloning and Configuration๏ƒ

Clone and Setup:

# Navigate to your development directory
cd ~/projects  # or your preferred location

# Clone your forked repository
git clone https://github.com/YOUR-USERNAME/documentation arabic-os-docs
cd arabic-os-docs

# Add upstream repository (original project)
git remote add upstream https://github.com/arabic-os/documentation

# Verify remote configuration
git remote -v

# Should show:
# origin    https://github.com/YOUR-USERNAME/documentation (fetch)
# origin    https://github.com/YOUR-USERNAME/documentation (push)
# upstream  https://github.com/arabic-os/documentation (fetch)
# upstream  https://github.com/arabic-os/documentation (push)

Directory Structure Understanding:

arabic-os-docs/
โ”œโ”€โ”€ docs/                          # Main documentation directory
โ”‚   โ”œโ”€โ”€ source/                    # Source .rst files (English)
โ”‚   โ”‚   โ”œโ”€โ”€ user-guide/
โ”‚   โ”‚   โ”œโ”€โ”€ developer-guide/
โ”‚   โ”‚   โ””โ”€โ”€ educator-guide/
โ”‚   โ”œโ”€โ”€ locales/                   # Translation files
โ”‚   โ”‚   โ””โ”€โ”€ ar/LC_MESSAGES/        # Arabic translations (.po files)
โ”‚   โ”œโ”€โ”€ build/                     # Generated documentation
โ”‚   โ”œโ”€โ”€ requirements.txt           # Python dependencies
โ”‚   โ””โ”€โ”€ Makefile                   # Build automation
โ”œโ”€โ”€ interactive/                   # Interactive tools
โ””โ”€โ”€ README.md                      # Project information

Understand Translation File Structure:

locales/ar/LC_MESSAGES/
โ”œโ”€โ”€ index.po                       # Main index page
โ”œโ”€โ”€ user-guide/
โ”‚   โ”œโ”€โ”€ index.po                   # User guide main page
โ”‚   โ””โ”€โ”€ tools/
โ”‚       โ”œโ”€โ”€ cp1256-explorer.po     # CP1256 tool documentation
โ”‚       โ”œโ”€โ”€ utf8-visualizer.po     # UTF-8 tool documentation
โ”‚       โ””โ”€โ”€ [other tool files].po
โ”œโ”€โ”€ developer-guide/
โ”‚   โ”œโ”€โ”€ index.po
โ”‚   โ””โ”€โ”€ translation/
โ”‚       โ”œโ”€โ”€ index.po
โ”‚       โ”œโ”€โ”€ translation-workflow.po
โ”‚       โ””โ”€โ”€ [other files].po
โ””โ”€โ”€ educator-guide/
    โ””โ”€โ”€ [educator files].po

Initial Environment Testing๏ƒ

Test Sphinx Build:

# Navigate to docs directory
cd docs

# Activate virtual environment
source sphinx-env/bin/activate  # Linux/macOS
# or sphinx-env\Scripts\activate  # Windows

# Test English build
sphinx-build -b html source build/html

# Test Arabic build (may show warnings for untranslated content)
sphinx-build -b html -D language=ar source build/html-ar

# View results
# English: open build/html/index.html in browser
# Arabic: open build/html-ar/index.html in browser

Test Translation File Access:

# Check translation file status
find locales/ar/LC_MESSAGES -name "*.po" -exec msgfmt --statistics {} \;

# Should show translation statistics like:
# 45 translated messages, 12 untranslated messages, 3 fuzzy translations.

Step 5: Workflow Testing and First Translation๏ƒ

Practice Translation Workflow๏ƒ

Select Practice File:

Choose a small file for initial practice:

# Good starter files (smaller, less complex):
locales/ar/LC_MESSAGES/user-guide/tools/cp1256-explorer.po
locales/ar/LC_MESSAGES/user-guide/index.po

Open in Poedit:

  1. Launch Poedit

  2. File โ†’ Open โ†’ Navigate to chosen .po file

  3. Review file contents: - Source English text - Existing Arabic translations (if any) - Translation status and statistics

Practice Translation Process:

  1. Select untranslated string (shown in red/orange)

  2. Read source text and context comments

  3. Enter Arabic translation following style guide

  4. Use translation memory suggestions if available

  5. Save frequently (Ctrl+S / Cmd+S)

Example Practice Translation:

# Source (English)
msgid "Character Encoding Explorer"
msgstr ""

# Your Arabic translation
msgid "Character Encoding Explorer"
msgstr "ู…ุณุชูƒุดู ุชุฑู…ูŠุฒ ุงู„ุฃุญุฑู"

# With context understanding
#: ../../../source/user-guide/tools/cp1256-explorer.rst:2
msgid ""
"Interactive tool for exploring Arabic character encoding systems"
msgstr ""
"ุฃุฏุงุฉ ุชูุงุนู„ูŠุฉ ู„ุงุณุชูƒุดุงู ุฃู†ุธู…ุฉ ุชุฑู…ูŠุฒ ุงู„ุฃุญุฑู ุงู„ุนุฑุจูŠุฉ"

Test Translation Integration๏ƒ

Build with Your Translations:

# Activate environment
source sphinx-env/bin/activate

# Build Arabic version with your translations
sphinx-build -b html -D language=ar source build/html-ar

# Open in browser to review
open build/html-ar/index.html  # macOS
# or xdg-open build/html-ar/index.html  # Linux
# or start build/html-ar/index.html  # Windows

Quality Check:

Review your translated content for:

Visual Check:
โ–ก Arabic text displays correctly (RTL)
โ–ก Fonts render properly (Amiri/Noto Sans Arabic)
โ–ก No mixed LTR/RTL display issues
โ–ก Navigation works correctly

Content Check:
โ–ก Translation accuracy preserved
โ–ก Technical terms consistent
โ–ก Cultural appropriateness maintained
โ–ก No English text in Arabic version

Commit Your Practice Work๏ƒ

Create Feature Branch:

# Create branch for your practice work
git checkout -b practice-translation

# Add your translated files
git add locales/ar/LC_MESSAGES/

# Commit with descriptive message
git commit -m "Practice translation: Add Arabic for CP1256 explorer

- Translate main headings and introduction
- Follow Arabic style guide for technical terms
- Test build integration successful"

# Push to your fork
git push origin practice-translation

Development Environment Maintenance๏ƒ

Keeping Environment Updated๏ƒ

Regular Maintenance Tasks:

# Update from upstream (weekly)
git fetch upstream
git checkout main
git merge upstream/main

# Update Python dependencies (monthly)
source sphinx-env/bin/activate
pip install -r requirements.txt --upgrade

# Clean build cache (as needed)
make clean
sphinx-build -b html source build/html

Backup Your Work:

# Regular backup of translation work
# Method 1: Push to GitHub frequently
git push origin your-branch-name

# Method 2: Local backup
cp -r locales/ar/LC_MESSAGES ~/backups/arabic-translations-$(date +%Y%m%d)

# Method 3: Export from Poedit
# File โ†’ Export โ†’ Create backup copies

Troubleshooting Common Issues๏ƒ

Environment Problems๏ƒ

Issue: Python command not found

# Solution: Check Python installation
which python3
# If not found, reinstall Python

# Windows specific
py -3 --version

Issue: Sphinx build fails

# Solution: Check virtual environment
which python  # Should show sphinx-env path

# Recreate environment if needed
rm -rf sphinx-env
python3 -m venv sphinx-env
source sphinx-env/bin/activate
pip install -r requirements.txt

Issue: Arabic text appears as boxes

Solution: Install Arabic fonts
- Ubuntu: sudo apt install fonts-noto fonts-amiri
- macOS: Install from Font Book
- Windows: Download from Google Fonts

Translation Tool Issues๏ƒ

Issue: Poedit shows encoding errors

Solution:
1. File โ†’ Preferences โ†’ Editor
2. Ensure "Unicode (UTF-8)" selected
3. Restart Poedit
4. Reopen .po file

Issue: RTL text displays incorrectly

Solution:
1. View โ†’ Text Direction โ†’ Right to Left
2. Or use Ctrl+Shift+R (Windows/Linux)
3. Or Cmd+Shift+R (macOS)

Issue: Translation memory not working

Solution:
1. Edit โ†’ Preferences โ†’ Translation Memory
2. Create new database for Arabic OS project
3. Import existing translations
4. Enable automatic suggestions

Git and GitHub Issues๏ƒ

Issue: Cannot push to repository

# Check remote configuration
git remote -v

# Ensure pushing to your fork (origin), not upstream
git push origin branch-name

Issue: Merge conflicts

# Update your branch with latest changes
git fetch upstream
git checkout main
git merge upstream/main

# Resolve conflicts in translation files
# Most conflicts in .po files can be resolved by:
# 1. Keeping your Arabic translations
# 2. Accepting upstream English source changes

Issue: Large files in commit

# Check what's being committed
git status
git diff --cached

# Avoid committing build files
git reset build/
git reset *.mo

Success Metrics๏ƒ

Week 1 Goals:

โ–ก Complete environment setup
โ–ก Successfully build English and Arabic documentation
โ–ก Translate 10-20 strings in practice file
โ–ก Understand .po file format and workflow
โ–ก Make first successful commit

Month 1 Goals:

โ–ก Complete translation of assigned documentation section
โ–ก Demonstrate consistent terminology usage
โ–ก Successfully contribute to team project
โ–ก Provide feedback on style guide and workflow
โ–ก Help onboard other new translators

Ongoing Success Indicators:

โ–ก Regular, consistent translation contributions
โ–ก High-quality translations that require minimal review
โ–ก Active participation in translator community discussions
โ–ก Mentoring new translators
โ–ก Contributing to style guide improvements

Next Steps๏ƒ

After completing this setup guide:

  1. Join Translator Community - Subscribe to translator mailing list - Join Slack/Discord channels - Attend monthly translator meetings

  2. Request First Assignment - Contact project coordinator - Specify your availability and interests - Receive assigned documentation section

  3. Begin Regular Translation Work - Follow the Translation Workflow guide - Apply the Arabic Style Guide standards - Submit work for Translation Quality Assurance review

  4. Engage with Community - Provide feedback on documentation - Suggest improvements to translation process - Help other translators with questions

Welcome to the Arabic OS Platform translation team! Your contributions directly support Arabic-speaking learners worldwide in accessing high-quality technical education in their native language.