This document provides a guideline of translating R Messages/Warnings/Errors from English to Arabic.


Translating R programming messages and warnings from English to Arabic requires careful attention to both the technical accuracy and linguistic clarity of the translated text. Here’s a translation guide to help you with this process:

1. Understand the Context:

Before translating any message or warning, it’s crucial to understand the context. Know what the message is conveying, what part of the code it relates to, and its intended audience.

2. Maintain Technical Accuracy:

Ensure that the translated message conveys the same technical information as the original. The goal is to make sure that users can still understand the issue or information provided.

3. Preserve Clarity:

Clarity is paramount in translations. Make sure the translated message is clear and easy to understand. Avoid overly complex or verbose translations.

4. Use Formal Arabic:

When translating messages for a general audience or professional context, use Modern Standard Arabic (MSA) or Formal Arabic. Avoid using dialects unless the message is for a specific region where a particular dialect is preferred.

5. Consistency:

Maintain consistency in your translations. Use consistent terminology and wording throughout the translation to avoid confusion.

6. Be Mindful of Length:

Consider that the Arabic translation might be longer or shorter than the English text. Ensure that the translated message fits within the space allocated in the code or interface.

7. Retain Technical Terms:

For technical terms and code-related elements such as function names, object names, and variable names, it’s often best to keep them in English. Use the Arabic script for these terms if necessary but maintain the English terminology.

8. Handle Plurals:

Arabic nouns have different forms for singular and plural. Ensure that you correctly handle plurals when translating messages that involve counts or quantities.

9. Punctuation:

Use Arabic punctuation and ensure proper spacing around punctuation marks. Arabic uses different quotation marks and a reversed question mark (؟) and exclamation mark (ء).

10. Special Characters:

Some technical messages may contain special characters like %s, %d, or %f for string, integer, and floating-point substitutions. Keep these special characters and their order in the translated message, making sure they correspond correctly with the placeholders.

11. Avoid Gendered Language:

In Arabic, gendered language is common. However, in technical messages, try to avoid gender-specific terms. Use neutral language whenever possible to be inclusive.

12. Test the Translation:

After translating, test the messages in the R environment to ensure they appear correctly and are still functional.

13. Document Translations:

Keep a record of your translations for reference. This documentation can help maintain consistency in future translations and facilitate collaboration with other translators.

14. Seek Feedback:

If possible, seek feedback from native Arabic speakers who are also familiar with programming to ensure the translations make sense in the intended context.

15. Revise and Update:

Programming languages evolve, and so should your translations. Periodically review and update your translations to align with changes in the R programming language or best practices in translation.

Remember that translating programming messages is a specialized skill that requires a strong understanding of both the source and target languages as well as the technical context. Collaborating with other experienced translators can also improve the quality of your translations.

How to Contribute:

  1. Join R Contributors Slack group.
  2. Join #core-translation channel.
  3. Create an account on Weblate (currently maintained by @daroczig);
  4. Choose Arabic language to see all components.
  5. Add your translation to a component that’s not 100% translated.
  6. Review translated components.

Glossary #### Note: The Arabic translation here is based on Google translate! It requires some review and edit. This

can be done later!

English Arabic
abort إلغاء
alias اسم بديل
allocate تخصيص
argument وسيط
array مصفوفة
assign تخصيص
attach إرفاق
attribute سمة
backslash شرطة عكسية
bind ربط
bitmap خريطة نقاط
boxplot مخطط صندوق
break انقطاع
browser متصفح
build بناء
bytecode بايت كود
cache ذاكرة مؤقتة
call استدعاء
callback استدعاء راجع
character string سلسلة أحرف
check فحص
chunk مقطع
closure إغلاق
codoc وثائق الكود
coerce إجبار
colortype نوع اللون
console وحدة التحكم
data frame إطار البيانات
database قاعدة البيانات
dataset مجموعة البيانات
debug تصحيح
defunct غير صالح
deparse تفريق
deprecated مهجور
detach فصل
device جهاز
dispatch إرسال
documentation object كائن الوثائق
download تنزيل
driver سائق
drop إسقاط
encoding ترميز
entry إدخال
environment بيئة
evaluate تقييم
factor عامل
fifo FIFO (الأولوية للأولوية)
file pointer مؤشر الملفات
file stream تدفق الملفات
filename اسم الملف
fit تناسب
flag علم
flush تفريغ
frame إطار
handle التعامل مع
hard-coded مشفر بصورة صعبة
history تاريخ
implement تنفيذ
incoming checks فحوصات الوارد
index فهرس
invalid غير صالح
IO الإدخال والإخراج
label تصنيف
lag تأخير
layout تخطيط
lazy loading التحميل الكسلاني
lazydata بيانات كسلانية
leading minor صغير القيادة
length الطول
library مكتبة
link ربط
locale اللغة والمنطقة
locator محدد
locking قفل
logical منطقي
macro ماكرو
magic number الرقم السحري
match تطابق
metafile ملف ميتا
mirror مرآة
mismatch غير متطابق
missing مفقود
modulus باقي القسمة
multibyte متعدد البايت
namespace مساحة الأسماء
non-interactively بشكل غير تفاعلي
non-numeric type نوع غير رقمي
numeric-alike مشابه للأرقام
offending مسبب
offset إزاحة
opcode رمز العملية
outlier قيمة متطرفة
overflow تجاوز
override تجاوز
package حزمة
pager عارض
pair list قائمة مزدوجة
parse تحليل
path مسار
pipe أنبوب
pixmap صورة نقطية
platform منصة
polyline متعدد الخطوط
port منفذ
portable قابل للنقل
profiling تحليل الأداء
profile ملف التحليل
promise وعد
prompt توجيه
proxy وكيل
push back تراجع
quote symbol رمز الاقتباس
range نطاق
raw نص نقي
redraw إعادة الرسم
regular expression تعبير منتظم
replace استبدال
report تقرير
repository مستودع
require يتطلب
return إرجاع
role دور
routine روتين
run تشغيل
seal ختم
search path مسار البحث
seed بذرة
seek البحث
sink مصفاة
slash شرطة مائلة
slot فتحة
snapshot لقطة
socket مأخذ
source المصدر
splice دمج
stack مكدس
standardizable قابل للتوحيد
startup بدء التشغيل
strict صارم
subscript رمز تصنيف
subset مجموعة فرعية
tag وسم
tag علامة
tangling تشابك
tarball حزمة الأرشيف
template قالب
thread موضوع
timeout مهلة
timer مؤقت
timezone منطقة زمنية
top level المستوى العلوي
traceback مسار الإتباع
truncate اقتصاص
unary operator مشغل أحادي
unbind إلغاء الربط
underflow انخفاض
unlisted غير مدرج
viewport منظر
vignette درس تعريفي
warning تحذير
workspace مساحة العمل
wrapup اختتام