Files
lobehub/locales/ar/file.json
YuTengjing db45907ab8 feat: add GPT-5.4 model support (#12744)
*  feat: add GPT-5.4 model support and fix reasoning payload pruning

- Add GPT-5.4 model card to model-bank
- Update planCardModels to use gpt-5.4
- Add gpt-5.4 to responsesAPIModels
- Fix pruneReasoningPayload to strip logprobs/top_logprobs for reasoning models
- Add logprobs, top_logprobs to ChatStreamPayload type
- Extend reasoning_effort to include none and xhigh
- Add success log for non-fallback requests in RouterRuntime
- Fix log parameter mismatch in RouterRuntime

Fixes LOBE-5735

* 🐛 fix: match gpt-5.4 to gpt5_2ReasoningEffort in openrouter and vercelaigateway

* 🐛 fix: update OpenRouterReasoning effort type to include none and xhigh

* 🐛 fix: use tiered pricing for gpt-5.4 based on 272K token threshold

* 🌐 chore: update i18n translations

* 🐛 fix: update claude-sonnet model version to 4-6 in planCardModels

*  feat: add GPT-5.4 Pro model support

* 🐛 fix: remove dated snapshot for gpt-5.4-pro in responsesAPIModels

* 🐛 fix: add tierBy support for cross-unit tiered pricing threshold

OpenAI charges output at 1.5x when INPUT exceeds 272K tokens.
The tiered strategy previously only checked the unit's own quantity
to select a tier. Added optional tierBy field to TieredPricingUnit
so output/cacheRead tiers can reference input quantity for selection.

* 🐛 fix: use totalInputTokens for tiered pricing tier selection

Tiered pricing tiers should be determined by total prompt size
(totalInputTokens), not each unit's own quantity. This fixes output
and cacheRead being charged at the wrong tier rate when the prompt
exceeds the threshold but the individual unit quantity does not.
2026-03-06 13:47:31 +08:00

148 lines
10 KiB
JSON

{
"addFolder": "إنشاء مجلد",
"addLibrary": "إضافة",
"addPage": "إنشاء صفحة",
"detail.basic.createdAt": "وقت الإنشاء",
"detail.basic.filename": "اسم الملف",
"detail.basic.size": "حجم الملف",
"detail.basic.title": "معلومات أساسية",
"detail.basic.type": "التنسيق",
"detail.basic.updatedAt": "وقت التحديث",
"detail.data.chunkCount": "عدد الأجزاء",
"detail.data.embedding.default": "غير مضمّن",
"detail.data.embedding.error": "فشل",
"detail.data.embedding.pending": "بانتظار البدء",
"detail.data.embedding.processing": "قيد المعالجة",
"detail.data.embedding.success": "اكتمل",
"detail.data.embeddingStatus": "التضمين",
"detail.data.noChunk": "لا توجد وحدة",
"empty": "لم يتم تحميل أي ملفات أو مجلدات بعد.",
"header.actions.builtInBlockList.filtered": "{{ignored}} ملف تم تصفيته (من أصل {{total}})",
"header.actions.connect": "اتصال...",
"header.actions.createFolderError": "فشل في إنشاء المجلد",
"header.actions.creatingFolder": "جارٍ إنشاء المجلد...",
"header.actions.deleteLibrary": "حذف المكتبة",
"header.actions.gitignore.apply": "تطبيق القواعد",
"header.actions.gitignore.cancel": "تجاهل القواعد",
"header.actions.gitignore.content": "تم اكتشاف ملف .gitignore ({{count}} ملفًا إجمالاً). هل ترغب في تطبيق قواعد التجاهل؟",
"header.actions.gitignore.filtered": "{{ignored}} ملف تم تجاهله (من أصل {{total}})",
"header.actions.gitignore.title": "تم اكتشاف .gitignore",
"header.actions.newFolder": "مجلد جديد",
"header.actions.newPage": "صفحة جديدة",
"header.actions.notion.error": "فشل في استيراد ملفات Notion",
"header.actions.notion.foundFiles": "تم العثور على {{count}} ملف",
"header.actions.notion.importing": "جارٍ استيراد محتوى Notion...",
"header.actions.notion.noMarkdownFiles": "لم يتم العثور على ملفات Markdown في الأرشيف المضغوط",
"header.actions.notion.partial": "تم استيراد {{success}} ملف بنجاح، وفشل {{failed}}",
"header.actions.notion.success": "تم استيراد {{count}} ملف بنجاح",
"header.actions.notionGuide.cancel": "ليس الآن",
"header.actions.notionGuide.desc": "أولاً، قم بتصدير المحتوى من Notion كملف Markdown (ZIP). ثم انقر على متابعة لتحديد ملف ZIP واستيراد جميع الصفحات.",
"header.actions.notionGuide.ok": "تحديد ملف ZIP من Notion",
"header.actions.notionGuide.title": "الاستيراد من Notion",
"header.actions.uploadFile": "تحميل ملف",
"header.actions.uploadFolder": "تحميل مجلد",
"header.actions.uploadFolder.creatingFolders": "جارٍ إنشاء هيكل المجلد...",
"header.newPageButton": "صفحة جديدة",
"header.uploadButton": "تحميل",
"home.getStarted": "ابدأ الآن",
"home.greeting": "ابدأ الآن",
"home.quickActions": "إجراءات سريعة",
"home.recentFiles": "الملفات الحديثة",
"home.recentPages": "الصفحات الحديثة",
"home.uploadEntries.files.title": "تحميل ملفات",
"home.uploadEntries.folder.title": "تحميل مجلد",
"home.uploadEntries.library.title": "إنشاء مكتبة جديدة",
"home.uploadEntries.newPage.title": "صفحة جديدة",
"library.list.confirmRemoveLibrary": "أنت على وشك حذف هذه المكتبة. لن يتم حذف الملفات الموجودة بداخلها، بل سيتم نقلها إلى جميع الملفات. لا يمكن التراجع عن هذا الإجراء، لذا يرجى المتابعة بحذر.",
"library.list.empty": "انقر <1>+</1> لإنشاء مكتبة جديدة",
"library.new": "مكتبة جديدة",
"library.title": "المكتبة",
"loadMore": "تحميل المزيد",
"menu.allFiles": "جميع الملفات",
"menu.allPages": "جميع الصفحات",
"networkError": "فشل في استرداد المكتبات. يرجى التحقق من اتصال الشبكة والمحاولة مرة أخرى.",
"notSupportGuide.desc": "وضع النشر الحالي لا يدعم إدارة الملفات. قم بالتبديل إلى <1>وضع قاعدة بيانات الخادم</1>، أو استخدم <3>LobeHub Cloud</3>.",
"notSupportGuide.features.allKind.desc": "يدعم أنواع الملفات الشائعة، بما في ذلك تنسيقات الصفحات مثل Word وPPT وExcel وPDF وTXT، بالإضافة إلى ملفات البرمجة مثل JS وPython.",
"notSupportGuide.features.allKind.title": "تحليل أنواع ملفات متعددة",
"notSupportGuide.features.embeddings.desc": "يستخدم نماذج متجهات عالية الأداء لتحويل أجزاء النص إلى متجهات، مما يتيح البحث الدلالي في محتوى الملفات.",
"notSupportGuide.features.embeddings.title": "الدلالات المتجهة",
"notSupportGuide.features.libraries.desc": "أنشئ مكتبات وأضف ملفات لبناء مكتبتك الخاصة.",
"notSupportGuide.features.libraries.title": "المكتبة",
"notSupportGuide.title": "وضع النشر الحالي لا يدعم إدارة الملفات",
"pageEditor.addIcon": "إضافة أيقونة",
"pageEditor.autoSaveMessage": "يتم حفظ صفحتك تلقائيًا. لا حاجة للحفظ يدويًا.",
"pageEditor.chooseIcon": "اختر أيقونة",
"pageEditor.deleteConfirm.content": "سيتم حذف هذه الصفحة ولا يمكن استعادتها. يرجى المتابعة بحذر.",
"pageEditor.deleteConfirm.title": "حذف الصفحة",
"pageEditor.deleteError": "فشل في حذف الصفحة",
"pageEditor.deleteSuccess": "تم حذف الصفحة بنجاح",
"pageEditor.duplicateError": "فشل في تكرار الصفحة",
"pageEditor.duplicateSuccess": "تم تكرار الصفحة بنجاح",
"pageEditor.editedAt": "آخر تعديل في {{time}}",
"pageEditor.editedBy": "آخر تعديل بواسطة {{name}}",
"pageEditor.editorPlaceholder": "ابدأ بكتابة صفحتك. اضغط / لفتح قائمة الأوامر",
"pageEditor.empty.createNewDocument": "إنشاء صفحة جديدة",
"pageEditor.empty.importNotion": "الاستيراد من Notion",
"pageEditor.empty.title": "اختر صفحة للبدء",
"pageEditor.empty.uploadFiles": "تحميل ملفات",
"pageEditor.exportActions.openFile": "فتح",
"pageEditor.exportActions.showInFolder": "عرض في المجلد",
"pageEditor.exportDialogTitle": "تصدير الصفحة",
"pageEditor.exportError": "فشل في تصدير الصفحة",
"pageEditor.exportSuccess": "تم تصدير الصفحة بنجاح",
"pageEditor.linkCopied": "تم نسخ الرابط",
"pageEditor.menu.copyLink": "نسخ الرابط",
"pageEditor.menu.export": "تصدير",
"pageEditor.menu.export.markdown": "Markdown",
"pageEditor.menu.exportDocument": "تصدير الصفحة",
"pageEditor.menu.importDocument": "استيراد صفحة",
"pageEditor.menu.pin": "تثبيت الصفحة",
"pageEditor.saving": "جارٍ الحفظ...",
"pageEditor.titlePlaceholder": "بدون عنوان",
"pageEditor.wordCount": "{{wordCount}} كلمة",
"pageList.actions.openInNewTab": "افتح في علامة تبويب جديدة",
"pageList.copyContent": "نسخ النص الكامل",
"pageList.duplicate": "تكرار",
"pageList.empty": "لا توجد صفحات بعد. انقر على الزر أعلاه لإنشاء أول صفحة.",
"pageList.filter.all": "الكل",
"pageList.filter.onlyInPages": "في الصفحات فقط",
"pageList.noResults": "لم يتم العثور على صفحات مطابقة",
"pageList.pageCount": "إجمالي {{count}} صفحة",
"pageList.pageSizeItem": "{{count}} عنصر",
"pageList.title": "الصفحات",
"pageList.untitled": "بدون عنوان",
"portal.openInPageEditor": "تحرير في الصفحة",
"preview.downloadFile": "تنزيل الملف",
"preview.unsupportedFileAndContact": "تنسيق هذا الملف غير مدعوم حاليًا للمعاينة عبر الإنترنت. إذا كان لديك طلب للمعاينة، لا تتردد في <1>الاتصال بنا</1>.",
"resource": "المورد",
"searchFilePlaceholder": "البحث في الملفات",
"searchPagePlaceholder": "البحث في الصفحات",
"tab.all": "الكل",
"tab.audios": "الصوتيات",
"tab.documents": "المستندات",
"tab.home": "الرئيسية",
"tab.images": "الصور",
"tab.moreTypes": "أنواع أخرى",
"tab.pages": "الصفحات",
"tab.videos": "الفيديوهات",
"tab.websites": "المواقع",
"title": "الموارد",
"toggleLeftPanel": "إظهار/إخفاء اللوحة الجانبية",
"uploadDock.body.collapse": "طي",
"uploadDock.body.item.cancel": "إلغاء",
"uploadDock.body.item.cancelled": "تم الإلغاء",
"uploadDock.body.item.done": "تم التحميل",
"uploadDock.body.item.error": "فشل في التحميل، يرجى المحاولة مرة أخرى",
"uploadDock.body.item.pending": "جارٍ التحضير للتحميل...",
"uploadDock.body.item.processing": "جارٍ معالجة الملف...",
"uploadDock.body.item.restTime": "المتبقي {{time}}",
"uploadDock.fileQueueInfo": "يتم تحميل أول {{count}} ملف، {{remaining}} في الانتظار",
"uploadDock.totalCount": "إجمالي {{count}} عنصر",
"uploadDock.uploadStatus.cancelled": "تم إلغاء التحميل",
"uploadDock.uploadStatus.error": "خطأ في التحميل",
"uploadDock.uploadStatus.pending": "بانتظار التحميل",
"uploadDock.uploadStatus.processing": "جارٍ التحميل",
"uploadDock.uploadStatus.success": "تم التحميل بنجاح",
"uploadDock.uploadStatus.uploading": "جارٍ التحميل"
}