Skip to content

Commit

Permalink
feat: Add Arabic Localization
Browse files Browse the repository at this point in the history
* Partial Arabic Language support!

* Partial Arabic Language support!

* translate more words...
  • Loading branch information
hadialqattan authored May 3, 2021
1 parent 7206f2f commit 943830f
Show file tree
Hide file tree
Showing 14 changed files with 285 additions and 3 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ Translations into versions for other languages are welcome 🧐! Please read the

| Key | Name | Status |
|-------|:--------------------|:-------------|
| ar | Arabic | [@hadialqattan](https://github.com/hadialqattan) |
| bg | Българският език | ✔️ [@null-none](https://github.com/null-none) |
| ca | Català | ✔️ [@marcizhu](https://github.com/marcizhu) |
| de | Deutsch | ✔️ [@Schloemicher](https://github.com/Schloemicher) |
Expand Down
8 changes: 8 additions & 0 deletions src/shared/locales/all.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import eleLocaleAr from 'element-ui/lib/locale/lang/ar'
import eleLocaleBg from 'element-ui/lib/locale/lang/bg'
import eleLocaleCa from 'element-ui/lib/locale/lang/ca'
import eleLocaleDe from 'element-ui/lib/locale/lang/de'
Expand All @@ -20,6 +21,7 @@ import eleLocaleVi from 'element-ui/lib/locale/lang/vi'
import eleLocaleZhCN from 'element-ui/lib/locale/lang/zh-CN'
import eleLocaleZhTW from 'element-ui/lib/locale/lang/zh-TW'
import eleLocaleUk from 'element-ui/lib/locale/lang/ua'
import appLocaleAr from '@shared/locales/ar'
import appLocaleBg from '@shared/locales/bg'
import appLocaleCa from '@shared/locales/ca'
import appLocaleDe from '@shared/locales/de'
Expand All @@ -46,6 +48,12 @@ import appLocaleUk from '@shared/locales/uk'
// Please keep the locale key in alphabetical order.
/* eslint-disable quote-props */
const resources = {
'ar': {
translation: {
...eleLocaleAr,
...appLocaleAr
}
},
'ca': {
translation: {
...eleLocaleCa,
Expand Down
6 changes: 6 additions & 0 deletions src/shared/locales/app.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import appLocaleAr from '@shared/locales/ar'
import appLocaleBg from '@shared/locales/bg'
import appLocaleCa from '@shared/locales/ca'
import appLocaleDe from '@shared/locales/de'
Expand All @@ -23,6 +24,11 @@ import appLocaleUk from '@shared/locales/uk'
// Please keep the locale key in alphabetical order.
/* eslint-disable quote-props */
const resources = {
'ar': {
translation: {
...appLocaleAr
}
},
'ca': {
translation: {
...appLocaleCa
Expand Down
7 changes: 7 additions & 0 deletions src/shared/locales/ar/about.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export default {
'engine-version': 'إصدار المحرك',
'license': 'الرخصة',
'about': 'حول',
'release': 'إصدار',
'support': 'الدعم'
}
32 changes: 32 additions & 0 deletions src/shared/locales/ar/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
export default {
'task-list': 'قائمة المهام',
'add-task': 'إضافة مهمة',
'about': 'حول موتركس',
'preferences': 'التفضيلات',
'check-for-updates': 'تحقق من وجود تحديثات...',
'check-updates-now': 'تحقق الآن',
'checking-for-updates': 'جاري التحقق من وجود تحديثات...',
'check-for-updates-title': 'التحقق من وجود تحديثات',
'update-available-message': 'يتوفر إصدار أحدث من موتركس، حدث الآن؟',
'update-not-available-message': 'لديك أحدث إصدار!',
'update-downloaded-message': 'جاهز للتثبيت...',
'update-error-message': 'حدث خطأ أثناء التحديث',
'engine-damaged-message': 'المحرك متضرر، الرجاء إعادة التثبيت :(',
'engine-missing-message': 'المحرك مفقود، الرجاء إعادة التثبيت :(',
'system-error-title': 'خطأ في النظام',
'system-error-message': 'فشل بدء تشغيل التطبيق: {{message}}',
'hide': 'إخفاء موتركس',
'hide-others': 'إخفاء الآخرين',
'unhide': 'إظهار الكل',
'show': 'إظهار موتركس',
'quit': 'الخروج من موتركس',
'under-development-message': 'عذراً، هذه الميزة قيد التطوير...',
'yes': 'نعم',
'no': 'لا',
'cancel': 'إلغاء',
'submit': 'إرسال',
'gt1d': 'أكثر من يوم',
'hour': 'س',
'minute': 'د',
'second': 'ث'
}
9 changes: 9 additions & 0 deletions src/shared/locales/ar/edit.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export default {
'undo': 'تراجع',
'redo': 'إعادة',
'cut': 'قص',
'copy': 'نسخ',
'paste': 'لصق',
'delete': 'حذف',
'select-all': 'تحديد الكل'
}
7 changes: 7 additions & 0 deletions src/shared/locales/ar/help.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export default {
'official-website': 'صفحة موتركس',
'manual': 'دليل الاستخدام',
'release-notes': 'ملاحظات الإصدار...',
'report-problem': 'أبلغ عن مشكلة',
'toggle-dev-tools': 'تفعيل أدوات المطور'
}
21 changes: 21 additions & 0 deletions src/shared/locales/ar/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import about from './about'
import app from './app'
import edit from './edit'
import help from './help'
import menu from './menu'
import preferences from './preferences'
import subnav from './subnav'
import task from './task'
import window from './window'

export default {
about,
app,
edit,
help,
menu,
preferences,
subnav,
task,
window
}
8 changes: 8 additions & 0 deletions src/shared/locales/ar/menu.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default {
'app': 'موتركس',
'file': 'الملف',
'task': 'المهام',
'edit': 'تعديل',
'window': 'النوافذ',
'help': 'المساعدة'
}
73 changes: 73 additions & 0 deletions src/shared/locales/ar/preferences.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
export default {
'basic': 'أساسية',
'advanced': 'متقدمة',
'lab': 'المختبر',
'save': 'احفظ وطبق',
'save-success-message': 'تم حفظ التفضيلات بنجاح',
'save-fail-message': 'فشل في حفظ التفضيلات',
'discard': 'تجاهل',
'startup': 'بدء',
'open-at-login': 'الفتح عند تسجيل الدخول',
'keep-window-state': 'المحافظة على حجم وموضع النافذة عند الخروج',
'auto-resume-all': 'استئناف جميع المهام غير المكتملة تلقائيًا',
'default-dir': 'المجلد الافتراضي',
'mas-default-dir-tips': '~/Downloads نظراً لقيود آلية تحديد الصلاحيات في أبل ستور، يستحسن ضبط مجلد التحميل الافتراضي إلى',
'transfer-settings': 'النقل',
'transfer-speed-upload': 'حد سرعة الرفع',
'transfer-speed-download': 'حد سرعة التحميل',
'transfer-speed-unlimited': 'غير محدود',
'task-manage': 'إدارة المهام',
'max-concurrent-downloads': 'الحد الأقصى من المهام النشطة',
'max-connection-per-server': 'الحد الأقصى من الاتصالات لكل خادم',
'new-task-show-downloading': 'إظهار التنزيل تلقائيًا بعد إضافة المهمة',
'no-confirm-before-delete-task': 'لاتطلب التأكيد قبل حذف المهمة',
'continue': 'استمر',
'task-completed-notify': 'إشعار بعد اكتمال التنزيل',
'auto-purge-record': 'مسح سجلات التنزيل تلقائيًا عند الخروج من التطبيق',
'ui': 'الواجهة',
'appearance': 'المظهر',
'theme-auto': 'تلقائي',
'theme-light': 'فاتح',
'theme-dark': 'داكن',
'auto-hide-window': 'إخفاء النافذة تلقائيًا',
'run-mode': 'تشغيل كـ',
'run-mode-standard': 'التطبيق القياسي',
'run-mode-menu-bar': 'تطبيق شريط القوائم',
'tray-speedometer': 'تعرض علبة شريط القوائم السرعة في الوقت الفعلي',
'language': 'اللغة',
'change-language': 'تغيير اللغة',
'hide-app-menu': 'إخفاء قائمة التطبيقات (Windows و Linux فقط)',
'proxy': 'الخادم الوسيط',
'use-proxy': 'تفعيل الخادم الوسيط',
'no-proxy-input-tips': 'تخطي إعدادات الخادم الوسيط لهذه المضيفات والمجالات، واحد في كل سطر',
'proxy-tips': 'عرض دليل الخادم الوسيط',
'bt-tracker': 'خوام التعقب',
'bt-tracker-input-tips': 'خوادم التعقب، واحد في كل سطر',
'bt-tracker-tips': 'مستحسن: ',
'sync-tracker-tips': 'مزامنة',
'auto-sync-tracker': 'تحديث قائمة التعقب تلقائياً كل يوم',
'port': 'منافذ الاستماع',
'bt-port': 'منفذ BT للاستماع',
'dht-port': 'منفذ DHT للاستماع',
'security': 'الحماية',
'rpc-secret': 'رمز RPC السري',
'rpc-secret-tips': 'عرض دليل رمز RPC السري',
'developer': 'المطور',
'mock-user-agent': 'Mock User-Agent',
'app-log-path': 'App log path',
'download-session-path': 'Download session path',
'factory-reset': 'العودة إلى الإعدادات الافتراضية',
'factory-reset-confirm': 'هل أنت متأكد من العودة إلى الإعدادات الافتراضية؟',
'lab-warning': '⚠️ Enabling lab features may result in app crash or data loss, decide at you own risk!',
'download-protocol': 'البروتوكولات',
'protocols-default-client': 'تعيين كعميل افتراضي للبروتوكولات التالية',
'protocols-magnet': 'Magnet [ magnet:// ]',
'protocols-thunder': 'Thunder [ thunder:// ]',
'browser-extensions': 'Extensions',
'baidu-exporter': 'BaiduExporter',
'browser-extensions-tips': 'مقدمة من المجتمع، ',
'baidu-exporter-help': 'اضغط هنا لبدء الاستخدام',
'auto-update': 'التحديث التلقائي',
'auto-check-update': 'تحقق تلقائيًا من التحديث',
'last-check-update-time': 'آخر مرة تم التحقق من وجود تحديثات'
}
4 changes: 4 additions & 0 deletions src/shared/locales/ar/subnav.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export default {
'task-list': 'قائمة المهام',
'preferences': 'التفضيلات'
}
94 changes: 94 additions & 0 deletions src/shared/locales/ar/task.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
export default {
'active': 'جاري التحميل',
'waiting': 'جاري الانتظار',
'stopped': 'توقف',
'new-task': 'مهمة جديدة',
'new-bt-task': 'مهمة BT جديدة',
'open-file': 'فتح ملف نورنت...',
'uri-task': 'عنوان ارتباط (URL)',
'torrent-task': 'تورنت',
'uri-task-tips': 'One task url per line (supports magnet)',
'thunder-link-tips': 'Tip: Thunder links may not be downloadable after decoding',
'new-task-uris-required': 'Please enter at least one valid resource url',
'new-task-torrent-required': 'الرجاء اختيار ملف تورنت',
'file-name': 'اسم الملف',
'file-extension': 'نوع الملف',
'file-size': 'حجم الملف',
'selected-files-sum': 'الملف المختار: {{selectedFilesCount}} ملف, الحجم الكلي {{selectedFilesTotalSize}}',
'task-name': 'اسم المهمة',
'task-out': 'إعادة تسمية',
'task-out-tips': 'اختياري',
'task-split': 'تقسيم',
'task-dir': 'حفظ إلى',
'pause-task': 'إيقاف مؤقت',
'task-ua': 'UA',
'task-user-agent': 'User-Agent',
'task-referer': 'Referer',
'task-cookie': 'Cookie',
'task-proxy': 'الخادم الوسيط',
'navigate-to-downloading': 'Navigate to Downloading',
'show-advanced-options': 'الخيارات المتقدمة',
'copyright-warning': 'Copyright Warning',
'copyright-warning-message': 'The file you want to download may be copyrighted audio or video, please ensure that you have permission to access to it.',
'copyright-yes': 'Yes, I have permission',
'copyright-no': 'No, I don\'t have permission',
'copyright-error-message': 'Failed to add task due to copyright issue',
'pause-task-success': 'Successfully paused task "{{taskName}}"',
'pause-task-fail': 'Failed to pause task "{{taskName}}"',
'resume-task': 'استئناف المهمة',
'resume-task-success': 'Successfully resumed task "{{taskName}}"',
'resume-task-fail': 'Failed to resume task "{{taskName}}"',
'delete-task': 'حذف المهمة',
'delete-selected-tasks': 'حذف المهام المحددة',
'delete-task-confirm': 'Are you sure you want to remove download task "{{taskName}}"?',
'batch-delete-task-confirm': 'Are you sure you want to remove {{count}} download tasks in batch?',
'delete-task-label': 'Delete with Files',
'delete-task-success': 'Successfully deleted task "{{taskName}}"',
'delete-task-fail': 'Failed to delete task "{{taskName}}"',
'remove-task-file-fail': 'Failed to delete task file(s), please delete them manually',
'remove-task-config-file-fail': 'Failed to delete task config file, please delete it manually',
'move-task-up': 'Move Task Up',
'move-task-down': 'Move Task Down',
'pause-all-task': 'Pause All Tasks',
'pause-all-task-success': 'Successfully paused all tasks',
'pause-all-task-fail': 'Failed to pause all tasks',
'resume-all-task': 'Resume All Tasks',
'resume-all-task-success': 'Successfully resumed all tasks',
'resume-all-task-fail': 'Failed to resume all tasks',
'select-all-task': 'حدد كل المهام',
'clear-recent-tasks': 'Clear Recent Tasks',
'purge-record': 'Purge Task Record',
'purge-record-success': 'Successfully purged task records',
'purge-record-fail': 'Failed to purge task records',
'batch-delete-task-success': 'Successfully delete tasks in batch',
'batch-delete-task-fail': 'Failed to delete tasks in batch',
'refresh-list': 'تحديث قائمة المهام',
'no-task': 'لا توجد مهام حالية',
'copy-link': 'نسخ الرابط',
'copy-link-success': 'تم نسخ الرابط بنجاح',
'remove-record': 'Remove Task Record',
'remove-record-confirm': 'Are you sure you want to remove download record for "{{taskName}}"?',
'remove-record-label': 'Delete with Files',
'remove-record-success': 'Successfully removed task record for "{{taskName}}"',
'remove-record-fail': 'Failed to remove task record for "{{taskName}}"',
'show-in-folder': 'Show Task In Folder',
'file-not-exist': 'Target file does not exist or has been deleted',
'file-path-error': 'File path error',
'opening-task-message': 'Opening "{{taskName}}" ...',
'get-task-name': 'Getting task name...',
'remaining-prefix': 'Remaining',
'select-torrent': 'أفلت ملف التورنت هنا، أو اضغط تحديد',
'task-info-dialog-title': '{{title}} Details',
'download-start-message': 'بدأ تحميل {{taskName}}',
'download-pause-message': 'توقف تحميل {{taskName}} مؤقتاً',
'download-stop-message': 'توقف تحميل {{taskName}}',
'download-error-message': 'حدث خطأ أثناء تحميل {{taskName}}',
'download-complete-message': 'اكتمل تحميل {{taskName}}',
'download-complete-notify': 'اكتمل التحميل',
'bt-download-complete-message': 'Completed downloading {{taskName}}, seeding',
'bt-download-complete-notify': 'BT Download Completed, seeding...',
'bt-download-complete-tips': 'Tips: You can stop a task to end its seeding',
'bt-stopping-seeding-tip': 'Stopping seeding, it will take some time to disconnect, please wait...',
'download-fail-message': 'فشل تحميل {{taskName}}',
'download-fail-notify': 'فشل التحميل'
}
8 changes: 8 additions & 0 deletions src/shared/locales/ar/window.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default {
'reload': 'إعادة تحميل',
'close': 'إغلاق',
'minimize': 'تصغير',
'zoom': 'تكبير',
'toggle-fullscreen': 'تفعيل وضع ملء الشاشة',
'front': 'إحضار الكل إلى المقدمة'
}
10 changes: 7 additions & 3 deletions src/shared/locales/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
* Please keep the locale key in alphabetical order.
*/
export const availableLanguages = [
{
value: 'ar',
label: 'عربي'
},
{
value: 'bg',
label: 'Българският език'
Expand Down Expand Up @@ -96,8 +100,8 @@ export const availableLanguages = [
}
]

function checkLngIsAvailable (locale) {
return availableLanguages.some((lng) => lng.value === locale)
function checkLngIsAvailable(locale) {
return availableLanguages.some(lng => lng.value === locale)
}

/**
Expand All @@ -116,7 +120,7 @@ function checkLngIsAvailable (locale) {
* pt, pt-BR, pt-PT
* zh, zh-CN, zh-TW
*/
export function getLanguage (locale = 'en-US') {
export function getLanguage(locale = 'en-US') {
if (checkLngIsAvailable(locale)) {
return locale
}
Expand Down

0 comments on commit 943830f

Please sign in to comment.