From d67ec70418a406db36f8e8ff695f5906fb52a716 Mon Sep 17 00:00:00 2001 From: Saeid Doroudi Date: Fri, 22 Nov 2024 09:10:50 +0330 Subject: [PATCH] :globe_with_meridians: ad support for new languages Add Support for Arabic language #107 Add support for Turkish language #108 Add Support for Chinese Language #110 Add support for Germany Language #109 --- locales/ar.yml | 155 +++++++++++++++++ locales/ch.yml | 157 ++++++++++++++++++ locales/de.yml | 155 +++++++++++++++++ locales/en.yml | 4 + locales/fa.yml | 10 +- locales/tr.yml | 155 +++++++++++++++++ src/components.d.ts | 5 - .../Customers/CustomerManagement.vue | 2 +- src/components/LanguageSelect.vue | 11 +- src/components/Navbar.vue | 4 - src/components/Orders/OrderManagement.vue | 2 +- src/components/Review/ReviewManagement.vue | 2 +- src/modules/i18n.ts | 2 +- 13 files changed, 645 insertions(+), 19 deletions(-) create mode 100644 locales/ar.yml create mode 100644 locales/ch.yml create mode 100644 locales/de.yml create mode 100644 locales/tr.yml diff --git a/locales/ar.yml b/locales/ar.yml new file mode 100644 index 0000000..75eca8c --- /dev/null +++ b/locales/ar.yml @@ -0,0 +1,155 @@ +title: لوحة تحكم يامي +description: لوحة تحكم Vue 3 مجانية +direction: rtl +en: English +fa: Persian +tr: Turkish +ar: Arabic +de: German +ch: Chinese +common: + notFound: غير موجود + 404Error: خطأ 404 + goHome: العودة إلى الرئيسية + 404Message: عذراً ولكن الصفحة التي تبحث عنها غير موجودة، تم إزالتها، تم تغيير اسمها أو غير متاحة مؤقتاً + 403Error: ليس لديك صلاحية الوصول +menu: + dashboard: لوحة التحكم + productManagement: إدارة المنتجات + products: المنتجات + categories: الفئات + brands: العلامات التجارية + colors: الألوان + orders: الطلبات + feedbacks: التعليقات + reviews: المراجعات + messages: الرسائل + support: الدعم + comments: التعليقات + announcement: الإعلانات + news: الأخبار + notifications: الإشعارات + sms: الرسائل القصيرة + accountSettings: إعدادات الحساب + websiteSettings: إعدادات الموقع + blog: المدونة + users: المستخدمون + customers: العملاء + settings: الإعدادات + pages: الصفحات + login: تسجيل الدخول + notFound: '404' +userMenu: + language: اللغة + theme: المظهر + options: الخيارات + profile: الملف الشخصي + logout: تسجيل الخروج + dark: داكن + light: فاتح + en: الإنجليزية + fa: الفارسية +button: + about: حول + back: رجوع + go: انتقال + home: الرئيسية + toggle_dark: تبديل الوضع المظلم + toggle_langs: تغيير اللغات +login: + title: تسجيل الدخول + username: اسم المستخدم + password: كلمة المرور + loginButton: تسجيل الدخول + skipLogin: تخطي تسجيل الدخول + forgetPassword: نسيت كلمة المرور + rememberMe: تذكرني + welcome: مرحباً بعودتك! + message: للوصول إلى حسابك يرجى تسجيل الدخول هنا + haveNotAccount: ليس لديك حساب؟ + createAccount: أنشئ واحداً! + failedMessage: فشل تسجيل الدخول + successMessage: تم تسجيل الدخول بنجاح 🎉 + validations: + userNameRequired: أدخل اسم المستخدم + passwordRequired: كلمة المرور مطلوبة + +register: + title: التسجيل + username: اسم المستخدم + password: كلمة المرور + button: تسجيل + haveAccount: لديك حساب؟ + login: تسجيل الدخول! +forgot: + title: نسيت كلمة المرور + username: اسم المستخدم + button: استعادة + haveNotAccount: ليس لديك حساب؟ + register: أنشئ واحداً! +dashboard: + summary: الملخص + transactions: المعاملات + registers: التسجيلات + products: المنتجات + sells: المبيعات + visits: الزيارات + activeOrders: الطلبات النشطة +categories: + title: الفئات + createButton: إنشاء + create: + buttonTitle: إنشاء + title: إنشاء فئة جديدة + categoryName: الاسم + parent: الفئة الأم + validations: + nameRequired: الاسم مطلوب + parentRequired: الفئة الأم غير محددة + +brands: + title: العلامات التجارية + createButton: إنشاء + create: + buttonTitle: إنشاء + title: إنشاء علامة تجارية جديدة + image: الصورة + brandName: الاسم + url: الرابط + validations: + name: الاسم مطلوب + url: الرابط مطلوب + image: الصورة مطلوبة + +colors: + title: الألوان + createButton: إنشاء + create: + buttonTitle: إنشاء + title: إنشاء لون جديد + color: اللون + name: الاسم + validations: + nameRequired: الاسم مطلوب + colorRequired: اللون غير محدد + +products: + create: + title: إنشاء منتج + productInformation: معلومات المنتج + name: اسم المنتج + barcode: الباركود + sku: رمز المنتج + description: الوصف + media: الوسائط + pricing: التسعير + price: السعر + discountedPrice: السعر بعد الخصم + inStock: متوفر في المخزون + category: الفئة + brand: العلامة التجارية + keywords: الكلمات المفتاحية + newKeyword: كلمة مفتاحية جديدة + imageName: الصورة + +not-found: غير موجود diff --git a/locales/ch.yml b/locales/ch.yml new file mode 100644 index 0000000..b1b7527 --- /dev/null +++ b/locales/ch.yml @@ -0,0 +1,157 @@ +title: 美味管理系统 +description: 免费的Vue 3仪表板 +direction: ltr +en: English +fa: Persian +tr: Turkish +ar: Arabic +de: German +ch: Chinese +English: 英语 +Persian: 波斯语 +common: + notFound: 未找到 + 404Error: 404错误 + goHome: 返回首页 + 404Message: 抱歉,您要查找的页面不存在、已被删除、名称已更改或暂时不可用 + 403Error: 您没有访问权限 +menu: + dashboard: 仪表板 + productManagement: 产品管理 + products: 产品 + categories: 分类 + brands: 品牌 + colors: 颜色 + orders: 订单 + feedbacks: 反馈 + reviews: 评论 + messages: 消息 + support: 支持 + comments: 评论 + announcement: 公告 + news: 新闻 + notifications: 通知 + sms: 短信 + accountSettings: 账户设置 + websiteSettings: 网站设置 + blog: 博客 + users: 用户 + customers: 客户 + settings: 设置 + pages: 页面 + login: 登录 + notFound: '404' +userMenu: + language: 语言 + theme: 主题 + options: 选项 + profile: 个人资料 + logout: 退出 + dark: 深色 + light: 浅色 + en: 英语 + fa: 波斯语 +button: + about: 关于 + back: 返回 + go: 前往 + home: 首页 + toggle_dark: 切换深色模式 + toggle_langs: 切换语言 +login: + title: 登录 + username: 用户名 + password: 密码 + loginButton: 登录 + skipLogin: 跳过登录 + forgetPassword: 忘记密码 + rememberMe: 记住我 + welcome: 欢迎回来! + message: 请在此登录以访问您的账户 + haveNotAccount: 没有账户? + createAccount: 创建一个! + failedMessage: 登录失败 + successMessage: 登录成功 🎉 + validations: + userNameRequired: 请输入用户名 + passwordRequired: 密码必填 + +register: + title: 注册 + username: 用户名 + password: 密码 + button: 注册 + haveAccount: 已有账户? + login: 登录! +forgot: + title: 忘记密码 + username: 用户名 + button: 恢复 + haveNotAccount: 没有账户? + register: 创建一个! +dashboard: + summary: 概要 + transactions: 交易 + registers: 注册 + products: 产品 + sells: 销售 + visits: 访问 + activeOrders: 活跃订单 +categories: + title: 分类 + createButton: 创建 + create: + buttonTitle: 创建 + title: 创建新分类 + categoryName: 名称 + parent: 父级 + validations: + nameRequired: 名称必填 + parentRequired: 未选择父级 + +brands: + title: 品牌 + createButton: 创建 + create: + buttonTitle: 创建 + title: 创建新品牌 + image: 图片 + brandName: 名称 + url: 网址 + validations: + name: 名称必填 + url: 网址必填 + image: 图片必填 + +colors: + title: 颜色 + createButton: 创建 + create: + buttonTitle: 创建 + title: 创建新颜色 + color: 颜色 + name: 名称 + validations: + nameRequired: 名称必填 + colorRequired: 未选择颜色 + +products: + create: + title: 创建产品 + productInformation: 产品信息 + name: 产品名称 + barcode: 条形码 + sku: 库存单位 + description: 描述 + media: 媒体 + pricing: 定价 + price: 价格 + discountedPrice: 折扣价 + inStock: 有库存 + category: 分类 + brand: 品牌 + keywords: 关键词 + newKeyword: 新关键词 + imageName: 图片 + +not-found: 未找到 diff --git a/locales/de.yml b/locales/de.yml new file mode 100644 index 0000000..2005c49 --- /dev/null +++ b/locales/de.yml @@ -0,0 +1,155 @@ +title: Yummy Admin +description: Kostenloses Vue 3 Dashboard +direction: ltr +en: English +fa: Persian +tr: Turkish +ar: Arabic +de: German +ch: Chinese +English: Englisch +Persian: Persisch +common: + notFound: Nicht gefunden + 404Error: 404 Fehler + goHome: Zurück zur Startseite + 404Message: Entschuldigung, aber die gesuchte Seite existiert nicht, wurde entfernt, der Name wurde geändert oder ist vorübergehend nicht verfügbar + 403Error: Sie haben keine Zugriffsberechtigung +menu: + dashboard: Dashboard + productManagement: Produktverwaltung + products: Produkte + categories: Kategorien + brands: Marken + colors: Farben + orders: Bestellungen + feedbacks: Rückmeldungen + reviews: Bewertungen + messages: Nachrichten + support: Support + comments: Kommentare + announcement: Ankündigung + news: Neuigkeiten + notifications: Benachrichtigungen + sms: SMS + accountSettings: Kontoeinstellungen + websiteSettings: Websiteeinstellungen + blog: Blog + users: Benutzer + customers: Kunden + settings: Einstellungen + pages: Seiten + login: Anmelden + notFound: '404' +userMenu: + language: Sprache + theme: Design + options: Optionen + profile: Profil + logout: Abmelden + dark: Dunkel + light: Hell +button: + about: Über + back: Zurück + go: LOS + home: Startseite + toggle_dark: Dunkelmodus umschalten + toggle_langs: Sprache ändern +login: + title: Anmelden + username: Benutzername + password: Passwort + loginButton: Anmelden + skipLogin: Anmeldung überspringen + forgetPassword: Passwort vergessen + rememberMe: Angemeldet bleiben + welcome: Willkommen zurück! + message: Um auf Ihr Konto zuzugreifen, melden Sie sich bitte hier an + haveNotAccount: Noch kein Konto? + createAccount: Erstellen Sie eins! + failedMessage: Anmeldung fehlgeschlagen + successMessage: Erfolgreich angemeldet 🎉 + validations: + userNameRequired: Benutzername eingeben + passwordRequired: Passwort wird benötigt + +register: + title: Registrieren + username: Benutzername + password: Passwort + button: Registrieren + haveAccount: Haben Sie ein Konto? + login: Anmelden! +forgot: + title: Passwort vergessen + username: Benutzername + button: Wiederherstellen + haveNotAccount: Kein Konto? + register: Erstellen Sie eins! +dashboard: + summary: Zusammenfassung + transactions: Transaktionen + registers: Registrierungen + products: Produkte + sells: Verkäufe + visits: Besuche + activeOrders: Aktive Bestellungen +categories: + title: Kategorien + createButton: Erstellen + create: + buttonTitle: Erstellen + title: Neue Kategorie erstellen + categoryName: Name + parent: Übergeordnet + validations: + nameRequired: Name wird benötigt + parentRequired: Übergeordnete Kategorie nicht ausgewählt + +brands: + title: Marken + createButton: Erstellen + create: + buttonTitle: Erstellen + title: Neue Marke erstellen + image: Bild + brandName: Name + url: URL + validations: + name: Name wird benötigt + url: URL wird benötigt + image: Bild wird benötigt + +colors: + title: Farben + createButton: Erstellen + create: + buttonTitle: Erstellen + title: Neue Farbe erstellen + color: Farbe + name: Name + validations: + nameRequired: Name wird benötigt + colorRequired: Farbe nicht ausgewählt + +products: + create: + title: Produkt erstellen + productInformation: Produktinformationen + name: Produktname + barcode: Barcode + sku: Artikelnummer + description: Beschreibung + media: Medien + pricing: Preisgestaltung + price: Preis + discountedPrice: Reduzierter Preis + inStock: Auf Lager + category: Kategorie + brand: Marke + keywords: Schlüsselwörter + newKeyword: Neues Schlüsselwort + imageName: Bild + +not-found: Nicht gefunden diff --git a/locales/en.yml b/locales/en.yml index f440700..2a07419 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -3,6 +3,10 @@ description: Free Vue 3 Dashboard direction: ltr en: English fa: Persian +tr: Turkish +ar: Arabic +de: German +ch: Chinese English: English Persian: Persian common: diff --git a/locales/fa.yml b/locales/fa.yml index 7a527ba..99bb9f3 100644 --- a/locales/fa.yml +++ b/locales/fa.yml @@ -1,10 +1,12 @@ title: پنل مدیریت description: داشبورد رایگان vue3 -English: English -Persian: Persian direction: rtl -en: انگلیسی -fa: فارسی +en: English +fa: Persian +tr: Turkish +ar: Arabic +de: German +ch: Chinese common: notFound: پیدا نشد 404Error: 404 خطای diff --git a/locales/tr.yml b/locales/tr.yml new file mode 100644 index 0000000..3276d17 --- /dev/null +++ b/locales/tr.yml @@ -0,0 +1,155 @@ +title: Yummy Admin +description: Ücretsiz Vue 3 Gösterge Paneli +direction: ltr +en: English +fa: Persian +tr: Turkish +ar: Arabic +de: German +ch: Chinese +common: + notFound: Bulunamadı + 404Error: 404 Hatası + goHome: Ana Sayfaya Dön + 404Message: Üzgünüz, aradığınız sayfa mevcut değil, kaldırılmış, adı değiştirilmiş veya geçici olarak kullanılamıyor + 403Error: Erişim izniniz yok +menu: + dashboard: Gösterge Paneli + productManagement: Ürün Yönetimi + products: Ürünler + categories: Kategoriler + brands: Markalar + colors: Renkler + orders: Siparişler + feedbacks: Geri Bildirimler + reviews: İncelemeler + messages: Mesajlar + support: Destek + comments: Yorumlar + announcement: Duyuru + news: Haberler + notifications: Bildirimler + sms: SMS + accountSettings: Hesap Ayarları + websiteSettings: Website Ayarları + blog: Blog + users: Kullanıcılar + customers: Müşteriler + settings: Ayarlar + pages: Sayfalar + login: Giriş + notFound: '404' +userMenu: + language: Dil + theme: Tema + options: Seçenekler + profile: Profil + logout: Çıkış + dark: Karanlık + light: Aydınlık + en: İngilizce + fa: Farsça +button: + about: Hakkında + back: Geri + go: GİT + home: Ana Sayfa + toggle_dark: Karanlık modu değiştir + toggle_langs: Dil değiştir +login: + title: Giriş + username: Kullanıcı Adı + password: Şifre + loginButton: Giriş Yap + skipLogin: Girişi Atla + forgetPassword: Şifremi Unuttum + rememberMe: Beni Hatırla + welcome: Tekrar Hoşgeldiniz! + message: Hesabınıza erişmek için lütfen giriş yapın + haveNotAccount: Hesabınız yok mu? + createAccount: Hesap Oluştur! + failedMessage: Giriş Başarısız + successMessage: Başarıyla Giriş Yapıldı 🎉 + validations: + userNameRequired: Kullanıcı adı girin + passwordRequired: Şifre gerekli + +register: + title: Kayıt Ol + username: Kullanıcı Adı + password: Şifre + button: Kayıt Ol + haveAccount: Hesabınız var mı? + login: Giriş Yap! +forgot: + title: Şifremi Unuttum + username: Kullanıcı Adı + button: Kurtar + haveNotAccount: Hesabınız yok mu? + register: Hesap Oluştur! +dashboard: + summary: Özet + transactions: İşlemler + registers: Kayıtlar + products: Ürünler + sells: Satışlar + visits: Ziyaretler + activeOrders: Aktif Siparişler +categories: + title: Kategoriler + createButton: Oluştur + create: + buttonTitle: Oluştur + title: Yeni Kategori Oluştur + categoryName: İsim + parent: Üst Kategori + validations: + nameRequired: İsim gerekli + parentRequired: Üst kategori seçilmedi + +brands: + title: Markalar + createButton: Oluştur + create: + buttonTitle: Oluştur + title: Yeni Marka Oluştur + image: Resim + brandName: İsim + url: URL + validations: + name: İsim gerekli + url: URL gerekli + image: Resim gerekli + +colors: + title: Renkler + createButton: Oluştur + create: + buttonTitle: Oluştur + title: Yeni Renk Oluştur + color: Renk + name: İsim + validations: + nameRequired: İsim gerekli + colorRequired: Renk seçilmedi + +products: + create: + title: Ürün Oluştur + productInformation: Ürün Bilgisi + name: Ürün Adı + barcode: Barkod + sku: Stok Kodu + description: Açıklama + media: Medya + pricing: Fiyatlandırma + price: Fiyat + discountedPrice: İndirimli Fiyat + inStock: Stokta + category: Kategori + brand: Marka + keywords: Anahtar Kelimeler + newKeyword: Yeni Anahtar Kelime + imageName: Resim + +not-found: Bulunamadı diff --git a/src/components.d.ts b/src/components.d.ts index 1b69df9..82774ac 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -31,10 +31,7 @@ declare module 'vue' { NConfigProvider: typeof import('naive-ui')['NConfigProvider'] NDataTable: typeof import('naive-ui')['NDataTable'] NDialogProvider: typeof import('naive-ui')['NDialogProvider'] - NDrawer: typeof import('naive-ui')['NDrawer'] - NDrawerContent: typeof import('naive-ui')['NDrawerContent'] NDropdown: typeof import('naive-ui')['NDropdown'] - NFloatButton: typeof import('naive-ui')['NFloatButton'] NForm: typeof import('naive-ui')['NForm'] NFormItem: typeof import('naive-ui')['NFormItem'] NIcon: typeof import('naive-ui')['NIcon'] @@ -47,9 +44,7 @@ declare module 'vue' { NNotificationProvider: typeof import('naive-ui')['NNotificationProvider'] NPageHeader: typeof import('naive-ui')['NPageHeader'] NPopselect: typeof import('naive-ui')['NPopselect'] - NSpace: typeof import('naive-ui')['NSpace'] NTooltip: typeof import('naive-ui')['NTooltip'] - NTreeSelect: typeof import('naive-ui')['NTreeSelect'] OrderManagement: typeof import('./components/Orders/OrderManagement.vue')['default'] ProductsManagement: typeof import('./components/Products/ProductsManagement.vue')['default'] ReviewManagement: typeof import('./components/Review/ReviewManagement.vue')['default'] diff --git a/src/components/Customers/CustomerManagement.vue b/src/components/Customers/CustomerManagement.vue index e322fb1..002c3bb 100644 --- a/src/components/Customers/CustomerManagement.vue +++ b/src/components/Customers/CustomerManagement.vue @@ -104,7 +104,7 @@ function renderIcon(icon: any) { return () => h(NIcon, null, { default: () => h(icon) }) } -function handleDeleteItem(row: RowData) { +function handleDeleteItem() { dialog.error({ title: 'Confirm', content: 'Are you sure?', diff --git a/src/components/LanguageSelect.vue b/src/components/LanguageSelect.vue index d3952fe..c589a37 100644 --- a/src/components/LanguageSelect.vue +++ b/src/components/LanguageSelect.vue @@ -1,5 +1,6 @@ diff --git a/src/components/Navbar.vue b/src/components/Navbar.vue index 7f5bd1e..5d2c53d 100644 --- a/src/components/Navbar.vue +++ b/src/components/Navbar.vue @@ -1,8 +1,4 @@