Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add Arabic Localization (partially, need help). #833

Merged
merged 3 commits into from
May 3, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -19,6 +20,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 @@ -44,6 +46,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 @@ -22,6 +23,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 @@ -92,8 +96,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 @@ -112,7 +116,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