+
{navItems.map((item) => {
const isActive = currentView === item.key;
return (
diff --git a/components/LanguageSwitcher.jsx b/components/LanguageSwitcher.jsx
index 64ee67a..a11099c 100644
--- a/components/LanguageSwitcher.jsx
+++ b/components/LanguageSwitcher.jsx
@@ -10,6 +10,7 @@ const LanguageSwitcher = () => {
{ value: 'en', label: 'English' },
{ value: 'it', label: 'Italiano' },
{ value: 'es', label: 'Español' },
+ { value: 'ar', label: 'العربية' },
];
// Custom label rendering if we want "EN" instead of "English" in the button is not fully supported by generic Select
diff --git a/i18n/LanguageContext.jsx b/i18n/LanguageContext.jsx
index ee2a5da..8001966 100644
--- a/i18n/LanguageContext.jsx
+++ b/i18n/LanguageContext.jsx
@@ -8,13 +8,14 @@ const detectSystemLanguage = () => {
if (browserLang.startsWith('it')) return 'it';
if (browserLang.startsWith('es')) return 'es';
+ if (browserLang.startsWith('ar')) return 'ar';
return 'en';
};
export const LanguageProvider = ({ children }) => {
const [language, setLanguageState] = useState(() => {
const stored = localStorage.getItem('bottles-language');
- if (stored && (stored === 'en' || stored === 'it' || stored === 'es')) {
+ if (stored && (stored === 'en' || stored === 'it' || stored === 'es' || stored === 'ar')) {
return stored;
}
return detectSystemLanguage();
@@ -24,6 +25,14 @@ export const LanguageProvider = ({ children }) => {
localStorage.setItem('bottles-language', language);
}, [language]);
+ useEffect(() => {
+ const root = document.documentElement;
+ const isArabic = language === 'ar';
+
+ root.dir = isArabic ? 'rtl' : 'ltr';
+ root.lang = isArabic ? 'ar' : language;
+ }, [language]);
+
const setLanguage = (lang) => {
setLanguageState(lang);
};
diff --git a/i18n/translations/ar.js b/i18n/translations/ar.js
new file mode 100644
index 0000000..22c0b00
--- /dev/null
+++ b/i18n/translations/ar.js
@@ -0,0 +1,670 @@
+export const ar = {
+ header: {
+ features: 'الميزات',
+ gaming: 'الألعاب',
+ appStore: 'متجر التطبيقات',
+ database: 'قاعدة البيانات',
+ funding: 'التمويل',
+ blog: 'مدونة',
+ docs: 'التوثيق',
+ download: 'تحميل',
+ },
+ appStore: {
+ title: 'متجر التطبيقات',
+ description: 'تصفح وثبّت تطبيقات ويندوز المفضلة لديك بلمسة واحدة، بفضل ملفات التثبيت التي يجهزها مجتمعنا الرهيب.',
+ searchPlaceholder: 'ابحث عن برنامجك المفضل...',
+ publish: 'انشر ملف التثبيت الخاص بك',
+ loading: 'نحن نبحث لك في قاعدة البيانات.. لحظات فقط!',
+ filters: {
+ all: 'الكل',
+ platinum: 'بلاتينيوم',
+ gold: 'ذهبي',
+ silver: 'فضي',
+ bronze: 'برونزي'
+ },
+ card: {
+ details: 'التفاصيل',
+ install: 'تثبيت'
+ }
+ },
+ hero: {
+ badge: 'أحدث إصدار: ',
+ badgeLoading: 'تحميل الإصدار...',
+ title: 'Bottles 61',
+ titleHighlight: 'قادم قريباً.',
+ titleHighlight: 'قادم قريباً.',
+ subtitle: 'شغّل برامج ويندوز المفضلة لديك على Linux.. بكل بساطة!',
+ simpleSubtitle: 'برامج ويندوز على لينكس؟ صارت أسهل مما تتخيل!',
+ getNotified: 'أبلغني',
+ getNotified: 'أبلغني',
+ readPreview: 'ألقِ نظرة سريعة على ما ينتظرك',
+ newsletter: {
+ dontMiss: "لا تدع الإطلاق يفوتك",
+ subscribed: "صرت معنا فى الفريق!",
+ description: 'اشترك في نشرتنا البريدية لتصبح أول من يعلم عندما يتم إصدار Bottles 61.',
+ subscribedDescription: "نحن سنُخطرك بمجرد أن يكون Bottles 61 متاحاً للتحميل.",
+ placeholder: 'أدخل بريدك الإلكتروني',
+ notifyMe: 'أبلغني',
+ privacy: 'نحن نحترم خصوصيتك. يمكنك إلغاء الاشتراك في أي وقت.',
+ close: 'إغلاق',
+ },
+ },
+ heroReleased: {
+ release: 'إصدار ',
+ release: 'إصدار ',
+ newRelease: 'إصدار جديد',
+ subtitle: 'شغّل برامج ويندوز المفضلة لديك على Linux.. بكل بساطة!',
+ downloadButton: 'تحميل',
+ releaseNotes: 'قراءة ملاحظات الإصدار',
+ modal: {
+ whatsNew: "ما هو الجديد",
+ version: 'الإصدار ',
+ fetching: 'جاري جلب ملاحظات الإصدار...',
+ releasedOn: 'متوفر الآن على GitHub',
+ viewFull: 'ألق نظرة على الإصدار',
+ },
+ },
+ eagleBanner: {
+ title: 'قابل Eagle',
+ badge: 'جديد في 61',
+ description: 'تحليل ذكي ومعمق لملفات ويندوز التنفيذية، لتعرف ما يدور في قلب برامجك.',
+ button: 'إكتشف',
+ },
+ grantBanner: {
+ title: 'Bottles ممول بواسطة NLnet',
+ badge: 'تم منح الدعم بنجاح',
+ description: "حن فخورون بالانضمام إلى صندوق NLnet لعام 2025. هذا الدعم سيمنحنا دفعة قوية لتسريع تطوير مستقبله Bottles Next.",
+ learnMore: 'اكتشف ما الذي سنحققه بهذا الدعم',
+ },
+ features: {
+ title: 'كل ما تحتاجه.',
+ titleHighlight: "بدون تعقيد.",
+ subtitle: 'يقوم Bottles بتبسيط تعقيدات إعدادات Wine في واجهة أنيقة ومنظمة، لتركز على تطبيقاتك لا على الإعدادات.',
+ gaming: {
+ title: 'جاهز للألعاب',
+ description: 'بيئات جاهزة ومخصصة للألعاب. دعم كامل لمتاجر Steam وEpic وغيرها بمجرد التشغيل.',
+ },
+ sandboxed: {
+ title: 'العزل',
+ description: 'نظامك في أمان؛ بفضل تقنية Flatpak، يعمل Bottles على عزل تطبيقات ويندوز ليبقى نظامك نظيفاً ومحمياً.',
+ },
+ versionManager: {
+ title: 'مدير الإصدارات',
+ description: 'تحكم كامل في إصدارات Wine وProton وDXVK لكل Bottle على حدة وبكل بساطة.',
+ },
+ dependencies: {
+ title: 'الاعتماديات',
+ description: 'ثبت الاعتماديات الحرجة مثل .NET وVisual C++ والخطوط بنقرة واحدة.',
+ },
+ versioned: {
+ title: 'نقاط الاستعادة',
+ description: 'خذ لقطة سريعة لحالة الـ Bottle في أي وقت. جرب ما شئت، ويمكنك العودة لأي حالة سابقة فوراً إذا حدث خطأ.',
+ },
+ highPerformance: {
+ title: 'أداء عالي',
+ description: 'أقصى أداء بين يديك؛ تقنيات مثل FSR وDLSS وEsync أصبحت مجرد مفاتيح تشغلها وتطفئها كما تحب.',
+ },
+ wineBridge: {
+ title: 'WineBridge',
+ description: 'جسر تقني بلغة .NET لتنفيذ أوامر ويندوز مباشرة داخل Wine باستخدام واجهات البرمجة الرسمية.',
+ },
+ installers: {
+ title: 'مثبتات جاهزة',
+ description: 'مكتبة ضخمة يدعمها المجتمع لأشهر البرامج. ثبّت تطبيقات Adobe، ألعاب Battle.net، وغيرها الكثير بضغطة واحدة.',
+ button: 'تصفح المكتبة',
+ },
+ eagle: {
+ title: 'Eagle',
+ badge: 'Beta',
+ description: 'تحليل آلي متقدم لملفات ويندوز التنفيذية. يكتشف برنامج Eagle الأنماط والتبعيات والمحركات لاقتراح أفضل تكوين لبرنامجك.',
+ button: 'اكتشف قدرات Eagle',
+ },
+ gamingCard: {
+ badge: 'تجربة من مستوي اخر',
+ title: 'هل انت من عشاق الألعاب؟',
+ description: 'اكتشف كيف يُحدث Bottles ثورة في عالم ألعاب Linux من خلال دعم Proton، والمتاجر المتكاملة، والكشف التلقائي عن الألعاب.',
+ button: 'انطلق في عالم الألعاب',
+ },
+ runnersCard: {
+ badge: 'جوهر التقنية',
+ title: 'قابل المشغلات',
+ description: 'تعرف على Soda وCaffe، مشغلاتنا الخاصة المصممة لتقديم أفضل توافق وأعلى أداء ممكن.',
+ button: 'إقراء المزيد',
+ },
+ bottlesNext: {
+ badge: 'الفصل التالي',
+ title: 'Bottles',
+ titleHighlight: 'Next',
+ description: 'المستقبل يُكتب بلغة Rust. قمنا بإعادة بناء كل شيء من الصفر لتقديم مفهوم ثوري في إدارة بيئات Wine.',
+ explore: 'إستكشف المستقبل',
+ viewSource: 'اطلع على الكود المصدر',
+ },
+ },
+ runners: {
+ badge: 'جوهر التقنية',
+ title: 'تعرف على',
+ titleHighlight: 'المشغلات',
+ subtitle: 'المشغلات هي قلب Bottles النابض؛ فهي طبقات التوافق التي تتيح لبرامج ويندوز العمل على لينكس. نحن نطور مشغلاتنا الخاصة والمحسنة لنضمن لك أفضل تجربة ممكنة.',
+ soda: {
+ badge: 'المشغل الافتراضي',
+ title: 'Soda',
+ upgrading: 'نحن نعمل حالياً على ترقيته إلى Wine 10.0!',
+ description1: 'Soda هو مشغلنا الرائد، صُمم خصيصاً لحل مشاكل التوافق وتقليل الأخطاء التي قد تظهر في نسخ Wine العادية.',
+ description2: "يعتمد Soda على نسخة Valve (المستخدمة في Proton)، ويتضمن إصلاحات من Proton و TKG و GE. هو مُحسّن خصيصاً لـ Bottles ليمنحك تجربة 'منعشة' للألعاب والتطبيقات على حد سواء.",
+ valveWine: "Valve's Wine Base",
+ valveWineDesc: 'مبني على القاعدة المتينة والقوية التي يعتمد عليها جهاز Steam Deck.',
+ patches: 'Curated Patches',
+ patchesDesc: 'يحتوي على أفضل الإصلاحات المختارة بعناية من TKG و GE و Proton.',
+ },
+ caffe: {
+ badge: 'الإرث والاستقرار',
+ title: 'Caffe',
+ upgrading: 'نحن نعمل حالياً على ترقيته إلى Wine 10.0!',
+ description1: "يعتمد Caffe على نسخة Wine الأصلية ويتبع تحديثاتها بدقة. هو الخيار المثالي للمستخدمين الراغبين في تجربة أحدث ميزات WineHQ، أو لتشغيل البرامج القديمة التي قد تختلف استجابتها مع مشغلات Valve.",
+ description2: 'ورغم أن Soda هو الخيار الافتراضي، يبقى Caffe جزءاً أساسياً من منظومتنا، لأنه يواكب التطوير الرئيسي عن قرب مع الحفاظ على إصلاحاتنا الضرورية.',
+ upstream: 'Upstream Focus',
+ upstreamDesc: 'يواكب إصدارات WineHQ أولاً بأول للحصول على أحدث الميزات التجريبية.',
+ alternative: 'خيار بديل',
+ alternativeDesc: "الحل الأمثل عندما لا يعمل التطبيق بشكل جيد مع المشغلات المبنية على Proton.",
+ },
+ comparison: {
+ title: 'مقارنة المشغلات',
+ feature: 'الميزة',
+ sodaRecommended: 'Soda (موصى به)',
+ caffe: 'Caffe',
+ vaniglia: 'Vaniglia',
+ base: 'القاعدة',
+ bestFor: 'الأفضل لـ',
+ patches: 'الترقيعات',
+ releaseCycle: 'دورة الإصدارات',
+ valveWine: "Valve's Wine (Proton)",
+ wineHQ: 'WineHQ (Upstream)',
+ wineHQStaging: 'WineHQ (Staging)',
+ gamingModern: 'الألعاب والتطبيقات الحديثة',
+ generalPurpose: 'الاستخدام العام',
+ testingVanilla: 'الاختبار / النسخة الخام',
+ protonTKG: 'Proton + TKG + GE',
+ bottlesSpecific: 'مخصص لـ Bottles',
+ minimalNone: 'محدودة / بدون',
+ independent: 'مستقلة',
+ followsWineHQ: 'يتبع WineHQ',
+ },
+ contribute: {
+ badge: 'للمطورين',
+ title: 'ساهم في صميم المشروع',
+ description: 'مشغلاتنا مفتوحة المصدر ومبنية بشفافية كاملة. هل تريد المساعدة في تحسين التوافق؟ ألقِ نظرة على أدوات البناء أو تابع أحدث عمليات CI.',
+ viewSource: 'اعرض الشيفرة المصدرية',
+ checkCI: 'تحقق من عمليات CI',
+ buildStatus: 'حالة آخر بناء',
+ passing: 'ناجح',
+ building: 'جارٍ البناء...',
+ autoGenerated: 'يتم إنشاء هذه البنيات واختبارها تلقائياً.',
+ viewWorkflows: 'اعرض جميع سير العمل',
+ },
+ },
+ gaming: {
+ badge: 'تجربة اللعب على Linux',
+ title: 'تجربة ألعاب لا حدود لها على Linux',
+ subtitle: 'مع Bottles، أصبح تشغيل ألعاب ويندوز على لينكس سهلاً بشكل لا يصدق. من أضخم الألعاب (AAA) إلى الألعاب المستقلة، استمتع بلعبتك المفضلة بأداء مثالي.',
+ easySetup: {
+ title: 'إعداد بلمحة بصر',
+ description: 'أنشئ Bottles للألعاب بإعدادات جاهزة ومجهزة مسبقاً لتحصل على أعلى أداء.',
+ },
+ stores: {
+ title: 'متاجر متعددة',
+ description: 'ثبّت وأدِر ألعابك من Steam و Epic Games و GOG وغيرها في مكان واحد.',
+ },
+ performance: {
+ title: 'أفضل أداء',
+ description: 'FSR وDLSS وEsync وFsync... كل مزايا الأداء أصبحت بين يديك.',
+ },
+ compatibility: {
+ title: 'توافق واسع',
+ description: 'مدعوم بـ Proton ومشغلنا Soda ليمنحك توافقاً ممتازاً مع الألعاب.',
+ },
+ discover: 'اكتشف مزايا الألعاب',
+ },
+ gamingPage: {
+ hero: {
+ title: 'Bottles أيضاً',
+ titleHighlight: 'للألعاب.',
+ subtitle: 'العب على لينكس كما تفعل على ويندوز تماماً. ومن دون أي طرفية.',
+ download: 'حمّل الآن',
+ },
+ platformHub: {
+ title: 'كل منصاتك',
+ titleHighlight: 'في مكان واحد.',
+ description1: 'خصّص بيئة ويندوز الخاصة بك بكل سهولة. أشهر منصات الألعاب متوفرة بالفعل كمثبتات مدمجة داخل Bottles.',
+ description2: 'Epic Games Store وGOG Galaxy وEA App وBattle.net... كل ما عليك هو اختيار ما تريد، وBottles يتولى الاعتماديات والخطوط والإعدادات تلقائياً.',
+ description3: 'أنشئ Bottle للألعاب، وثبّت متجرك المفضل، وابدأ اللعب فوراً. مثل ويندوز، لكن بشكل أفضل.',
+ documentation: 'راجع التوثيق',
+ },
+ integration: {
+ title: 'تكامل سلس',
+ description: 'Bottles لا يكتفي بالتثبيت فقط، بل يكتشف الألعاب المثبتة من هذه المنصات تلقائياً ويضيفها إلى مكتبتك لتعيش تجربة موحدة لإطلاق ألعابك. من دون إعداد يدوي.',
+ epic: 'Epic Games Store',
+ ubisoft: 'Ubisoft Connect',
+ steam: 'Steam',
+ },
+ proton: {
+ title: 'تكامل Steam وProton',
+ prefix: {
+ title: 'إدارة بيئات Proton',
+ description: 'أنشئ وأدر Bottles باستخدام مشغلات Proton من Valve أو GE-Proton. يستفيد Bottles من بيئة Steam Runtime الرسمية ليضمن تشغيل ألعاب ويندوز بطبقة التوافق نفسها المستخدمة في Steam Deck.',
+ },
+ bridge: {
+ title: 'جسر مكتبة Steam',
+ description: 'هل لديك ألعاب مثبتة بالفعل عبر Steam Native؟ سيكتشف Bottles مكتبة Steam تلقائياً ويعرض ألعاب Proton الخاصة بك على شكل Bottles، لتدير إعداداتها واعتمادياتها ومتغيرات بيئتها مباشرة من الواجهة.',
+ },
+ protondb: {
+ title: 'دعم كامل لـ ProtonDB',
+ description: 'تم تصميم Bottles ليعمل بسلاسة مع عالم ألعاب Proton الواسع. إذا كانت اللعبة مصنفة على ProtonDB بأنها قابلة للعب، فغالباً ستعمل على Bottles أيضاً. اطلع فوراً على تقييمات التوافق، وتقارير المستخدمين، وخيارات التشغيل.',
+ button: 'تحقق من التوافق',
+ },
+ },
+ },
+ eaglePage: {
+ hero: {
+ beta: 'BETA',
+ title: 'Meet',
+ titleHighlight: 'Eagle',
+ description: 'وداعاًوفر على نفسك الحيرة! يقوم Eagle بفحص برامجك واقتراح أفضل إعدادات لها في ثوانٍ.',
+ download: 'حمل Bottles',
+ },
+ howItWorks: {
+ title: 'كيف يعمل Eagle؟',
+ description: 'في ثوانٍ معدودة، يقوم Eagle بتحليل شامل من عدة مراحل لفهم ما يحتاجه ملفك التنفيذي بالضبط.',
+ steps: {
+ peParsing: {
+ title: 'تحليل PE',
+ description: 'يقرأ بنية الملف التنفيذي، والاستيرادات، والأقسام، والبيانات الوصفية.',
+ },
+ yaraScanning: {
+ title: 'فحص YARA',
+ description: 'أكثر من 50 قاعدة أنماط تكتشف المحركات، والأطر البرمجية، والمثبتات، وحتى التهديدات.',
+ },
+ contextAnalysis: {
+ title: 'تحليل السياق',
+ description: 'يفحص الملفات المجاورة، ومجلدات Unity Data، وملفات إعدادات .NET.',
+ },
+ suggestions: {
+ title: 'اقتراحات ذكية',
+ description: 'يولّد إعدادات محسّنة وتوصيات دقيقة للاعتماديات.',
+ },
+ },
+ },
+ detection: {
+ title: 'يكتشف كل شيء',
+ description: "من واجهات برمجة الرسوميات إلى محركات الألعاب، ومن أنظمة الحماية إلى صيغ ملفات التثبيت. قواعد Eagle تغطي كل الجوانب.",
+ categories: {
+ graphics: { title: 'الرسوميات', description: 'DirectX 8-12 وVulkan وOpenGL وDXGI وNVAPI وAMD AGS وPhysX' },
+ audio: { title: 'الصوت', description: 'XAudio وFMOD وWwise وOpenAL وDirectSound وMiles وBink' },
+ runtimes: { title: 'بيئات التشغيل', description: '.NET Framework/Core/5+ وMono وVC++ 2008-2022 وJava وPython وLua' },
+ engines: { title: 'المحركات', description: "Unity وUnreal وGodot وCryEngine وSource وRen'Py وRPG Maker" },
+ protection: { title: 'الحماية', description: 'EasyAntiCheat وBattlEye وDenuvo وVMProtect وThemida' },
+ installers: { title: 'المثبتات', description: 'NSIS وInno Setup وMSI وInstallShield وWiX وWISE وSquirrel' },
+ },
+ },
+ intelligence: {
+ title: 'ليس مجرد ماسح ضوئي',
+ description: "Eagle لا يكتفي بقراءة الملفات، بل يفهم السياق، والعلاقات، ومدى التوافق.",
+ features: {
+ deepScan: { title: 'فحص عميق', description: 'يستخرج الملفات من المثبتات ويحللها. ويفحص الملفات التنفيذية المدمجة وملفات DLL وملفات الإعداد ليمنحك صورة كاملة.' },
+ neighborAnalysis: { title: 'تحليل الملفات المجاورة', description: 'يفحص الملفات المرتبطة في المجلد نفسه، مثل مجلدات Unity Data وملفات DLL المعروفة وملفات إعداد .NET وحزم Godot من نوع .pck.' },
+ smartSuggestions: { title: 'اقتراحات ذكية', description: 'يرشح تلقائياً DXVK وVKD3D وGameMode وغير ذلك من التحسينات بناءً على التقنيات التي يكتشفها.' },
+ compatibilityWarnings: { title: 'تحذيرات التوافق', description: 'يكتشف أنظمة مكافحة الغش وملفات ARM64 والحمايات المزعجة والمكونات الناقصة قبل أن تبدأ التشغيل.' },
+ },
+ },
+ report: {
+ title: 'شفافية مطلقة',
+ description: 'صدر Eagle تقارير مفصلة بصيغة Markdown يمكنك حفظها ومشاركتها. كل اكتشاف يتضمن مصدره وسببه.',
+ items: [
+ "بيانات الملف: البنية، تاريخ البناء، والناشر",
+ "التقنيات المكتشفة مع تحديد ملفاتها المصدرية",
+ "مشاكل التوافق وحلولها المقترحة",
+ "الاعتماديات والتحسينات الموصى بها",
+ "قائمة كاملة بجميع الملفات التي تم تحليلها"
+ ],
+ },
+ cta: {
+ title: "مستعد لرؤية ما في الداخل؟",
+ description: 'تقنية Eagle مدمجة داخل Bottles. حمّله الآن واترك Eagle يحلل برامجك قبل تشغيلها.',
+ button: 'احصل على Bottles',
+ },
+ },
+ nextPage: {
+ hero: {
+ badge: 'مستقبل Bottles يبدأ من هنا!',
+ title: 'Bottles',
+ titleHighlight: 'Next',
+ description: 'إعادة كتابة كاملة لـ Bottles لحل التحديات المعمارية وفتح الباب أمام جيل جديد من إدارة Wine prefix. مبني بـ Rust وlibcosmic وبنية عميل-خادم ثورية.',
+ github: 'اعرضه على GitHub',
+ prototype: 'اعرض النموذج الأولي',
+ },
+ architecture: {
+ title: 'معمارية جديدة',
+ description: 'يقدم Bottles Next بنية معيارية مقسمة إلى ثلاثة مكونات رئيسية. هذا الفصل يمنح مرونة غير مسبوقة، وقابلية توسع أعلى، وتكاملاً أسهل مع الأطراف الخارجية.',
+ client: {
+ title: 'Client',
+ description: 'واجهة المستخدم. وبينما عميلنا الرسمي مبني بـ Rust وlibcosmic، تسمح هذه المعمارية بوجود عدة عملاء بأي لغة أو إطار تريده، مثل GTK أو Qt أو الويب.',
+ items: [
+ 'Rust + libcosmic',
+ 'إمكانيات تنفيذ متعددة',
+ 'يرسل التعليمات إلى الخادم',
+ ],
+ },
+ server: {
+ title: 'Server',
+ description: 'العقل المدبر للعمليات. بُني بلغة Rust، ويتلقى التعليمات من العميل وينسق إدارة الـ prefixes.',
+ items: [
+ 'مكتوب بلغة Rust',
+ 'يمكن لتطبيقات الطرف الثالث استخدامه',
+ 'ينسق عمل الـ Agents',
+ ],
+ },
+ agent: {
+ title: 'Agent',
+ description: 'يعمل داخل Wine prefix نفسه. مبني بـ C# و.NET، وينفذ أوامر ويندوز الأصلية ثم يرسل النتائج إلى الخادم.',
+ items: [
+ 'C# / .NET (WineBridge)',
+ 'تنفيذ ويندوز أصلي',
+ 'يعمل داخل الـ prefix',
+ ],
+ },
+ },
+ valueProp: {
+ title: 'أكثر من مجرد واجهة رسومية',
+ description1: "Bottles Next ليس مجرد تحديث بصري، بل نقلة فكرية كاملة. فمن خلال فصل المنطق الداخلي (الخادم) عن الواجهة (العميل)، نفتح الباب أمام منظومة جديدة بالكامل.",
+ description2: 'يمكن لمطوري الطرف الثالث استخدام Bottles Server كبنية خلفية لتطبيقاتهم الخاصة، والاستفادة من نظامنا القوي لإدارة الـ prefixes من دون البدء من الصفر.',
+ universal: {
+ title: 'واجهة خلفية عالمية',
+ description: 'أي تطبيق يمكنه أن يصبح عميلاً لـ Bottles، مهما كانت لغة برمجته.',
+ },
+ scalable: {
+ title: 'قابل للتوسع وسهل الصيانة',
+ description: 'تضمن Rust أمان الذاكرة والأداء، بينما تجعل البنية المعيارية عملية الصيانة أبسط بكثير.',
+ },
+ },
+ prototype: {
+ preview: 'معاينة',
+ title: 'تجربة عصرية وأصلية',
+ description: 'مبنية باستخدام libcosmic، لذا فالواجهة الجديدة سريعة، سلسة، وتنسجم بشكل رائع مع بيئة سطح المكتب لديك.',
+ },
+ donations: {
+ title: 'بدعم من NLnet',
+ description: 'يسعدنا أن نعلن أن Bottles Next يحظى بدعم مؤسسة NLnet عبر صندوق NGI Commons. هذا التمويل يسرّع وتيرة التطوير، لكننا ما زلنا بحاجة إلى دعمكم للحفاظ على استمرارية المشروع على المدى الطويل.',
+ supportButton: 'ادعمنا',
+ readButton: 'اقرأ الإعلان',
+ },
+ devActivity: {
+ title: 'نشاط التطوير',
+ description: 'تابع التقدم عبر جميع مستودعاتنا.',
+ latestCommits: 'أحدث الالتزامات',
+ activePrs: 'طلبات السحب النشطة',
+ noPrs: 'لا توجد طلبات سحب مفتوحة حالياً.',
+ },
+ readMore: {
+ title: 'اقرأ المزيد',
+ article1: {
+ title: 'Bottles Next: حكاية تقنية',
+ description: "تعرّف على التقنيات التي نستكشفها ولماذا نتجه نحو معمارية معيارية.",
+ },
+ article2: {
+ title: 'Rust وlibcosmic في Bottles Next',
+ description: 'لماذا اخترنا Rust وlibcosmic وC# لمستقبل Bottles.',
+ },
+ },
+ },
+ wineBridgePage: {
+ hero: {
+ title: 'Wine',
+ titleHighlight: 'Bridge',
+ description: 'تطبيق .NET خفيف يعمل داخل Wine prefix ويمنحك وصولاً مباشراً إلى واجهات Windows API. أسرع من winedbg وأبسط بكثير مما تتوقع.',
+ github: 'اعرضه على GitHub',
+ try: 'جرّبه في Bottles',
+ },
+ why: {
+ title: 'لماذا WineBridge؟',
+ description: 'أداة winedbg قوية، لكنها بطيئة لأنها مصحح أخطاء وليست أداة خدمية يومية. أما WineBridge فيمنحك قدرات مشابهة بسرعة تكاد تكون فورية.',
+ benefits: {
+ fast: { title: 'سرعة خاطفة', description: 'على عكس winedbg، ينفّذ WineBridge الأوامر فوراً. لا حمل مصحح أخطاء ولا انتظار مزعج عند البدء.' },
+ native: { title: 'واجهات ويندوز الأصلية', description: 'يعمل داخل الـ prefix ويتصل مباشرة بواجهات Windows API، لذلك تحصل على نتائج دقيقة وفورية.' },
+ simple: { title: 'واجهة بسيطة', description: 'أداة سطر أوامر بمخرجات متوقعة ومنظمة. سهلة في التحليل والبرمجة النصية والتكامل.' },
+ openSource: { title: 'مفتوح المصدر', description: 'مرخص تحت MIT. انسخه، وطوره، وشارك تحسيناتك. هذا الجسر لك أيضاً.' },
+ },
+ },
+ commands: {
+ title: 'الأوامر المتاحة',
+ description: 'يوفر WineBridge واجهة CLI بسيطة وواضحة. شغّل `WineBridge.exe help` داخل الـ prefix لرؤية جميع الخيارات.',
+ list: {
+ runExe: { description: 'شغّل الملفات التنفيذية مباشرة أو عبر ShellExecute مع تحكم كامل في مجلد العمل والوسائط.' },
+ getRunningProcs: { description: 'اعرض جميع العمليات التي تعمل حالياً داخل Wine prefix.' },
+ killProc: { description: 'أنهِ العمليات عبر PID أو الاسم باستخدام واجهات ويندوز الأصلية.' },
+ registryKeys: { description: 'اقرأ مفاتيح سجل ويندوز واعرضها وعدّلها عبر جميع الـ hives مثل HKCU وHKLM وHU وغيرها.' },
+ },
+ },
+ usage: {
+ title: 'استخدام بسيط',
+ description: 'تم تصميم WineBridge ليكون بسيطاً جداً. انسخ الملف التنفيذي إلى الـ prefix، ثم شغّله بالأمر الذي تحتاجه، وتعامل مع المخرجات بسهولة.',
+ items: [
+ 'بدون اعتماديات، ملف تنفيذي واحد فقط',
+ 'صيغة مخرجات مناسبة للاستخدام مع الـ pipes',
+ 'رسائل الأخطاء تتضمن سياقاً مفيداً',
+ 'يعمل داخل أي Wine prefix مهما كان المشغل',
+ ],
+ },
+ cta: {
+ title: 'جاهز لردم الفجوة؟',
+ description: 'WineBridge مفتوح المصدر وجاهز للاستخدام. ألقِ نظرة على المستودع للاطلاع على التوثيق والإصدارات.',
+ button: 'اعرض المستودع',
+ },
+ },
+ download: {
+ title: 'حمل Bottles',
+ flathub: {
+ title: 'Flathub',
+ description: 'موصى به لمعظم المستخدمين لأنه معزول وهذا يجعله اكثر اماناً ويحدث تلقائياً باستمرار.',
+ button: 'تثبيت من Flathub',
+ },
+ appImage: {
+ title: 'AppImage',
+ description: 'نسخة قابلة للنقل. لا حاجة للتثبيت، فقط قم بالتحميل والتشغيل.',
+ button: 'تحميل AppImage',
+ },
+ donation: {
+ title: 'دعم التطوير',
+ description: 'Bottles برنامج حر ومفتوح المصدر. دعمك يساعدنا في الحفاظ على الخوادم وتطوير ميزات جديدة.',
+ customAmount: 'اكتب المبلغ الذى تحبه (أو 0 للتحميل مجاناً)',
+ download: 'تحميل',
+ },
+ },
+ footer: {
+ tagline: 'شغّل برامج ويندوز على لينكس بكل سهولة',
+ product: 'المنتج',
+ features: 'الميزات',
+ gaming: 'الألعاب',
+ appStore: 'متجر التطبيقات',
+ download: 'التحميل',
+ resources: 'الموارد',
+ documentation: 'التوثيق',
+ github: 'GitHub',
+ community: 'المجتمع',
+ blog: 'المدونة',
+ developers: 'المطورون',
+ database: 'قاعدة البيانات',
+ contribute: 'ساهم',
+ funding: 'التمويل',
+ legal: 'القانونية',
+ license: 'الترخيص',
+ privacy: 'الخصوصية',
+ terms: 'الشروط',
+ made: 'صُنع بكل حب بواسطة مجتمع Bottles',
+ },
+ community: {
+ title: 'إنضم إلى',
+ titleHighlight: 'المجتمع',
+ subtitle: 'تواصل مع آلاف مستخدمي Bottles حول العالم. احصل على المساعدة، وشارك تجربتك، وساهم في تطوير المشروع.',
+ discord: {
+ title: 'Discord',
+ description: 'انضم إلى خادم Discord الخاص بنا للدردشة الفورية والدعم المباشر.',
+ button: 'انضم إلى Discord',
+ },
+ github: {
+ title: 'GitHub',
+ description: 'ساهم في المشروع، وأبلغ عن المشاكل، واطلب الميزات التي تريدها.',
+ button: 'اعرضه على GitHub',
+ },
+ matrix: {
+ title: 'Matrix',
+ description: 'تفضل Matrix؟ انضم إلى مساحة مجتمعنا للنقاشات.',
+ button: 'انضم إلى Matrix',
+ },
+ },
+ sponsors: {
+ title: 'بدعم من',
+ titleHighlight: 'رعاة رائعين',
+ subtitle: 'وجود Bottles واستمراره ممكن بفضل الدعم السخي من رعاتنا وداعمينا.',
+ becomeButton: 'كن راعياً',
+ },
+ funding: {
+ title: 'التمويل',
+ description: 'Bottles مشروع برمجي حر. دعمك لتطويره يساعد في ضمان مستقبل تشغيل برامج ويندوز على لينكس.',
+ channels: {
+ title: 'قنوات التبرع',
+ preferred: 'المفضل',
+ github: { desc: 'شهري متكرر' },
+ paypal: { desc: 'مرة واحدة أو متكرر' },
+ liberapay: { desc: 'متكرر بمرونة' },
+ patreon: { desc: 'عضوية' },
+ crypto: { desc: 'BTC وETH والمزيد' },
+ polar: { desc: 'ادفع ما تشاء' },
+ },
+ roadmap: {
+ title: 'خارطة طريق التطوير',
+ description: 'تابع التقدم في الميزات التي يمولها المجتمع.',
+ searchPlaceholder: 'صفِّ المهام...',
+ },
+ tasks: {
+ status: {
+ wip: 'قيد التنفيذ',
+ done: 'مكتمل',
+ alpha: 'ألفا',
+ next: 'التالي',
+ rejected: 'مرفوض'
+ },
+ viewDetails: 'اعرض التفاصيل',
+ },
+ supporters: {
+ title: 'داعمونا',
+ patrons: 'Liberapay Patrons',
+ weekly: 'دعم أسبوعي',
+ anonymous: 'والكثير من المتبرعين المجهولين',
+ },
+ modals: {
+ cryptoTitle: 'عناوين العملات الرقمية',
+ close: 'إغلاق',
+ }
+ },
+ blog: {
+ title: 'المدونة',
+ description: 'أخبار وتحديثات ولمحات من فريق Bottles.',
+ back: 'العودة إلى جميع المقالات',
+ readArticle: 'اقرأ المقال',
+ readNext: 'اقرأ التالي',
+ publishedOn: 'نُشر في',
+ minRead: 'دقائق قراءة',
+ },
+ download: {
+ title: 'احصل على Bottles',
+ description1: 'الطريقة العصرية لتشغيل برامج ويندوز على لينكس.',
+ description2: 'آمن، معزول، وقوي.',
+ steps: {
+ step1: 'الخطوة 1',
+ installFlatpak: 'ثبّت Flatpak',
+ selectDistro: 'اختر التوزيعة:',
+ step2: 'الخطوة 2',
+ addFlathub: 'أضف مستودع Flathub',
+ addFlathubDesc: 'أضف مستودع Flathub للوصول إلى Bottles والتطبيقات الأخرى.',
+ step3: 'الخطوة 3',
+ installBottles: 'ثبّت Bottles',
+ installBottlesDesc: 'وأخيراً، ثبّت Bottles.'
+ },
+ distro: {
+ descriptionWithDistro: 'شغّل هذا الأمر لتثبيت مدير الحزم Flatpak على {distro}.',
+ vanillaOs: 'يأتي Flatpak مثبتاً مسبقاً ومعداً مع Flathub. يمكنك تثبيت Bottles مباشرة أثناء الإعداد الأولي. وإذا لم يكن موجوداً لأي سبب، يمكنك استخدام الأمر التالي:'
+ },
+ otherVersions: {
+ title: 'إصدارات أخرى',
+ v1: { title: 'Bottles v1 (قديم)', desc: 'الإصدار الكلاسيكي. مناسب للاحتياجات البسيطة، لكنه يفتقد الميزات الحديثة.' },
+ source: { title: 'الشيفرة المصدرية', desc: 'مرخّص تحت GPLv3. ابنِه بنفسك أو ساهم عبر GitHub.' },
+ manual: { title: 'بناء يدوي', desc: 'ابنِ Bottles من الصفر.' }
+ },
+ recommended: 'موصى به',
+ flatpak: {
+ title: 'Flatpak (Flathub)',
+ desc: 'الطريقة الرسمية والموصى بها لتثبيت Bottles. مدعومة على جميع التوزيعات الرئيسية بما فيها Steam Deck.'
+ },
+ startInstall: 'ابدأ التثبيت',
+ comingSoon: {
+ title: 'cpak',
+ desc: 'قريباً. لا يزال قيد التطوير حالياً.'
+ },
+ thankYou: {
+ title: 'شكراً لتحميلك!',
+ desc: 'اتبع هذه الخطوات لتشغيل Bottles على نظامك.',
+ back: 'العودة إلى الاختيار'
+ },
+ modal: {
+ support: 'ادعم التطوير',
+ desc: 'Bottles برنامج حر يصنعه متطوعون. تبرعك يساعدنا في الحفاظ على الخوادم وتطوير ميزات جديدة.',
+ custom: 'اكتب المبلغ الذى تحبه (أو 0 للتحميل مجاناً)',
+ free: 'حمّل مجاناً',
+ donate: 'تبرع وحمّل',
+ secure: 'مدفوعات آمنة بواسطة',
+ noPayment: 'قليلٌ من الدعم يصنع الكثير من التغيير! ☕',
+ confirm: {
+ title: 'هل أنت متأكد؟',
+ desc: 'نحن نواصل تطوير ميزات جديدة وإجراء الأبحاث باستمرار لنُحسن Bottles قدر الإمكان. دعمك يساعدنا على مواصلة هذا العمل:',
+ goBack: 'ارجع',
+ continueFree: 'تابع مجاناً'
+ }
+ }
+ },
+ database: {
+ title: 'قاعدة بيانات Bottles',
+ description: 'الاعتماديات والموارد ومثبتات برامج ويندوز الخاصة بـ Bottles.',
+ dependencies: {
+ title: 'الاعتماديات',
+ description: 'هذه الحزم ترفع توافق بيئات WINE مع برامج ويندوز.',
+ loading: 'جارٍ تحميل الاعتماديات...',
+ },
+ components: {
+ title: 'مكونات',
+ description: 'هذه عناصر أساسية لإنشاء البيئات وتوسيعها بميزات وتنفيذات جديدة.',
+ loading: 'جارٍ تحميل المكونات...',
+ },
+ installers: {
+ title: 'المثبتات',
+ description: 'هذه مثبتات يصونها مجتمعنا لتسهيل تثبيت برامج ويندوز بشكل تلقائي.',
+ },
+ table: {
+ name: 'الإسم',
+ type: 'النوع',
+ category: 'التصنيف',
+ channel: 'القناة',
+ description: 'الوصف',
+ actions: 'الإجراءات',
+ learnMore: 'تعلم أكثر',
+ details: 'التفاصيل',
+ report: 'تقرير مشكلة',
+ }
+ },
+ docs: {
+ title: 'التوثيق',
+ notFound: '# 404 - الصفحة غير موجودة\nتعذر العثور على صفحة التوثيق المطلوبة.',
+ mistake: 'هل وجدت خطأ؟',
+ edit: 'عدّل هذه الصفحة على GitHub',
+ lastUpdated: 'آخر تحديث:',
+ poweredBy: 'يعمل بواسطة'
+ }
+};