Coder Social home page Coder Social logo
ar.reactjs.org

reactjs / ar.reactjs.org Goto Github PK

View Code? Open in 1sVSCode Editor NEW
86.0 16.0 74.0 126.46 MB

React documentation website in Arabic 📘⚛️ ..

Home Page: https://ar.reactjs.org/

License: Creative Commons Attribution 4.0 International

JavaScript 90.52% CSS 8.85% HTML 0.63%

ar.reactjs.org's Introduction

ar.reactjs.org

This repo contains the source code and documentation powering ar.reactjs.org. (Work in Progress)

Getting started

Prerequisites

  1. Git
  2. Node: any 12.x version starting with v12.0.0 or greater
  3. Yarn: See Yarn website for installation instructions
  4. A fork of the repo (for any contributions)
  5. A clone of the ar.reactjs.org repo on your local machine

Installation

  1. cd ar.reactjs.org to go into the project root
  2. yarn to install the website's npm dependencies

Running locally

  1. yarn dev to start the hot-reloading development server (powered by Gatsby)
  2. open http://localhost:8000 to open the site in your favorite browser

Contributing

Guidelines

The documentation is divided into several sections with a different tone and purpose. If you plan to write more than a few sentences, you might find it helpful to get familiar with the contributing guidelines for the appropriate sections.

Steps

  1. Check that no one else has claimed your page in the checklist and comments of Arabic Translation Progress and the pull requests.
  2. Comment at Arabic Translation Progress with the name of the page you would like to translate. Please take only one page at a time.
  3. Fork and Setup Repo, translate your page, and submit a pull request!

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

And use Hsoub's translation as a reference.

Fork and Setup Repo

  1. Fork the repo
  2. Clone forked repo on your local machine
  3. cd ar.reactjs.org to go into the project root
  4. git remote add upstream https://github.com/reactjs/ar.reactjs.org to add original repo as an upstream
  5. yarn to install the website's npm dependencies

Create a branch

  1. git checkout master from any folder in your local ar.reactjs.org repository
  2. git pull upstream master to ensure you have the latest main code
  3. git checkout -b the-name-of-my-branch (replacing the-name-of-my-branch with a suitable name) to create a branch

Make the change

  1. Follow the "Running locally" instructions
  2. Save the files and check in the browser
  3. Changes to React components in src will hot-reload
  4. Changes to markdown files in content will hot-reload
  5. If working with plugins, you may need to remove the .cache directory and restart the server

Test the change

  1. If possible, test any visual changes in all latest versions of common browsers, on both desktop and mobile.
  2. Run yarn check-all from the project root. (This will run Prettier, ESLint, and Flow.)

Push it

  1. git add -A && git commit -m "My message" (replacing My message with a commit message, such as Fix header logo on Android) to stage and commit your changes
  2. git push my-fork-name the-name-of-my-branch
  3. Go to the reactjs.org repo and you should see recently pushed branches.
  4. Follow GitHub's instructions.
  5. If possible, include screenshots of visual changes. A Netlify build will also be automatically created once you make your PR so other people can see your change.

Translation

If you are interested in translating reactjs.org, please see the current translation efforts at isreacttranslatedyet.com.

If your language does not have a translation and you would like to create one, please follow the instructions at reactjs.org Translations.

Troubleshooting

  • yarn reset to clear the local cache

License

Content submitted to reactjs.org is CC-BY-4.0 licensed, as found in the LICENSE-DOCS.md file.

ar.reactjs.org's People

Contributors

zpao avatar bvaughn avatar gaearon avatar 3imed-jaberi avatar asantarissy avatar sophiebits avatar alexkrolick avatar mohamedsgap avatar petehunt avatar iRayan7 avatar reactjs-translation-bot avatar chenglou avatar vjeux avatar jimfb avatar atefBB avatar aladin002dz avatar acdlite avatar ahmedkrmn avatar mohshbool avatar marocchino avatar splimter avatar Fcmam5 avatar tesseralis avatar dependabot[bot] avatar kohei-takata avatar koba04 avatar lex111 avatar yangshun avatar Aissaoui-Ahmed avatar mcsheffrey avatar

Stargazers

ibrahim GUOUAL BELHAMIDI avatar TajAlasfiyaa Ishag avatar Eliaz Bobadilla avatar Mansour Ashraf avatar Abdelrahman Mougahed avatar Med Amine Fh avatar Ahmed. avatar Hamad Binqali avatar Mohamed Magdy avatar Murad avatar Majd Eddine BEN TAHAR avatar Hanaa= avatar Mohammad Al-Esseili avatar Sayefdeen Alrawad avatar Rowadz avatar Rami Atrouni avatar George Kontridze avatar Maher Alshaar avatar  avatar Sulaiman Hamouda avatar Morayo O.  avatar Essehemy avatar  avatar Oussama Bouchikhi avatar Yassin Hussein avatar BELHARRADI JAMAL avatar Mohammed Alrefai avatar Mohamed Ali Jamaoui avatar Rachid Ahsoune avatar Mustafa Wahba avatar Vacit avatar Ahmed ElDoweny avatar Ahmed Ashraf avatar  avatar painor avatar Karam Qusai avatar Israa A. Gargar avatar 像树一样成长! avatar Mustafa ismail avatar tamsamani mohamed avatar bishoySouser avatar Yosuf Ali avatar Ahmed Shahwan avatar Ahmd Talat avatar B. Reda avatar  avatar °•°`•× refIectedreåmz ו`°•° avatar ELTAYEB ALI avatar Chams AGOUNI avatar Amal Alkhamees avatar KASSEM Hachi avatar Mahmoud Masri avatar Aissaoui Ahmed avatar Mohammad Shbool avatar Mahmoud Abdelwahab avatar Abdellah C. avatar Masked Developer (Mehdi Hamime) avatar Salah Eddine Lalami avatar M Haidar Hanif avatar Wael Ashi avatar Atef Ben Ali avatar Nabil Boussouf avatar Khaled Charkie avatar Anas H. Albarghouthy (Anas Barg) avatar  avatar Abdelkhalek Zellat avatar Mouad Ziani avatar Elatigh Abdel Vetah avatar Nadjib Khelifati avatar Osamah Mohammed avatar Yahia Battach avatar Othman A. Abahussein avatar Ahmed Karaman avatar Abdurab avatar Youness Hakky avatar Amir Irani avatar Mohammad Alhomaid avatar Belhassen Gharsallah avatar Tarik avatar Ala' M. Mohammad avatar Ahmed Farag avatar Ibrahim Sassi avatar Fortas Abdeldjalil avatar Mahfoudh Arous avatar Mahmoud Ashraf avatar Emmanuel Gatwech avatar

Watchers

Sebastian Markbåge avatar Ryan Florence avatar Ahmad Santarissy avatar James Cloos avatar Flarnie Marchan avatar yacine benzmane avatar  avatar Aissaoui Ahmed avatar Emmanuel Gatwech avatar Rayan Aldafas avatar Mahfoudh Arous avatar Karam Qusai avatar Israa A. Gargar avatar Imed Jaberi avatar Omar AlSadi avatar elhaddajiotmane avatar

ar.reactjs.org's Issues

translate

why you translated state and component
i think y'd better don't translate the names and keep without translation to learn easily
that's my opinion
all the best

What Kind of Arabic Should we Use?

I would like to help with the translation but was wondering what form of Arabic should we choose? Are we going to go with Modern Standard Arabic العربية الفصحى or something closer to the accents that people use in their daily speech (going to call it to Colloquial Arabic العربية العامية)? I ask this because I and others can help with translating to Colloquial Arabic but our Modern Standard Arabic is very weak and most people don't speak it even at work these days. I believe this is an important matter to discuss because what we decide here in this translation may very well become the standard upon which other translations are based.

To add some context, in most Arabic writing we use Modern Standard Arabic, and it's very uncommon to use it in a conversation at work for example; it's more popular in speeches or delivering news, books, etc. The Colloquial Arabic that most people speak nowadays is sometimes seen as a lesser form of Arabic that should be avoided.

As a very small example I see calling a function described as استدعاء الدالة and if I heard the word استدعاء, I would associate more with being summoned to court rather than calling a function, I would perhaps use something like مناداة if I try to take how most Arabs speak rather than write into account (I know some math/programming books do this, but do we want to use them as our base?).

If we're going to go with Modern Standard Arabic, what are the standards? Should we use diacritics تشكيل everywhere or only some places for example? I think having these in the contributor guidelines would be very helpful. I think this is something good to tackle early on so the docs have the same vibe everywhere.

Final note:
I am not saying any form of Arabic is better or worse than the other, I just want to know what we're going with to understand if I can assist this effort with my limited knowledge.

Update Glossary / Methodology of work

Glossary 📔

I think that we should update the glossary accurately, as we review all the words and the corresponding translation so as not to fall into conflict ..

Methodology of work 🛃

Should be identify contributors and provide our own communication platform such as SLACK, DISCORD, TELEGRAM or even MESSENGER ...etc , so that we can communicate in everything ..

Note : I know we have Slack room but the problem is that it is not active and there are some active contributors that are not in it ..

Arabic Translation Progress

Maintainer List

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 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 any more, let the maintainers know so they can assign the page to someone else.

PS: Please use Hsoub's wiki as your reference but keep in your mind we need to keep the tech. terms in the English and Arabic language.
eg: unit testing (وحدات الاختبار), javascript (جافاسكريبت),...etc.

For Maintainers

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

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

Core Pages

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

Basics

API Reference

Navigation

These are the navigation links that appears in the sidebar. Possibly wait until
the corresponding sections are translated to do these.

Next Steps

These are the next most important translations, ordered by importance:

Installation

Hooks

Everyone is hooked on hooks! People are really excited for these and it would be great for them to be translated.

Testing

Concurrent Mode ( New )

Warnings

These are the pages that you get when you click the links in the console (e.g. https://reactjs.org/warnings/dont-call-proptypes.html). People tend to search these, so please don't translate the error message itself.

Advanced Guides

FAQ

Contributing

Priority: Low

Components

Components in src/components that have some text in them.

Additional Translations

These are not the primary translation targets.

sharp: Command failed. Exit code 1. While install dependencies using yarn on Ubuntu 18.04

When I use Yarn to install dependencies I got this error:

OS: linux ubuntu 18.04
node -v: 12.13.1
npm -v OR yarn: npm: 6.12.1, yarn: 1.19.2

error /home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp: Command failed.
Exit code: 1
Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
Arguments:
Directory: /home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp
Output:
info sharp Using cached /home/mohamedsgap/.npm/libvips/libvips-8.6.1-linux-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=12.13.1 runtime=node arch=x64 platform=linux)
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp info find Python using Python version 2.7.15 found at "/usr/bin/python"
gyp WARN EACCES current user ("mohamedsgap") does not have permission to access the dev dir "/home/mohamedsgap/.cache/node-gyp/12.13.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/tmp/.node-gyp"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/tmp/.node-gyp/12.13.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/tmp/.node-gyp/12.13.1',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/tmp/.node-gyp/12.13.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp/build'
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../../nan/nan_converters.h:67:0,
from ../../nan/nan.h:221,
from ../src/common.cc:24:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan:👿:ToFactoryBasev8::Boolean::return_t Nan:👿:ToFactoryv8::Boolean::convert(v8::Localv8::Value)’:
../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocalv8::Boolean v8::Value::ToBoolean(v8::Localv8::Context) const’ is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
val->To ## TYPE(isolate->GetCurrentContext())
^
../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
X(Boolean)
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:2568:59: note: declared here
V8_WARN_UNUSED_RESULT MaybeLocal ToBoolean(
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../../nan/nan_converters.h:67:0,
from ../../nan/nan.h:221,
from ../src/common.cc:24:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan:👿:ValueFactoryBase::return_t Nan:👿:ToFactory::convert(v8::Localv8::Value)’:
../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe v8::Value::BooleanValue(v8::Localv8::Context) const’ is deprecated: BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
return val->NAME ## Value(isolate->GetCurrentContext());
^
../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
X(bool, Boolean)
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:2606:51: note: declared here
V8_WARN_UNUSED_RESULT Maybe BooleanValue(
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:222,
from ../src/common.cc:24:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan:👿:FactoryBasev8::Function::return_t Nan:👿:Factoryv8::Function::New(Nan::FunctionCallback, v8::Localv8::Value)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfov8::Value&), v8::Localv8::Object&)’
, obj));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/node.h:63:0,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:4170:31: note: candidate: static v8::MaybeLocalv8::Function v8::Function::New(v8::Localv8::Context, v8::FunctionCallback, v8::Localv8::Value, int, v8::ConstructorBehavior, v8::SideEffectType)
static MaybeLocal New(
^~~
/tmp/.node-gyp/12.13.1/include/node/v8.h:4170:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Localv8::Context’
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’:
../../nan/nan.h:1064:78: warning: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Localv8::String string = from->ToString(v8::Isolate::GetCurrent());
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: declared here
Local ToString(Isolate* isolate) const);
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Localv8::Value&)’:
../../nan/nan.h:1855:64: warning: ‘bool v8::Object::Set(v8::Localv8::Value, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3403:22: note: declared here
bool Set(Local key, Local value));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Localv8::String&, const v8::Localv8::Value&)’:
../../nan/nan.h:1861:42: warning: ‘bool v8::Object::Set(v8::Localv8::Value, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(key, value);
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3403:22: note: declared here
bool Set(Local key, Local value));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Localv8::Value&)’:
../../nan/nan.h:1867:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(index, value);
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3412:22: note: declared here
bool Set(uint32_t index, Local value));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1873:61: warning: ‘v8::Localv8::Value v8::Object::Get(v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Get(New(key).ToLocalChecked()));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3457:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(Local key));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const v8::Localv8::String&) const’:
../../nan/nan.h:1879:55: warning: ‘v8::Localv8::Value v8::Object::Get(v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return scope.Escape(New(persistentHandle)->Get(key));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3457:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(Local key));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1884:57: warning: ‘v8::Localv8::Value v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return scope.Escape(New(persistentHandle)->Get(index));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3461:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(uint32_t index));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
from /tmp/.node-gyp/12.13.1/include/node/node_object_wrap.h:26,
from ../../nan/nan.h:54,
from ../src/common.cc:24:
../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistentv8::Object’ has no member named ‘IsNearDeath’
assert(persistent().IsNearDeath());
^
In file included from ../../nan/nan.h:2698:0,
from ../src/common.cc:24:
../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase::MarkIndependent() [with T = v8::Object]’ is deprecated: Weak objects are always considered independent. Use TracedGlobal when trying to use EmbedderHeapTracer. Use a strong handle when trying to keep an object alive. [-Wdeprecated-declarations]
persistent().MarkIndependent();
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:567:22: note: declared here
V8_INLINE void MarkIndependent());
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
from /tmp/.node-gyp/12.13.1/include/node/node_object_wrap.h:26,
from ../../nan/nan.h:54,
from ../src/common.cc:24:
../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfoNan::ObjectWrap&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistentv8::Object’ has no member named ‘IsNearDeath’
assert(wrap->handle
.IsNearDeath());
^
In file included from ../src/common.cc:27:0:
../src/common.h: At global scope:
../src/common.h:82:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~~~~
../src/common.h:82:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:82:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~
../src/common.h:82:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~~
../src/common.h:82:60: error: expression list treated as compound expression in initializer [-fpermissive]
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:83:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~~~~
../src/common.h:83:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:83:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~
../src/common.h:83:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~~
../src/common.h:84:48: error: ‘Handle’ is not a member of ‘v8’
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:84:65: error: expected primary-expression before ‘>’ token
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:84:67: error: ‘obj’ was not declared in this scope
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.h:84:84: error: expected primary-expression before ‘attr’
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.h:84:37: warning: variable templates only available with -std=c++14 or -std=gnu++14
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:84:90: error: expected ‘;’ before ‘{’ token
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:87:37: error: ‘Handle’ is not a member of ‘v8’
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:87:54: error: expected primary-expression before ‘>’ token
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:87:56: error: ‘obj’ was not declared in this scope
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.h:87:73: error: expected primary-expression before ‘attr’
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.h:87:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:87:79: error: expected ‘;’ before ‘{’ token
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:90:37: error: ‘Handle’ is not a member of ‘v8’
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^~~~~~
../src/common.h:90:54: error: expected primary-expression before ‘>’ token
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^
../src/common.h:90:56: error: ‘obj’ was not declared in this scope
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^~~
../src/common.h:90:61: error: expected primary-expression before ‘int’
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^~~
../src/common.h:87:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:90:71: error: expected ‘;’ before ‘{’ token
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^
../src/common.h:96:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~~
../src/common.h:96:26: error: expected primary-expression before ‘>’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^
../src/common.h:96:28: error: ‘input’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~
../src/common.h:96:28: note: suggested alternative: ‘ino_t’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~
ino_t
../src/common.h:96:70: error: expected primary-expression before ‘&’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^
../src/common.h:96:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~~~~~~~~~~~~
../src/common.h:96:87: error: expression list treated as compound expression in initializer [-fpermissive]
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^
../src/common.cc:34:20: error: redefinition of ‘bool sharp::HasAttr’
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:82:8: note: ‘bool sharp::HasAttr’ previously defined here
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~~~~~
../src/common.cc:34:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.cc:34:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.cc:34:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.cc:34:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.cc:37:29: error: redefinition of ‘std::string sharp::AttrAsStr’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:83:15: note: ‘std::string sharp::AttrAsStr’ previously declared here
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~~~~~~~
../src/common.cc:37:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.cc:37:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.cc:37:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.cc:37:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.cc:43:9: error: redefinition of ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:95:20: note: ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’ previously defined here
InputDescriptor* CreateInputDescriptor(
^~~~~~~~~~~~~~~~~~~~~
../src/common.cc:43:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~~
../src/common.cc:43:26: error: expected primary-expression before ‘>’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^
../src/common.cc:43:28: error: ‘input’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~
../src/common.cc:43:28: note: suggested alternative: ‘ino_t’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~
ino_t
../src/common.cc:43:70: error: expected primary-expression before ‘&’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^
../src/common.cc:43:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~~~~~~~~~~~~
sharp.target.mk:134: recipe for target 'Release/obj.target/sharp/src/common.o' failed
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 4.15.0-1065-oem
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp
gyp ERR! node -v v12.13.1

Use an Arabic font

As Salam Alikom, Hello everyone :)

I suggest setting an "Arabic-friendly" and a more font.

In my case the fonts look like this (Firefox on Ubuntu, using the default fonts):

Screenshot from 2019-06-12 19-36-26

And for me, it looks a bit ugly.
I suggest setting a better font. If that's possible, what font should we use?

Dealing with RTL

we need to discuss if we need to add RTL support to the docs website.

Translating community section

Before you start working

  • Check if the page isn't assigned, and no one commented about it.
  • Please comment 👇the page name before you start working on it. To get assigned to it.

Pages:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.