reactjs / reactjs/ar.react.dev

New Arabic Translation Progress

Open
#464 105 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
164
Forks
123
PR merge metrics
No merged PRs in 30d

Description

Maintainer List

  • @AhmedBaset
  • @asantarissy
  • @iRayan7
  • @aladin002dz
  • @Fcmam5
  • @mohshbool
  • @3imed-jaberi
  • @splimter

For New Translators

To translate a page:

  1. Check that no one else has claimed your page in the checklist and comments below.
  2. Comment below with the name of the page you would like to translate. Please take only one page at a time.
  3. Clone this repo, translate your page, and submit a pull request!

Before contributing, read the glossary and style guide (once they exist) to understand how to translate various technical and React-specific terms.

Please be prompt with your translations! If you find that you can't commit anymore, let the maintainers know so they can assign the page to someone else.

For Maintainers

When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:

- [ ] Quick Start (@tesseralis) #12345

When PRs are merged, make sure to mark that page as completed!

Main Content

To do before releasing as an "official" translation. Please translate these pages first.

Note that each section has an index page, which needs to be translated too.

Learn React
  • Quick Start (@Yarob50) #465

    • Tutorial: Tic Tac Toe (@AhmedBaset) #469
    • Thinking in React (@hAbuMustafa) #466
  • Installation (@AbdulrehmanSuliman) #475

    • Start a New React Project
    • Add React to an Existing Project (@AhmedBaset) #473
    • Editor Setup (@AhmedBaset) #479
    • Using TypeScript (@mahmood601) #526
    • React Developer Tools (@AhmedBaset) #476
    • React Compiler
  • Describing the UI (@algorizr ) #472

    • Your First Component (@eihabkhan) #488
    • Importing and Exporting Components (@AhmedBaset) #481
    • Writing Markup with JSX (@AhmedBaset) #480
    • JavaScript in JSX with Curly Braces (@eihabkhan) #498
    • Passing Props to a Component (@tmtm8976) #515
    • Conditional Rendering (@mrlahmar) #503
    • Rendering Lists (@mahmood601) #504
    • Keeping Components Pure (@tmtm8976) #518
    • Your UI as a Tree
  • Adding Interactivity (@abdllahdev) #516

    • Responding to Events (@bil3zy)
    • State: A Component's Memory (@tmtm8976) #527
    • Render and Commit (@AhmedBaset) #478
    • State as a Snapshot (@Mhmd3ssam)
    • Queueing a Series of State Updates
    • Updating Objects in State
    • Updating Arrays in State
  • Managing State (@Rumbustious) #522

    • Reacting to Input with State (@Rumbustious) #532
    • Choosing the State Structure (@Rumbustious)
    • Sharing State Between Components
    • Preserving and Resetting State
    • Extracting State Logic into a Reducer
    • Passing Data Deeply with Context
    • Scaling Up with Reducer and Context
  • Escape Hatches

    • Referencing Values with Refs
    • Manipulating the DOM with Refs
    • Synchronizing with Effects
    • You Might Not Need an Effect
    • Lifecycle of Reactive Effects
    • Separating Events from Effects
    • Removing Effect Dependencies
    • Reusing Logic with Custom Hooks
API Reference
  • Overview

  • react: Hooks (@aalhommada) #477

    • use
    • useCallback
    • useContext
    • useDebugValue (@remahmoud) #489
    • useDeferredValue
    • useEffect
    • useId (@remahmoud) #483
    • useImperativeHandle
    • useInsertionEffect
    • useLayoutEffect
    • useMemo
    • useOptimistic
    • useReducer
    • useRef
    • useState (@r-m169)
    • useSyncExternalStore
    • useTransition
  • react: Components (@AhmedBaset) #509

    • <Fragment> (<>)
    • <Profiler>
    • <StrictMode>
    • <Suspense>
  • react: APIs (@AhmedBaset) #507

    • createContext
    • cache
    • forwardRef
    • lazy
    • memo
    • startTransition
    • act
  • RSC

    • Server Components
    • Server Actions
    • Directives (@AhmedBaset) #505
    • "use client"
    • "use server" (@AhmedBaset) #505
    • experimental_taintObjectReference
    • experimental_taintUniqueValue
  • Rules

    • Components and Hooks must be pure
    • React calls Components and Hooks
    • Rules of Hooks
  • Hooks

    • useFormState
    • useFormStatus
  • react-dom: Components

    • Common (e.g. <div>)
    • <form>
    • <input>
    • <option> (@muh-osman) #487
    • <progress> (@mrlahmar) #491
    • <select>
    • <textarea>
    • <script>
    • <meta>
    • <link>
    • <style>
    • <title>
  • react-dom: APIs (@AhmedBaset) #508

    • createPortal
    • flushSync
    • findDOMNode
    • hydrate
    • preconnect
    • prefetchDNS
    • preinit
    • preinitModule
    • preload
    • preloadModule
    • render
    • unmountComponentAtNode
  • react-dom/client: Client APIs (@AhmedBaset) #510

    • createRoot (@AhmedBaset) #510
    • hydrateRoot
  • react-dom/server: Server APIs

    • renderToNodeStream
    • renderToPipeableStream
    • renderToReadableStream
    • renderToStaticMarkup
    • renderToStaticNodeStream
    • renderToString
Navigation and UI

We suggest to leave most of the UI translation until the end. We plan to do some invasive changes to the website folder layout and components, so postponing this until your translation is almost complete would make it easier to merge the changes from our side later. It might make sense to translate the homepage above the fold early, but leave the rest for later. As individual pages get translated, you can change the page titles in the corresponding sidebar files. Finally, when you're translating the navigation, make sure to test both desktop and mobile layouts.

  • Homepage (currently in HomeContent.js)
  • Sidebars (currently in src/sidebar*.json)
  • Top-level navigation (currently in TopNav.tsx)
When You're Ready...

After everything above is translated, add your language to deployedLanguages in Seo.tsx of the original reactjs/react.dev repository.

Secondary Content

These API pages should ideally be translated too, but they're less urgent and can be done after the others:

  • Legacy React APIs
    • Children
    • cloneElement
    • Component
    • createElement
    • createFactory
    • createRef
    • isValidElement
    • PureComponent

Optional Content

These aren't the main translation targets, but if you'd like to do them, feel free to expand the list to include their subpages:

  • Community
  • Blog
  • Warnings

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the checklist and comments to find an unclaimed Arabic page, then read the repository's glossary and style guide when available. Translation targets include the listed documentation pages, with UI entry points in HomeContent.js, src/sidebar*.json, and TopNav.tsx; completion means submitting the translation PR and having the corresponding checklist item updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react, typescript
Domain
documentation, localization
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.