progress in localization

This commit is contained in:
Hesabix 2025-09-25 01:18:59 +03:30
parent 44eef85039
commit 2aa6105343
14 changed files with 2149 additions and 89 deletions

View file

@ -554,6 +554,165 @@
"ownerWarning": "Warning: Business owner does not need to be added and always has full access to all sections",
"ownerWarningTitle": "Business Owner",
"alreadyAddedWarning": "This user has already been added to the business",
"alreadyAddedWarningTitle": "Existing User"
"alreadyAddedWarningTitle": "Existing User",
"version": "Version 1.0.0",
"motto": "The world becomes beautiful through cooperation",
"loadingLanguageSettings": "Loading language settings...",
"loadingCalendarSettings": "Loading calendar settings...",
"loadingThemeSettings": "Loading theme settings...",
"loadingAuthentication": "Loading authentication...",
"initializing": "Initializing...",
"add": "Add",
"view": "View",
"edit": "Edit",
"delete": "Delete",
"draft": "Manage Drafts",
"addPerson": "Add New Person",
"viewPeople": "View People List",
"editPeople": "Edit People Information",
"deletePeople": "Delete People",
"addReceipt": "Add New Receipt",
"viewReceipts": "View Receipts",
"editReceipts": "Edit Receipts",
"deleteReceipts": "Delete Receipts",
"manageReceiptDrafts": "Manage Receipt Drafts",
"addPayment": "Add New Payment",
"viewPayments": "View Payments",
"editPayments": "Edit Payments",
"deletePayments": "Delete Payments",
"managePaymentDrafts": "Manage Payment Drafts",
"products": "Products and Services",
"addProduct": "Add Product or Service",
"viewProducts": "View Products and Services",
"editProducts": "Edit Products and Services",
"deleteProducts": "Delete Products and Services",
"priceLists": "Price Lists",
"addPriceList": "Add Price List",
"viewPriceLists": "View Price Lists",
"editPriceLists": "Edit Price Lists",
"deletePriceLists": "Delete Price Lists",
"categories": "Categories",
"addCategory": "Add Category",
"viewCategories": "View Categories",
"editCategories": "Edit Categories",
"deleteCategories": "Delete Categories",
"inventory": "Inventory",
"addInventory": "Add Inventory",
"viewInventory": "View Inventory",
"editInventory": "Edit Inventory",
"deleteInventory": "Delete Inventory",
"reports": "Reports",
"viewReports": "View Reports",
"generateReports": "Generate Reports",
"exportReports": "Export Reports",
"settings": "Settings",
"viewSettings": "View Settings",
"editSettings": "Edit Settings",
"users": "Users",
"viewUsers": "View Users",
"manageUsers": "Manage Users",
"print": "Print Documents",
"printDocuments": "Print Documents",
"peopleReceipts": "Receipts from People",
"peoplePayments": "Payments to People",
"storageConfigUpdated": "Storage configuration updated",
"storageConfigCreated": "Storage configuration created",
"storageConfigDeleted": "Storage configuration deleted",
"storageConfigHasFiles": "This storage configuration has files and cannot be deleted",
"storageConfigNotFound": "Storage configuration not found",
"storageConfigSetAsDefault": "Configuration set as default",
"storageConfigSetDefaultFailed": "Failed to set as default",
"passwordChangeError": "Error changing password",
"banking": "Banking",
"bankAccounts": "Bank Accounts",
"cash": "Cash",
"pettyCash": "Petty Cash",
"checks": "Checks",
"wallet": "Wallet",
"transfers": "Transfers",
"invoices": "Invoices",
"expensesIncome": "Expenses & Income",
"accounting": "Accounting",
"accountingDocuments": "Accounting Documents",
"chartOfAccounts": "Chart of Accounts",
"openingBalance": "Opening Balance",
"warehouse": "Warehouse",
"warehouses": "Warehouse Management",
"warehouseTransfers": "Warehouse Transfers",
"productAttributes": "Product Attributes",
"addAttribute": "Add Attribute",
"viewAttributes": "View Attributes",
"editAttributes": "Edit Attributes",
"deleteAttributes": "Delete Attributes",
"addBankAccount": "Add Bank Account",
"viewBankAccounts": "View Bank Accounts",
"editBankAccounts": "Edit Bank Accounts",
"deleteBankAccounts": "Delete Bank Accounts",
"addCash": "Add Cash",
"viewCash": "View Cash",
"editCash": "Edit Cash",
"deleteCash": "Delete Cash",
"addPettyCash": "Add Petty Cash",
"viewPettyCash": "View Petty Cash",
"editPettyCash": "Edit Petty Cash",
"deletePettyCash": "Delete Petty Cash",
"addCheck": "Add Check",
"viewChecks": "View Checks",
"editChecks": "Edit Checks",
"deleteChecks": "Delete Checks",
"collectChecks": "Collect Checks",
"transferChecks": "Transfer Checks",
"returnChecks": "Return Checks",
"viewWallet": "View Wallet",
"chargeWallet": "Charge Wallet",
"addTransfer": "Add Transfer",
"viewTransfers": "View Transfers",
"editTransfers": "Edit Transfers",
"deleteTransfers": "Delete Transfers",
"manageTransferDrafts": "Manage Transfer Drafts",
"addInvoice": "Add Invoice",
"viewInvoices": "View Invoices",
"editInvoices": "Edit Invoices",
"deleteInvoices": "Delete Invoices",
"manageInvoiceDrafts": "Manage Invoice Drafts",
"addExpenseIncome": "Add Expense/Income",
"viewExpensesIncome": "View Expenses & Income",
"editExpensesIncome": "Edit Expenses & Income",
"deleteExpensesIncome": "Delete Expenses & Income",
"manageExpenseIncomeDrafts": "Manage Expense/Income Drafts",
"addAccountingDocument": "Add Accounting Document",
"viewAccountingDocuments": "View Accounting Documents",
"editAccountingDocuments": "Edit Accounting Documents",
"deleteAccountingDocuments": "Delete Accounting Documents",
"manageAccountingDocumentDrafts": "Manage Accounting Document Drafts",
"addAccount": "Add Account",
"viewChartOfAccounts": "View Chart of Accounts",
"editChartOfAccounts": "Edit Chart of Accounts",
"deleteAccounts": "Delete Accounts",
"viewOpeningBalance": "View Opening Balance",
"editOpeningBalance": "Edit Opening Balance",
"addWarehouse": "Add Warehouse",
"viewWarehouses": "View Warehouses",
"editWarehouses": "Edit Warehouses",
"deleteWarehouses": "Delete Warehouses",
"addWarehouseTransfer": "Add Warehouse Transfer",
"viewWarehouseTransfers": "View Warehouse Transfers",
"editWarehouseTransfers": "Edit Warehouse Transfers",
"deleteWarehouseTransfers": "Delete Warehouse Transfers",
"manageWarehouseTransferDrafts": "Manage Warehouse Transfer Drafts",
"businessSettings": "Business Settings",
"printSettings": "Print Settings",
"eventHistory": "Event History",
"usersAndPermissions": "Users and Permissions",
"storageSpace": "Storage Space",
"viewStorage": "View Storage",
"deleteFiles": "Delete Files",
"smsPanel": "SMS Panel",
"viewSmsHistory": "View SMS History",
"manageSmsTemplates": "Manage SMS Templates",
"marketplace": "Marketplace",
"viewMarketplace": "View Marketplace",
"buyPlugins": "Buy Plugins",
"viewInvoices": "View Invoices"
}

View file

@ -553,6 +553,165 @@
"ownerWarning": "هشدار: کاربر مالک کسب و کار نیازی به افزودن ندارد و همیشه دسترسی کامل به همه بخش‌ها دارد",
"ownerWarningTitle": "کاربر مالک",
"alreadyAddedWarning": "این کاربر قبلاً به کسب و کار اضافه شده است",
"alreadyAddedWarningTitle": "کاربر موجود"
"alreadyAddedWarningTitle": "کاربر موجود",
"version": "نسخه 1.0.0",
"motto": "جهان با تعاون زیبا می‌شود",
"loadingLanguageSettings": "در حال بارگذاری تنظیمات زبان...",
"loadingCalendarSettings": "در حال بارگذاری تنظیمات تقویم...",
"loadingThemeSettings": "در حال بارگذاری تنظیمات تم...",
"loadingAuthentication": "در حال بارگذاری احراز هویت...",
"initializing": "در حال راه‌اندازی...",
"add": "افزودن",
"view": "مشاهده",
"edit": "ویرایش",
"delete": "حذف",
"draft": "مدیریت پیش‌نویس‌ها",
"addPerson": "افزودن شخص جدید",
"viewPeople": "مشاهده لیست اشخاص",
"editPeople": "ویرایش اطلاعات اشخاص",
"deletePeople": "حذف اشخاص",
"addReceipt": "افزودن دریافت جدید",
"viewReceipts": "مشاهده دریافت‌ها",
"editReceipts": "ویرایش دریافت‌ها",
"deleteReceipts": "حذف دریافت‌ها",
"manageReceiptDrafts": "مدیریت پیش‌نویس‌های دریافت",
"addPayment": "افزودن پرداخت جدید",
"viewPayments": "مشاهده پرداخت‌ها",
"editPayments": "ویرایش پرداخت‌ها",
"deletePayments": "حذف پرداخت‌ها",
"managePaymentDrafts": "مدیریت پیش‌نویس‌های پرداخت",
"products": "کالا‌ها و خدمات",
"addProduct": "افزودن کالا یا خدمت",
"viewProducts": "مشاهده کالاها و خدمات",
"editProducts": "ویرایش کالاها و خدمات",
"deleteProducts": "حذف کالاها و خدمات",
"priceLists": "لیست‌های قیمت",
"addPriceList": "افزودن لیست قیمت",
"viewPriceLists": "مشاهده لیست‌های قیمت",
"editPriceLists": "ویرایش لیست‌های قیمت",
"deletePriceLists": "حذف لیست‌های قیمت",
"categories": "دسته‌بندی‌ها",
"addCategory": "افزودن دسته‌بندی",
"viewCategories": "مشاهده دسته‌بندی‌ها",
"editCategories": "ویرایش دسته‌بندی‌ها",
"deleteCategories": "حذف دسته‌بندی‌ها",
"inventory": "موجودی",
"addInventory": "افزودن موجودی",
"viewInventory": "مشاهده موجودی",
"editInventory": "ویرایش موجودی",
"deleteInventory": "حذف موجودی",
"reports": "گزارش‌ها",
"viewReports": "مشاهده گزارش‌ها",
"generateReports": "تولید گزارش‌ها",
"exportReports": "خروجی گزارش‌ها",
"settings": "تنظیمات",
"viewSettings": "مشاهده تنظیمات",
"editSettings": "ویرایش تنظیمات",
"users": "کاربران",
"viewUsers": "مشاهده کاربران",
"manageUsers": "مدیریت کاربران",
"print": "چاپ اسناد",
"printDocuments": "چاپ اسناد",
"peopleReceipts": "دریافت از اشخاص",
"peoplePayments": "پرداخت به اشخاص",
"storageConfigUpdated": "تنظیمات ذخیره‌سازی به‌روزرسانی شد",
"storageConfigCreated": "تنظیمات ذخیره‌سازی ایجاد شد",
"storageConfigDeleted": "تنظیمات ذخیره‌سازی حذف شد",
"storageConfigHasFiles": "این تنظیمات ذخیره‌سازی دارای فایل است و قابل حذف نیست",
"storageConfigNotFound": "تنظیمات ذخیره‌سازی یافت نشد",
"storageConfigSetAsDefault": "تنظیمات به عنوان پیش‌فرض تنظیم شد",
"storageConfigSetDefaultFailed": "خطا در تنظیم به عنوان پیش‌فرض",
"passwordChangeError": "خطا در تغییر کلمه عبور",
"banking": "بانکداری",
"bankAccounts": "حساب‌های بانکی",
"cash": "صندوق",
"pettyCash": "تنخواه گردان",
"checks": "چک",
"wallet": "کیف پول",
"transfers": "انتقال",
"invoices": "فاکتورها",
"expensesIncome": "هزینه و درآمد",
"accounting": "حسابداری",
"accountingDocuments": "اسناد حسابداری",
"chartOfAccounts": "جدول حساب‌ها",
"openingBalance": "تراز افتتاحیه",
"warehouse": "انبارداری",
"warehouses": "مدیریت انبارها",
"warehouseTransfers": "صدور حواله",
"productAttributes": "ویژگی‌های کالا و خدمات",
"addAttribute": "افزودن ویژگی",
"viewAttributes": "مشاهده ویژگی‌ها",
"editAttributes": "ویرایش ویژگی‌ها",
"deleteAttributes": "حذف ویژگی‌ها",
"addBankAccount": "افزودن حساب بانکی",
"viewBankAccounts": "مشاهده حساب‌های بانکی",
"editBankAccounts": "ویرایش حساب‌های بانکی",
"deleteBankAccounts": "حذف حساب‌های بانکی",
"addCash": "افزودن صندوق",
"viewCash": "مشاهده صندوق‌ها",
"editCash": "ویرایش صندوق‌ها",
"deleteCash": "حذف صندوق‌ها",
"addPettyCash": "افزودن تنخواه",
"viewPettyCash": "مشاهده تنخواه‌ها",
"editPettyCash": "ویرایش تنخواه‌ها",
"deletePettyCash": "حذف تنخواه‌ها",
"addCheck": "افزودن چک",
"viewChecks": "مشاهده چک‌ها",
"editChecks": "ویرایش چک‌ها",
"deleteChecks": "حذف چک‌ها",
"collectChecks": "وصول چک‌ها",
"transferChecks": "انتقال چک‌ها",
"returnChecks": "برگشت چک‌ها",
"viewWallet": "مشاهده کیف پول",
"chargeWallet": "شارژ کیف پول",
"addTransfer": "افزودن انتقال",
"viewTransfers": "مشاهده انتقال‌ها",
"editTransfers": "ویرایش انتقال‌ها",
"deleteTransfers": "حذف انتقال‌ها",
"manageTransferDrafts": "مدیریت پیش‌نویس‌های انتقال",
"addInvoice": "افزودن فاکتور",
"viewInvoices": "مشاهده فاکتورها",
"editInvoices": "ویرایش فاکتورها",
"deleteInvoices": "حذف فاکتورها",
"manageInvoiceDrafts": "مدیریت پیش‌نویس‌های فاکتور",
"addExpenseIncome": "افزودن هزینه یا درآمد",
"viewExpensesIncome": "مشاهده هزینه‌ها و درآمدها",
"editExpensesIncome": "ویرایش هزینه‌ها و درآمدها",
"deleteExpensesIncome": "حذف هزینه‌ها و درآمدها",
"manageExpenseIncomeDrafts": "مدیریت پیش‌نویس‌های هزینه و درآمد",
"addAccountingDocument": "افزودن سند حسابداری",
"viewAccountingDocuments": "مشاهده اسناد حسابداری",
"editAccountingDocuments": "ویرایش اسناد حسابداری",
"deleteAccountingDocuments": "حذف اسناد حسابداری",
"manageAccountingDocumentDrafts": "مدیریت پیش‌نویس‌های اسناد",
"addAccount": "افزودن حساب",
"viewChartOfAccounts": "مشاهده جدول حساب‌ها",
"editChartOfAccounts": "ویرایش جدول حساب‌ها",
"deleteAccounts": "حذف حساب‌ها",
"viewOpeningBalance": "مشاهده تراز افتتاحیه",
"editOpeningBalance": "ویرایش تراز افتتاحیه",
"addWarehouse": "افزودن انبار",
"viewWarehouses": "مشاهده انبارها",
"editWarehouses": "ویرایش انبارها",
"deleteWarehouses": "حذف انبارها",
"addWarehouseTransfer": "افزودن حواله",
"viewWarehouseTransfers": "مشاهده حواله‌ها",
"editWarehouseTransfers": "ویرایش حواله‌ها",
"deleteWarehouseTransfers": "حذف حواله‌ها",
"manageWarehouseTransferDrafts": "مدیریت پیش‌نویس‌های حواله",
"businessSettings": "تنظیمات کسب و کار",
"printSettings": "تنظیمات چاپ اسناد",
"eventHistory": "تاریخچه رویدادها",
"usersAndPermissions": "کاربران و دسترسی‌ها",
"storageSpace": "فضای ذخیره‌سازی",
"viewStorage": "مشاهده فضای ذخیره‌سازی",
"deleteFiles": "حذف فایل‌ها",
"smsPanel": "پنل پیامک",
"viewSmsHistory": "مشاهده تاریخچه پیامک‌ها",
"manageSmsTemplates": "مدیریت قالب‌های پیامک",
"marketplace": "بازار افزونه‌ها",
"viewMarketplace": "مشاهده افزونه‌ها",
"buyPlugins": "خرید افزونه‌ها",
"viewInvoices": "صورت حساب‌ها"
}

View file

@ -3109,6 +3109,864 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Existing User'**
String get alreadyAddedWarningTitle;
/// No description provided for @version.
///
/// In en, this message translates to:
/// **'Version 1.0.0'**
String get version;
/// No description provided for @motto.
///
/// In en, this message translates to:
/// **'The world becomes beautiful through cooperation'**
String get motto;
/// No description provided for @add.
///
/// In en, this message translates to:
/// **'Add'**
String get add;
/// No description provided for @view.
///
/// In en, this message translates to:
/// **'View'**
String get view;
/// No description provided for @draft.
///
/// In en, this message translates to:
/// **'Manage Drafts'**
String get draft;
/// No description provided for @addPerson.
///
/// In en, this message translates to:
/// **'Add New Person'**
String get addPerson;
/// No description provided for @viewPeople.
///
/// In en, this message translates to:
/// **'View People List'**
String get viewPeople;
/// No description provided for @editPeople.
///
/// In en, this message translates to:
/// **'Edit People Information'**
String get editPeople;
/// No description provided for @deletePeople.
///
/// In en, this message translates to:
/// **'Delete People'**
String get deletePeople;
/// No description provided for @addReceipt.
///
/// In en, this message translates to:
/// **'Add New Receipt'**
String get addReceipt;
/// No description provided for @viewReceipts.
///
/// In en, this message translates to:
/// **'View Receipts'**
String get viewReceipts;
/// No description provided for @editReceipts.
///
/// In en, this message translates to:
/// **'Edit Receipts'**
String get editReceipts;
/// No description provided for @deleteReceipts.
///
/// In en, this message translates to:
/// **'Delete Receipts'**
String get deleteReceipts;
/// No description provided for @manageReceiptDrafts.
///
/// In en, this message translates to:
/// **'Manage Receipt Drafts'**
String get manageReceiptDrafts;
/// No description provided for @addPayment.
///
/// In en, this message translates to:
/// **'Add New Payment'**
String get addPayment;
/// No description provided for @viewPayments.
///
/// In en, this message translates to:
/// **'View Payments'**
String get viewPayments;
/// No description provided for @editPayments.
///
/// In en, this message translates to:
/// **'Edit Payments'**
String get editPayments;
/// No description provided for @deletePayments.
///
/// In en, this message translates to:
/// **'Delete Payments'**
String get deletePayments;
/// No description provided for @managePaymentDrafts.
///
/// In en, this message translates to:
/// **'Manage Payment Drafts'**
String get managePaymentDrafts;
/// No description provided for @products.
///
/// In en, this message translates to:
/// **'Products and Services'**
String get products;
/// No description provided for @addProduct.
///
/// In en, this message translates to:
/// **'Add Product or Service'**
String get addProduct;
/// No description provided for @viewProducts.
///
/// In en, this message translates to:
/// **'View Products and Services'**
String get viewProducts;
/// No description provided for @editProducts.
///
/// In en, this message translates to:
/// **'Edit Products and Services'**
String get editProducts;
/// No description provided for @deleteProducts.
///
/// In en, this message translates to:
/// **'Delete Products and Services'**
String get deleteProducts;
/// No description provided for @priceLists.
///
/// In en, this message translates to:
/// **'Price Lists'**
String get priceLists;
/// No description provided for @addPriceList.
///
/// In en, this message translates to:
/// **'Add Price List'**
String get addPriceList;
/// No description provided for @viewPriceLists.
///
/// In en, this message translates to:
/// **'View Price Lists'**
String get viewPriceLists;
/// No description provided for @editPriceLists.
///
/// In en, this message translates to:
/// **'Edit Price Lists'**
String get editPriceLists;
/// No description provided for @deletePriceLists.
///
/// In en, this message translates to:
/// **'Delete Price Lists'**
String get deletePriceLists;
/// No description provided for @categories.
///
/// In en, this message translates to:
/// **'Categories'**
String get categories;
/// No description provided for @addCategory.
///
/// In en, this message translates to:
/// **'Add Category'**
String get addCategory;
/// No description provided for @viewCategories.
///
/// In en, this message translates to:
/// **'View Categories'**
String get viewCategories;
/// No description provided for @editCategories.
///
/// In en, this message translates to:
/// **'Edit Categories'**
String get editCategories;
/// No description provided for @deleteCategories.
///
/// In en, this message translates to:
/// **'Delete Categories'**
String get deleteCategories;
/// No description provided for @addInventory.
///
/// In en, this message translates to:
/// **'Add Inventory'**
String get addInventory;
/// No description provided for @viewInventory.
///
/// In en, this message translates to:
/// **'View Inventory'**
String get viewInventory;
/// No description provided for @editInventory.
///
/// In en, this message translates to:
/// **'Edit Inventory'**
String get editInventory;
/// No description provided for @deleteInventory.
///
/// In en, this message translates to:
/// **'Delete Inventory'**
String get deleteInventory;
/// No description provided for @viewReports.
///
/// In en, this message translates to:
/// **'View Reports'**
String get viewReports;
/// No description provided for @generateReports.
///
/// In en, this message translates to:
/// **'Generate Reports'**
String get generateReports;
/// No description provided for @exportReports.
///
/// In en, this message translates to:
/// **'Export Reports'**
String get exportReports;
/// No description provided for @viewSettings.
///
/// In en, this message translates to:
/// **'View Settings'**
String get viewSettings;
/// No description provided for @editSettings.
///
/// In en, this message translates to:
/// **'Edit Settings'**
String get editSettings;
/// No description provided for @users.
///
/// In en, this message translates to:
/// **'Users'**
String get users;
/// No description provided for @manageUsers.
///
/// In en, this message translates to:
/// **'Manage Users'**
String get manageUsers;
/// No description provided for @print.
///
/// In en, this message translates to:
/// **'Print Documents'**
String get print;
/// No description provided for @peopleReceipts.
///
/// In en, this message translates to:
/// **'Receipts from People'**
String get peopleReceipts;
/// No description provided for @peoplePayments.
///
/// In en, this message translates to:
/// **'Payments to People'**
String get peoplePayments;
/// No description provided for @storageConfigUpdated.
///
/// In en, this message translates to:
/// **'Storage configuration updated'**
String get storageConfigUpdated;
/// No description provided for @storageConfigCreated.
///
/// In en, this message translates to:
/// **'Storage configuration created'**
String get storageConfigCreated;
/// No description provided for @storageConfigDeleted.
///
/// In en, this message translates to:
/// **'Storage configuration deleted'**
String get storageConfigDeleted;
/// No description provided for @storageConfigHasFiles.
///
/// In en, this message translates to:
/// **'This storage configuration has files and cannot be deleted'**
String get storageConfigHasFiles;
/// No description provided for @storageConfigNotFound.
///
/// In en, this message translates to:
/// **'Storage configuration not found'**
String get storageConfigNotFound;
/// No description provided for @storageConfigSetAsDefault.
///
/// In en, this message translates to:
/// **'Configuration set as default'**
String get storageConfigSetAsDefault;
/// No description provided for @storageConfigSetDefaultFailed.
///
/// In en, this message translates to:
/// **'Failed to set as default'**
String get storageConfigSetDefaultFailed;
/// No description provided for @passwordChangeError.
///
/// In en, this message translates to:
/// **'Error changing password'**
String get passwordChangeError;
/// No description provided for @banking.
///
/// In en, this message translates to:
/// **'Banking'**
String get banking;
/// No description provided for @bankAccounts.
///
/// In en, this message translates to:
/// **'Bank Accounts'**
String get bankAccounts;
/// No description provided for @cash.
///
/// In en, this message translates to:
/// **'Cash'**
String get cash;
/// No description provided for @pettyCash.
///
/// In en, this message translates to:
/// **'Petty Cash'**
String get pettyCash;
/// No description provided for @checks.
///
/// In en, this message translates to:
/// **'Checks'**
String get checks;
/// No description provided for @wallet.
///
/// In en, this message translates to:
/// **'Wallet'**
String get wallet;
/// No description provided for @transfers.
///
/// In en, this message translates to:
/// **'Transfers'**
String get transfers;
/// No description provided for @invoices.
///
/// In en, this message translates to:
/// **'Invoices'**
String get invoices;
/// No description provided for @expensesIncome.
///
/// In en, this message translates to:
/// **'Expenses & Income'**
String get expensesIncome;
/// No description provided for @accountingDocuments.
///
/// In en, this message translates to:
/// **'Accounting Documents'**
String get accountingDocuments;
/// No description provided for @chartOfAccounts.
///
/// In en, this message translates to:
/// **'Chart of Accounts'**
String get chartOfAccounts;
/// No description provided for @openingBalance.
///
/// In en, this message translates to:
/// **'Opening Balance'**
String get openingBalance;
/// No description provided for @warehouse.
///
/// In en, this message translates to:
/// **'Warehouse'**
String get warehouse;
/// No description provided for @warehouses.
///
/// In en, this message translates to:
/// **'Warehouse Management'**
String get warehouses;
/// No description provided for @warehouseTransfers.
///
/// In en, this message translates to:
/// **'Warehouse Transfers'**
String get warehouseTransfers;
/// No description provided for @productAttributes.
///
/// In en, this message translates to:
/// **'Product Attributes'**
String get productAttributes;
/// No description provided for @addAttribute.
///
/// In en, this message translates to:
/// **'Add Attribute'**
String get addAttribute;
/// No description provided for @viewAttributes.
///
/// In en, this message translates to:
/// **'View Attributes'**
String get viewAttributes;
/// No description provided for @editAttributes.
///
/// In en, this message translates to:
/// **'Edit Attributes'**
String get editAttributes;
/// No description provided for @deleteAttributes.
///
/// In en, this message translates to:
/// **'Delete Attributes'**
String get deleteAttributes;
/// No description provided for @addBankAccount.
///
/// In en, this message translates to:
/// **'Add Bank Account'**
String get addBankAccount;
/// No description provided for @viewBankAccounts.
///
/// In en, this message translates to:
/// **'View Bank Accounts'**
String get viewBankAccounts;
/// No description provided for @editBankAccounts.
///
/// In en, this message translates to:
/// **'Edit Bank Accounts'**
String get editBankAccounts;
/// No description provided for @deleteBankAccounts.
///
/// In en, this message translates to:
/// **'Delete Bank Accounts'**
String get deleteBankAccounts;
/// No description provided for @addCash.
///
/// In en, this message translates to:
/// **'Add Cash'**
String get addCash;
/// No description provided for @viewCash.
///
/// In en, this message translates to:
/// **'View Cash'**
String get viewCash;
/// No description provided for @editCash.
///
/// In en, this message translates to:
/// **'Edit Cash'**
String get editCash;
/// No description provided for @deleteCash.
///
/// In en, this message translates to:
/// **'Delete Cash'**
String get deleteCash;
/// No description provided for @addPettyCash.
///
/// In en, this message translates to:
/// **'Add Petty Cash'**
String get addPettyCash;
/// No description provided for @viewPettyCash.
///
/// In en, this message translates to:
/// **'View Petty Cash'**
String get viewPettyCash;
/// No description provided for @editPettyCash.
///
/// In en, this message translates to:
/// **'Edit Petty Cash'**
String get editPettyCash;
/// No description provided for @deletePettyCash.
///
/// In en, this message translates to:
/// **'Delete Petty Cash'**
String get deletePettyCash;
/// No description provided for @addCheck.
///
/// In en, this message translates to:
/// **'Add Check'**
String get addCheck;
/// No description provided for @viewChecks.
///
/// In en, this message translates to:
/// **'View Checks'**
String get viewChecks;
/// No description provided for @editChecks.
///
/// In en, this message translates to:
/// **'Edit Checks'**
String get editChecks;
/// No description provided for @deleteChecks.
///
/// In en, this message translates to:
/// **'Delete Checks'**
String get deleteChecks;
/// No description provided for @collectChecks.
///
/// In en, this message translates to:
/// **'Collect Checks'**
String get collectChecks;
/// No description provided for @transferChecks.
///
/// In en, this message translates to:
/// **'Transfer Checks'**
String get transferChecks;
/// No description provided for @returnChecks.
///
/// In en, this message translates to:
/// **'Return Checks'**
String get returnChecks;
/// No description provided for @viewWallet.
///
/// In en, this message translates to:
/// **'View Wallet'**
String get viewWallet;
/// No description provided for @chargeWallet.
///
/// In en, this message translates to:
/// **'Charge Wallet'**
String get chargeWallet;
/// No description provided for @addTransfer.
///
/// In en, this message translates to:
/// **'Add Transfer'**
String get addTransfer;
/// No description provided for @viewTransfers.
///
/// In en, this message translates to:
/// **'View Transfers'**
String get viewTransfers;
/// No description provided for @editTransfers.
///
/// In en, this message translates to:
/// **'Edit Transfers'**
String get editTransfers;
/// No description provided for @deleteTransfers.
///
/// In en, this message translates to:
/// **'Delete Transfers'**
String get deleteTransfers;
/// No description provided for @manageTransferDrafts.
///
/// In en, this message translates to:
/// **'Manage Transfer Drafts'**
String get manageTransferDrafts;
/// No description provided for @addInvoice.
///
/// In en, this message translates to:
/// **'Add Invoice'**
String get addInvoice;
/// No description provided for @viewInvoices.
///
/// In en, this message translates to:
/// **'View Invoices'**
String get viewInvoices;
/// No description provided for @editInvoices.
///
/// In en, this message translates to:
/// **'Edit Invoices'**
String get editInvoices;
/// No description provided for @deleteInvoices.
///
/// In en, this message translates to:
/// **'Delete Invoices'**
String get deleteInvoices;
/// No description provided for @manageInvoiceDrafts.
///
/// In en, this message translates to:
/// **'Manage Invoice Drafts'**
String get manageInvoiceDrafts;
/// No description provided for @addExpenseIncome.
///
/// In en, this message translates to:
/// **'Add Expense/Income'**
String get addExpenseIncome;
/// No description provided for @viewExpensesIncome.
///
/// In en, this message translates to:
/// **'View Expenses & Income'**
String get viewExpensesIncome;
/// No description provided for @editExpensesIncome.
///
/// In en, this message translates to:
/// **'Edit Expenses & Income'**
String get editExpensesIncome;
/// No description provided for @deleteExpensesIncome.
///
/// In en, this message translates to:
/// **'Delete Expenses & Income'**
String get deleteExpensesIncome;
/// No description provided for @manageExpenseIncomeDrafts.
///
/// In en, this message translates to:
/// **'Manage Expense/Income Drafts'**
String get manageExpenseIncomeDrafts;
/// No description provided for @addAccountingDocument.
///
/// In en, this message translates to:
/// **'Add Accounting Document'**
String get addAccountingDocument;
/// No description provided for @viewAccountingDocuments.
///
/// In en, this message translates to:
/// **'View Accounting Documents'**
String get viewAccountingDocuments;
/// No description provided for @editAccountingDocuments.
///
/// In en, this message translates to:
/// **'Edit Accounting Documents'**
String get editAccountingDocuments;
/// No description provided for @deleteAccountingDocuments.
///
/// In en, this message translates to:
/// **'Delete Accounting Documents'**
String get deleteAccountingDocuments;
/// No description provided for @manageAccountingDocumentDrafts.
///
/// In en, this message translates to:
/// **'Manage Accounting Document Drafts'**
String get manageAccountingDocumentDrafts;
/// No description provided for @addAccount.
///
/// In en, this message translates to:
/// **'Add Account'**
String get addAccount;
/// No description provided for @viewChartOfAccounts.
///
/// In en, this message translates to:
/// **'View Chart of Accounts'**
String get viewChartOfAccounts;
/// No description provided for @editChartOfAccounts.
///
/// In en, this message translates to:
/// **'Edit Chart of Accounts'**
String get editChartOfAccounts;
/// No description provided for @deleteAccounts.
///
/// In en, this message translates to:
/// **'Delete Accounts'**
String get deleteAccounts;
/// No description provided for @viewOpeningBalance.
///
/// In en, this message translates to:
/// **'View Opening Balance'**
String get viewOpeningBalance;
/// No description provided for @editOpeningBalance.
///
/// In en, this message translates to:
/// **'Edit Opening Balance'**
String get editOpeningBalance;
/// No description provided for @addWarehouse.
///
/// In en, this message translates to:
/// **'Add Warehouse'**
String get addWarehouse;
/// No description provided for @viewWarehouses.
///
/// In en, this message translates to:
/// **'View Warehouses'**
String get viewWarehouses;
/// No description provided for @editWarehouses.
///
/// In en, this message translates to:
/// **'Edit Warehouses'**
String get editWarehouses;
/// No description provided for @deleteWarehouses.
///
/// In en, this message translates to:
/// **'Delete Warehouses'**
String get deleteWarehouses;
/// No description provided for @addWarehouseTransfer.
///
/// In en, this message translates to:
/// **'Add Warehouse Transfer'**
String get addWarehouseTransfer;
/// No description provided for @viewWarehouseTransfers.
///
/// In en, this message translates to:
/// **'View Warehouse Transfers'**
String get viewWarehouseTransfers;
/// No description provided for @editWarehouseTransfers.
///
/// In en, this message translates to:
/// **'Edit Warehouse Transfers'**
String get editWarehouseTransfers;
/// No description provided for @deleteWarehouseTransfers.
///
/// In en, this message translates to:
/// **'Delete Warehouse Transfers'**
String get deleteWarehouseTransfers;
/// No description provided for @manageWarehouseTransferDrafts.
///
/// In en, this message translates to:
/// **'Manage Warehouse Transfer Drafts'**
String get manageWarehouseTransferDrafts;
/// No description provided for @printSettings.
///
/// In en, this message translates to:
/// **'Print Settings'**
String get printSettings;
/// No description provided for @eventHistory.
///
/// In en, this message translates to:
/// **'Event History'**
String get eventHistory;
/// No description provided for @storageSpace.
///
/// In en, this message translates to:
/// **'Storage Space'**
String get storageSpace;
/// No description provided for @viewStorage.
///
/// In en, this message translates to:
/// **'View Storage'**
String get viewStorage;
/// No description provided for @deleteFiles.
///
/// In en, this message translates to:
/// **'Delete Files'**
String get deleteFiles;
/// No description provided for @smsPanel.
///
/// In en, this message translates to:
/// **'SMS Panel'**
String get smsPanel;
/// No description provided for @viewSmsHistory.
///
/// In en, this message translates to:
/// **'View SMS History'**
String get viewSmsHistory;
/// No description provided for @manageSmsTemplates.
///
/// In en, this message translates to:
/// **'Manage SMS Templates'**
String get manageSmsTemplates;
/// No description provided for @marketplace.
///
/// In en, this message translates to:
/// **'Marketplace'**
String get marketplace;
/// No description provided for @viewMarketplace.
///
/// In en, this message translates to:
/// **'View Marketplace'**
String get viewMarketplace;
/// No description provided for @buyPlugins.
///
/// In en, this message translates to:
/// **'Buy Plugins'**
String get buyPlugins;
}
class _AppLocalizationsDelegate

View file

@ -1557,4 +1557,436 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get alreadyAddedWarningTitle => 'Existing User';
@override
String get version => 'Version 1.0.0';
@override
String get motto => 'The world becomes beautiful through cooperation';
@override
String get add => 'Add';
@override
String get view => 'View';
@override
String get draft => 'Manage Drafts';
@override
String get addPerson => 'Add New Person';
@override
String get viewPeople => 'View People List';
@override
String get editPeople => 'Edit People Information';
@override
String get deletePeople => 'Delete People';
@override
String get addReceipt => 'Add New Receipt';
@override
String get viewReceipts => 'View Receipts';
@override
String get editReceipts => 'Edit Receipts';
@override
String get deleteReceipts => 'Delete Receipts';
@override
String get manageReceiptDrafts => 'Manage Receipt Drafts';
@override
String get addPayment => 'Add New Payment';
@override
String get viewPayments => 'View Payments';
@override
String get editPayments => 'Edit Payments';
@override
String get deletePayments => 'Delete Payments';
@override
String get managePaymentDrafts => 'Manage Payment Drafts';
@override
String get products => 'Products and Services';
@override
String get addProduct => 'Add Product or Service';
@override
String get viewProducts => 'View Products and Services';
@override
String get editProducts => 'Edit Products and Services';
@override
String get deleteProducts => 'Delete Products and Services';
@override
String get priceLists => 'Price Lists';
@override
String get addPriceList => 'Add Price List';
@override
String get viewPriceLists => 'View Price Lists';
@override
String get editPriceLists => 'Edit Price Lists';
@override
String get deletePriceLists => 'Delete Price Lists';
@override
String get categories => 'Categories';
@override
String get addCategory => 'Add Category';
@override
String get viewCategories => 'View Categories';
@override
String get editCategories => 'Edit Categories';
@override
String get deleteCategories => 'Delete Categories';
@override
String get addInventory => 'Add Inventory';
@override
String get viewInventory => 'View Inventory';
@override
String get editInventory => 'Edit Inventory';
@override
String get deleteInventory => 'Delete Inventory';
@override
String get viewReports => 'View Reports';
@override
String get generateReports => 'Generate Reports';
@override
String get exportReports => 'Export Reports';
@override
String get viewSettings => 'View Settings';
@override
String get editSettings => 'Edit Settings';
@override
String get users => 'Users';
@override
String get manageUsers => 'Manage Users';
@override
String get print => 'Print Documents';
@override
String get peopleReceipts => 'Receipts from People';
@override
String get peoplePayments => 'Payments to People';
@override
String get storageConfigUpdated => 'Storage configuration updated';
@override
String get storageConfigCreated => 'Storage configuration created';
@override
String get storageConfigDeleted => 'Storage configuration deleted';
@override
String get storageConfigHasFiles =>
'This storage configuration has files and cannot be deleted';
@override
String get storageConfigNotFound => 'Storage configuration not found';
@override
String get storageConfigSetAsDefault => 'Configuration set as default';
@override
String get storageConfigSetDefaultFailed => 'Failed to set as default';
@override
String get passwordChangeError => 'Error changing password';
@override
String get banking => 'Banking';
@override
String get bankAccounts => 'Bank Accounts';
@override
String get cash => 'Cash';
@override
String get pettyCash => 'Petty Cash';
@override
String get checks => 'Checks';
@override
String get wallet => 'Wallet';
@override
String get transfers => 'Transfers';
@override
String get invoices => 'Invoices';
@override
String get expensesIncome => 'Expenses & Income';
@override
String get accountingDocuments => 'Accounting Documents';
@override
String get chartOfAccounts => 'Chart of Accounts';
@override
String get openingBalance => 'Opening Balance';
@override
String get warehouse => 'Warehouse';
@override
String get warehouses => 'Warehouse Management';
@override
String get warehouseTransfers => 'Warehouse Transfers';
@override
String get productAttributes => 'Product Attributes';
@override
String get addAttribute => 'Add Attribute';
@override
String get viewAttributes => 'View Attributes';
@override
String get editAttributes => 'Edit Attributes';
@override
String get deleteAttributes => 'Delete Attributes';
@override
String get addBankAccount => 'Add Bank Account';
@override
String get viewBankAccounts => 'View Bank Accounts';
@override
String get editBankAccounts => 'Edit Bank Accounts';
@override
String get deleteBankAccounts => 'Delete Bank Accounts';
@override
String get addCash => 'Add Cash';
@override
String get viewCash => 'View Cash';
@override
String get editCash => 'Edit Cash';
@override
String get deleteCash => 'Delete Cash';
@override
String get addPettyCash => 'Add Petty Cash';
@override
String get viewPettyCash => 'View Petty Cash';
@override
String get editPettyCash => 'Edit Petty Cash';
@override
String get deletePettyCash => 'Delete Petty Cash';
@override
String get addCheck => 'Add Check';
@override
String get viewChecks => 'View Checks';
@override
String get editChecks => 'Edit Checks';
@override
String get deleteChecks => 'Delete Checks';
@override
String get collectChecks => 'Collect Checks';
@override
String get transferChecks => 'Transfer Checks';
@override
String get returnChecks => 'Return Checks';
@override
String get viewWallet => 'View Wallet';
@override
String get chargeWallet => 'Charge Wallet';
@override
String get addTransfer => 'Add Transfer';
@override
String get viewTransfers => 'View Transfers';
@override
String get editTransfers => 'Edit Transfers';
@override
String get deleteTransfers => 'Delete Transfers';
@override
String get manageTransferDrafts => 'Manage Transfer Drafts';
@override
String get addInvoice => 'Add Invoice';
@override
String get viewInvoices => 'View Invoices';
@override
String get editInvoices => 'Edit Invoices';
@override
String get deleteInvoices => 'Delete Invoices';
@override
String get manageInvoiceDrafts => 'Manage Invoice Drafts';
@override
String get addExpenseIncome => 'Add Expense/Income';
@override
String get viewExpensesIncome => 'View Expenses & Income';
@override
String get editExpensesIncome => 'Edit Expenses & Income';
@override
String get deleteExpensesIncome => 'Delete Expenses & Income';
@override
String get manageExpenseIncomeDrafts => 'Manage Expense/Income Drafts';
@override
String get addAccountingDocument => 'Add Accounting Document';
@override
String get viewAccountingDocuments => 'View Accounting Documents';
@override
String get editAccountingDocuments => 'Edit Accounting Documents';
@override
String get deleteAccountingDocuments => 'Delete Accounting Documents';
@override
String get manageAccountingDocumentDrafts =>
'Manage Accounting Document Drafts';
@override
String get addAccount => 'Add Account';
@override
String get viewChartOfAccounts => 'View Chart of Accounts';
@override
String get editChartOfAccounts => 'Edit Chart of Accounts';
@override
String get deleteAccounts => 'Delete Accounts';
@override
String get viewOpeningBalance => 'View Opening Balance';
@override
String get editOpeningBalance => 'Edit Opening Balance';
@override
String get addWarehouse => 'Add Warehouse';
@override
String get viewWarehouses => 'View Warehouses';
@override
String get editWarehouses => 'Edit Warehouses';
@override
String get deleteWarehouses => 'Delete Warehouses';
@override
String get addWarehouseTransfer => 'Add Warehouse Transfer';
@override
String get viewWarehouseTransfers => 'View Warehouse Transfers';
@override
String get editWarehouseTransfers => 'Edit Warehouse Transfers';
@override
String get deleteWarehouseTransfers => 'Delete Warehouse Transfers';
@override
String get manageWarehouseTransferDrafts =>
'Manage Warehouse Transfer Drafts';
@override
String get printSettings => 'Print Settings';
@override
String get eventHistory => 'Event History';
@override
String get storageSpace => 'Storage Space';
@override
String get viewStorage => 'View Storage';
@override
String get deleteFiles => 'Delete Files';
@override
String get smsPanel => 'SMS Panel';
@override
String get viewSmsHistory => 'View SMS History';
@override
String get manageSmsTemplates => 'Manage SMS Templates';
@override
String get marketplace => 'Marketplace';
@override
String get viewMarketplace => 'View Marketplace';
@override
String get buyPlugins => 'Buy Plugins';
}

View file

@ -1548,4 +1548,434 @@ class AppLocalizationsFa extends AppLocalizations {
@override
String get alreadyAddedWarningTitle => 'کاربر موجود';
@override
String get version => 'نسخه 1.0.0';
@override
String get motto => 'جهان با تعاون زیبا می‌شود';
@override
String get add => 'افزودن';
@override
String get view => 'مشاهده';
@override
String get draft => 'مدیریت پیش‌نویس‌ها';
@override
String get addPerson => 'افزودن شخص جدید';
@override
String get viewPeople => 'مشاهده لیست اشخاص';
@override
String get editPeople => 'ویرایش اطلاعات اشخاص';
@override
String get deletePeople => 'حذف اشخاص';
@override
String get addReceipt => 'افزودن دریافت جدید';
@override
String get viewReceipts => 'مشاهده دریافت‌ها';
@override
String get editReceipts => 'ویرایش دریافت‌ها';
@override
String get deleteReceipts => 'حذف دریافت‌ها';
@override
String get manageReceiptDrafts => 'مدیریت پیش‌نویس‌های دریافت';
@override
String get addPayment => 'افزودن پرداخت جدید';
@override
String get viewPayments => 'مشاهده پرداخت‌ها';
@override
String get editPayments => 'ویرایش پرداخت‌ها';
@override
String get deletePayments => 'حذف پرداخت‌ها';
@override
String get managePaymentDrafts => 'مدیریت پیش‌نویس‌های پرداخت';
@override
String get products => 'کالا‌ها و خدمات';
@override
String get addProduct => 'افزودن کالا یا خدمت';
@override
String get viewProducts => 'مشاهده کالاها و خدمات';
@override
String get editProducts => 'ویرایش کالاها و خدمات';
@override
String get deleteProducts => 'حذف کالاها و خدمات';
@override
String get priceLists => 'لیست‌های قیمت';
@override
String get addPriceList => 'افزودن لیست قیمت';
@override
String get viewPriceLists => 'مشاهده لیست‌های قیمت';
@override
String get editPriceLists => 'ویرایش لیست‌های قیمت';
@override
String get deletePriceLists => 'حذف لیست‌های قیمت';
@override
String get categories => 'دسته‌بندی‌ها';
@override
String get addCategory => 'افزودن دسته‌بندی';
@override
String get viewCategories => 'مشاهده دسته‌بندی‌ها';
@override
String get editCategories => 'ویرایش دسته‌بندی‌ها';
@override
String get deleteCategories => 'حذف دسته‌بندی‌ها';
@override
String get addInventory => 'افزودن موجودی';
@override
String get viewInventory => 'مشاهده موجودی';
@override
String get editInventory => 'ویرایش موجودی';
@override
String get deleteInventory => 'حذف موجودی';
@override
String get viewReports => 'مشاهده گزارش‌ها';
@override
String get generateReports => 'تولید گزارش‌ها';
@override
String get exportReports => 'خروجی گزارش‌ها';
@override
String get viewSettings => 'مشاهده تنظیمات';
@override
String get editSettings => 'ویرایش تنظیمات';
@override
String get users => 'کاربران';
@override
String get manageUsers => 'مدیریت کاربران';
@override
String get print => 'چاپ اسناد';
@override
String get peopleReceipts => 'دریافت از اشخاص';
@override
String get peoplePayments => 'پرداخت به اشخاص';
@override
String get storageConfigUpdated => 'تنظیمات ذخیره‌سازی به‌روزرسانی شد';
@override
String get storageConfigCreated => 'تنظیمات ذخیره‌سازی ایجاد شد';
@override
String get storageConfigDeleted => 'تنظیمات ذخیره‌سازی حذف شد';
@override
String get storageConfigHasFiles =>
'این تنظیمات ذخیره‌سازی دارای فایل است و قابل حذف نیست';
@override
String get storageConfigNotFound => 'تنظیمات ذخیره‌سازی یافت نشد';
@override
String get storageConfigSetAsDefault => 'تنظیمات به عنوان پیش‌فرض تنظیم شد';
@override
String get storageConfigSetDefaultFailed => 'خطا در تنظیم به عنوان پیش‌فرض';
@override
String get passwordChangeError => 'خطا در تغییر کلمه عبور';
@override
String get banking => 'بانکداری';
@override
String get bankAccounts => 'حساب‌های بانکی';
@override
String get cash => 'صندوق';
@override
String get pettyCash => 'تنخواه گردان';
@override
String get checks => 'چک';
@override
String get wallet => 'کیف پول';
@override
String get transfers => 'انتقال';
@override
String get invoices => 'فاکتورها';
@override
String get expensesIncome => 'هزینه و درآمد';
@override
String get accountingDocuments => 'اسناد حسابداری';
@override
String get chartOfAccounts => 'جدول حساب‌ها';
@override
String get openingBalance => 'تراز افتتاحیه';
@override
String get warehouse => 'انبارداری';
@override
String get warehouses => 'مدیریت انبارها';
@override
String get warehouseTransfers => 'صدور حواله';
@override
String get productAttributes => 'ویژگی‌های کالا و خدمات';
@override
String get addAttribute => 'افزودن ویژگی';
@override
String get viewAttributes => 'مشاهده ویژگی‌ها';
@override
String get editAttributes => 'ویرایش ویژگی‌ها';
@override
String get deleteAttributes => 'حذف ویژگی‌ها';
@override
String get addBankAccount => 'افزودن حساب بانکی';
@override
String get viewBankAccounts => 'مشاهده حساب‌های بانکی';
@override
String get editBankAccounts => 'ویرایش حساب‌های بانکی';
@override
String get deleteBankAccounts => 'حذف حساب‌های بانکی';
@override
String get addCash => 'افزودن صندوق';
@override
String get viewCash => 'مشاهده صندوق‌ها';
@override
String get editCash => 'ویرایش صندوق‌ها';
@override
String get deleteCash => 'حذف صندوق‌ها';
@override
String get addPettyCash => 'افزودن تنخواه';
@override
String get viewPettyCash => 'مشاهده تنخواه‌ها';
@override
String get editPettyCash => 'ویرایش تنخواه‌ها';
@override
String get deletePettyCash => 'حذف تنخواه‌ها';
@override
String get addCheck => 'افزودن چک';
@override
String get viewChecks => 'مشاهده چک‌ها';
@override
String get editChecks => 'ویرایش چک‌ها';
@override
String get deleteChecks => 'حذف چک‌ها';
@override
String get collectChecks => 'وصول چک‌ها';
@override
String get transferChecks => 'انتقال چک‌ها';
@override
String get returnChecks => 'برگشت چک‌ها';
@override
String get viewWallet => 'مشاهده کیف پول';
@override
String get chargeWallet => 'شارژ کیف پول';
@override
String get addTransfer => 'افزودن انتقال';
@override
String get viewTransfers => 'مشاهده انتقال‌ها';
@override
String get editTransfers => 'ویرایش انتقال‌ها';
@override
String get deleteTransfers => 'حذف انتقال‌ها';
@override
String get manageTransferDrafts => 'مدیریت پیش‌نویس‌های انتقال';
@override
String get addInvoice => 'افزودن فاکتور';
@override
String get viewInvoices => 'صورت حساب‌ها';
@override
String get editInvoices => 'ویرایش فاکتورها';
@override
String get deleteInvoices => 'حذف فاکتورها';
@override
String get manageInvoiceDrafts => 'مدیریت پیش‌نویس‌های فاکتور';
@override
String get addExpenseIncome => 'افزودن هزینه یا درآمد';
@override
String get viewExpensesIncome => 'مشاهده هزینه‌ها و درآمدها';
@override
String get editExpensesIncome => 'ویرایش هزینه‌ها و درآمدها';
@override
String get deleteExpensesIncome => 'حذف هزینه‌ها و درآمدها';
@override
String get manageExpenseIncomeDrafts => 'مدیریت پیش‌نویس‌های هزینه و درآمد';
@override
String get addAccountingDocument => 'افزودن سند حسابداری';
@override
String get viewAccountingDocuments => 'مشاهده اسناد حسابداری';
@override
String get editAccountingDocuments => 'ویرایش اسناد حسابداری';
@override
String get deleteAccountingDocuments => 'حذف اسناد حسابداری';
@override
String get manageAccountingDocumentDrafts => 'مدیریت پیش‌نویس‌های اسناد';
@override
String get addAccount => 'افزودن حساب';
@override
String get viewChartOfAccounts => 'مشاهده جدول حساب‌ها';
@override
String get editChartOfAccounts => 'ویرایش جدول حساب‌ها';
@override
String get deleteAccounts => 'حذف حساب‌ها';
@override
String get viewOpeningBalance => 'مشاهده تراز افتتاحیه';
@override
String get editOpeningBalance => 'ویرایش تراز افتتاحیه';
@override
String get addWarehouse => 'افزودن انبار';
@override
String get viewWarehouses => 'مشاهده انبارها';
@override
String get editWarehouses => 'ویرایش انبارها';
@override
String get deleteWarehouses => 'حذف انبارها';
@override
String get addWarehouseTransfer => 'افزودن حواله';
@override
String get viewWarehouseTransfers => 'مشاهده حواله‌ها';
@override
String get editWarehouseTransfers => 'ویرایش حواله‌ها';
@override
String get deleteWarehouseTransfers => 'حذف حواله‌ها';
@override
String get manageWarehouseTransferDrafts => 'مدیریت پیش‌نویس‌های حواله';
@override
String get printSettings => 'تنظیمات چاپ اسناد';
@override
String get eventHistory => 'تاریخچه رویدادها';
@override
String get storageSpace => 'فضای ذخیره‌سازی';
@override
String get viewStorage => 'مشاهده فضای ذخیره‌سازی';
@override
String get deleteFiles => 'حذف فایل‌ها';
@override
String get smsPanel => 'پنل پیامک';
@override
String get viewSmsHistory => 'مشاهده تاریخچه پیامک‌ها';
@override
String get manageSmsTemplates => 'مدیریت قالب‌های پیامک';
@override
String get marketplace => 'بازار افزونه‌ها';
@override
String get viewMarketplace => 'مشاهده افزونه‌ها';
@override
String get buyPlugins => 'خرید افزونه‌ها';
}

View file

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_web_plugins/url_strategy.dart';
import 'l10n/app_localizations.dart';
import 'pages/login_page.dart';
import 'pages/profile/profile_shell.dart';
@ -21,7 +22,6 @@ import 'pages/admin/email_settings_page.dart';
import 'pages/business/business_shell.dart';
import 'pages/business/dashboard/business_dashboard_page.dart';
import 'pages/business/users_permissions_page.dart';
import 'package:hesabix_ui/l10n/app_localizations.dart';
import 'core/locale_controller.dart';
import 'core/calendar_controller.dart';
import 'core/api_client.dart';
@ -174,21 +174,47 @@ class _MyAppState extends State<MyApp> {
final isFa = _controller!.locale.languageCode == 'fa';
if (isFa) {
if (_controller == null) {
loadingMessage = 'در حال بارگذاری تنظیمات زبان...';
loadingMessage = 'loadingLanguageSettings';
} else if (_calendarController == null) {
loadingMessage = 'در حال بارگذاری تنظیمات تقویم...';
loadingMessage = 'loadingCalendarSettings';
} else if (_themeController == null) {
loadingMessage = 'در حال بارگذاری تنظیمات تم...';
loadingMessage = 'loadingThemeSettings';
} else if (_authStore == null) {
loadingMessage = 'در حال بارگذاری احراز هویت...';
loadingMessage = 'loadingAuthentication';
} else {
loadingMessage = 'در حال راه‌اندازی...';
loadingMessage = 'initializing';
}
}
}
return Builder(
builder: (context) {
final t = AppLocalizations.of(context);
String localizedMessage = loadingMessage;
// تبدیل کلیدهای ترجمه به متن
switch (loadingMessage) {
case 'loadingLanguageSettings':
localizedMessage = t.loadingLanguageSettings;
break;
case 'loadingCalendarSettings':
localizedMessage = t.loadingCalendarSettings;
break;
case 'loadingThemeSettings':
localizedMessage = t.loadingThemeSettings;
break;
case 'loadingAuthentication':
localizedMessage = t.loadingAuthentication;
break;
case 'initializing':
localizedMessage = t.initializing;
break;
default:
localizedMessage = loadingMessage;
}
return SimpleSplashScreen(
message: loadingMessage,
message: localizedMessage,
showLogo: true,
displayDuration: const Duration(seconds: 1),
locale: _controller?.locale,
@ -200,6 +226,8 @@ class _MyAppState extends State<MyApp> {
},
);
},
);
},
),
],
);

View file

@ -211,7 +211,7 @@ class _BusinessShellState extends State<BusinessShell> {
if (!context.mounted) return;
ScaffoldMessenger.of(context)
..hideCurrentSnackBar()
..showSnackBar(const SnackBar(content: Text('خروج انجام شد')));
..showSnackBar(SnackBar(content: Text(t.logoutDone)));
context.go('/login');
}

View file

@ -64,14 +64,14 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
_loading = false;
_error = e.toString();
});
_showErrorSnackBar('خطا در بارگذاری کاربران: $e');
_showErrorSnackBar('${AppLocalizations.of(context).dataLoadingError}: $e');
}
}
}
Future<void> _addUser() async {
if (_emailOrPhoneController.text.trim().isEmpty) {
_showErrorSnackBar('لطفاً ایمیل یا شماره تلفن را وارد کنید');
_showErrorSnackBar(AppLocalizations.of(context).userEmailOrPhoneHint);
return;
}
@ -103,7 +103,7 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
_showErrorSnackBar(response.message);
}
} catch (e) {
_showErrorSnackBar('خطا در افزودن کاربر: $e');
_showErrorSnackBar('${AppLocalizations.of(context).userAddFailed}: $e');
}
}
@ -124,7 +124,7 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
_showErrorSnackBar(response.message);
}
} catch (e) {
_showErrorSnackBar('خطا در به‌روزرسانی دسترسی‌ها: $e');
_showErrorSnackBar('${AppLocalizations.of(context).permissionsUpdateFailed}: $e');
}
}
@ -165,7 +165,7 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
_showErrorSnackBar(response.message);
}
} catch (e) {
_showErrorSnackBar('خطا در حذف کاربر: $e');
_showErrorSnackBar('${t.userRemoveFailed}: $e');
}
}
@ -309,7 +309,7 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
),
const SizedBox(height: 4),
Text(
'مدیریت کاربران و دسترسی‌های کسب و کار',
t.businessUsers,
style: theme.textTheme.bodyMedium?.copyWith(
color: colorScheme.onSurfaceVariant,
),
@ -324,7 +324,7 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
borderRadius: BorderRadius.circular(20),
),
child: Text(
'${_users.length} کاربر',
'${_users.length} ${t.user}',
style: theme.textTheme.labelMedium?.copyWith(
color: colorScheme.onPrimaryContainer,
fontWeight: FontWeight.w600,
@ -708,7 +708,7 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
),
const SizedBox(width: 4),
Text(
'مالک',
AppLocalizations.of(context).owner,
style: TextStyle(
color: Colors.orange.shade700,
fontSize: 11,
@ -778,7 +778,7 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
),
const SizedBox(height: 4),
Text(
'مدیریت دسترسی‌های کاربر',
t.userPermissions,
style: theme.textTheme.bodyMedium?.copyWith(
color: colorScheme.onPrimaryContainer.withValues(alpha: 0.8),
),
@ -805,40 +805,40 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
children: [
// اشخاص
_buildPermissionSection(
'اشخاص',
t.people,
Icons.people,
[
_buildPermissionGroup(
'اشخاص',
t.people,
[
_buildPermissionItem('افزودن', 'افزودن شخص جدید', _getPermission(currentPermissions, 'people', 'add'), (value) => _setPermission(currentPermissions, 'people', 'add', value), theme, colorScheme),
_buildPermissionItem('مشاهده', 'مشاهده لیست اشخاص', _getPermission(currentPermissions, 'people', 'view'), (value) => _setPermission(currentPermissions, 'people', 'view', value), theme, colorScheme),
_buildPermissionItem('ویرایش', 'ویرایش اطلاعات اشخاص', _getPermission(currentPermissions, 'people', 'edit'), (value) => _setPermission(currentPermissions, 'people', 'edit', value), theme, colorScheme),
_buildPermissionItem('حذف', 'حذف اشخاص', _getPermission(currentPermissions, 'people', 'delete'), (value) => _setPermission(currentPermissions, 'people', 'delete', value), theme, colorScheme),
_buildPermissionItem(t.add, t.addPerson, _getPermission(currentPermissions, 'people', 'add'), (value) => _setPermission(currentPermissions, 'people', 'add', value), theme, colorScheme),
_buildPermissionItem(t.view, t.viewPeople, _getPermission(currentPermissions, 'people', 'view'), (value) => _setPermission(currentPermissions, 'people', 'view', value), theme, colorScheme),
_buildPermissionItem(t.edit, t.editPeople, _getPermission(currentPermissions, 'people', 'edit'), (value) => _setPermission(currentPermissions, 'people', 'edit', value), theme, colorScheme),
_buildPermissionItem(t.delete, t.deletePeople, _getPermission(currentPermissions, 'people', 'delete'), (value) => _setPermission(currentPermissions, 'people', 'delete', value), theme, colorScheme),
],
theme,
colorScheme,
),
_buildPermissionGroup(
'دریافت از اشخاص',
t.peopleReceipts,
[
_buildPermissionItem('افزودن', 'افزودن دریافت جدید', _getPermission(currentPermissions, 'people_receipts', 'add'), (value) => _setPermission(currentPermissions, 'people_receipts', 'add', value), theme, colorScheme),
_buildPermissionItem('مشاهده', 'مشاهده دریافت‌ها', _getPermission(currentPermissions, 'people_receipts', 'view'), (value) => _setPermission(currentPermissions, 'people_receipts', 'view', value), theme, colorScheme),
_buildPermissionItem('ویرایش', 'ویرایش دریافت‌ها', _getPermission(currentPermissions, 'people_receipts', 'edit'), (value) => _setPermission(currentPermissions, 'people_receipts', 'edit', value), theme, colorScheme),
_buildPermissionItem('حذف', 'حذف دریافت‌ها', _getPermission(currentPermissions, 'people_receipts', 'delete'), (value) => _setPermission(currentPermissions, 'people_receipts', 'delete', value), theme, colorScheme),
_buildPermissionItem('مدیریت پیش‌نویس‌ها', 'مدیریت پیش‌نویس‌های دریافت', _getPermission(currentPermissions, 'people_receipts', 'draft'), (value) => _setPermission(currentPermissions, 'people_receipts', 'draft', value), theme, colorScheme),
_buildPermissionItem(t.add, t.addReceipt, _getPermission(currentPermissions, 'people_receipts', 'add'), (value) => _setPermission(currentPermissions, 'people_receipts', 'add', value), theme, colorScheme),
_buildPermissionItem(t.view, t.viewReceipts, _getPermission(currentPermissions, 'people_receipts', 'view'), (value) => _setPermission(currentPermissions, 'people_receipts', 'view', value), theme, colorScheme),
_buildPermissionItem(t.edit, t.editReceipts, _getPermission(currentPermissions, 'people_receipts', 'edit'), (value) => _setPermission(currentPermissions, 'people_receipts', 'edit', value), theme, colorScheme),
_buildPermissionItem(t.delete, t.deleteReceipts, _getPermission(currentPermissions, 'people_receipts', 'delete'), (value) => _setPermission(currentPermissions, 'people_receipts', 'delete', value), theme, colorScheme),
_buildPermissionItem(t.draft, t.manageReceiptDrafts, _getPermission(currentPermissions, 'people_receipts', 'draft'), (value) => _setPermission(currentPermissions, 'people_receipts', 'draft', value), theme, colorScheme),
],
theme,
colorScheme,
),
_buildPermissionGroup(
'پرداخت به اشخاص',
t.peoplePayments,
[
_buildPermissionItem('افزودن', 'افزودن پرداخت جدید', _getPermission(currentPermissions, 'people_payments', 'add'), (value) => _setPermission(currentPermissions, 'people_payments', 'add', value), theme, colorScheme),
_buildPermissionItem('مشاهده', 'مشاهده پرداخت‌ها', _getPermission(currentPermissions, 'people_payments', 'view'), (value) => _setPermission(currentPermissions, 'people_payments', 'view', value), theme, colorScheme),
_buildPermissionItem('ویرایش', 'ویرایش پرداخت‌ها', _getPermission(currentPermissions, 'people_payments', 'edit'), (value) => _setPermission(currentPermissions, 'people_payments', 'edit', value), theme, colorScheme),
_buildPermissionItem('حذف', 'حذف پرداخت‌ها', _getPermission(currentPermissions, 'people_payments', 'delete'), (value) => _setPermission(currentPermissions, 'people_payments', 'delete', value), theme, colorScheme),
_buildPermissionItem('مدیریت پیش‌نویس‌ها', 'مدیریت پیش‌نویس‌های پرداخت', _getPermission(currentPermissions, 'people_payments', 'draft'), (value) => _setPermission(currentPermissions, 'people_payments', 'draft', value), theme, colorScheme),
_buildPermissionItem(t.add, t.addPayment, _getPermission(currentPermissions, 'people_payments', 'add'), (value) => _setPermission(currentPermissions, 'people_payments', 'add', value), theme, colorScheme),
_buildPermissionItem(t.view, t.viewPayments, _getPermission(currentPermissions, 'people_payments', 'view'), (value) => _setPermission(currentPermissions, 'people_payments', 'view', value), theme, colorScheme),
_buildPermissionItem(t.edit, t.editPayments, _getPermission(currentPermissions, 'people_payments', 'edit'), (value) => _setPermission(currentPermissions, 'people_payments', 'edit', value), theme, colorScheme),
_buildPermissionItem(t.delete, t.deletePayments, _getPermission(currentPermissions, 'people_payments', 'delete'), (value) => _setPermission(currentPermissions, 'people_payments', 'delete', value), theme, colorScheme),
_buildPermissionItem(t.draft, t.managePaymentDrafts, _getPermission(currentPermissions, 'people_payments', 'draft'), (value) => _setPermission(currentPermissions, 'people_payments', 'draft', value), theme, colorScheme),
],
theme,
colorScheme,
@ -852,16 +852,16 @@ class _UsersPermissionsPageState extends State<UsersPermissionsPage> {
// کالا و خدمات
_buildPermissionSection(
'کالا و خدمات',
t.products,
Icons.inventory,
[
_buildPermissionGroup(
'کالا‌ها و خدمات',
t.products,
[
_buildPermissionItem('افزودن', 'افزودن کالا یا خدمت', _getPermission(currentPermissions, 'products', 'add'), (value) => _setPermission(currentPermissions, 'products', 'add', value), theme, colorScheme),
_buildPermissionItem('مشاهده', 'مشاهده کالاها و خدمات', _getPermission(currentPermissions, 'products', 'view'), (value) => _setPermission(currentPermissions, 'products', 'view', value), theme, colorScheme),
_buildPermissionItem('ویرایش', 'ویرایش کالاها و خدمات', _getPermission(currentPermissions, 'products', 'edit'), (value) => _setPermission(currentPermissions, 'products', 'edit', value), theme, colorScheme),
_buildPermissionItem('حذف', 'حذف کالاها و خدمات', _getPermission(currentPermissions, 'products', 'delete'), (value) => _setPermission(currentPermissions, 'products', 'delete', value), theme, colorScheme),
_buildPermissionItem(t.add, t.addProduct, _getPermission(currentPermissions, 'products', 'add'), (value) => _setPermission(currentPermissions, 'products', 'add', value), theme, colorScheme),
_buildPermissionItem(t.view, t.viewProducts, _getPermission(currentPermissions, 'products', 'view'), (value) => _setPermission(currentPermissions, 'products', 'view', value), theme, colorScheme),
_buildPermissionItem(t.edit, t.editProducts, _getPermission(currentPermissions, 'products', 'edit'), (value) => _setPermission(currentPermissions, 'products', 'edit', value), theme, colorScheme),
_buildPermissionItem(t.delete, t.deleteProducts, _getPermission(currentPermissions, 'products', 'delete'), (value) => _setPermission(currentPermissions, 'products', 'delete', value), theme, colorScheme),
],
theme,
colorScheme,

View file

@ -46,7 +46,7 @@ class _BusinessesPageState extends State<BusinessesPage> {
_error = e.toString();
});
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('خطا در بارگذاری کسب و کارها: $e')),
SnackBar(content: Text('${AppLocalizations.of(context).dataLoadingError}: $e')),
);
}
}

View file

@ -61,7 +61,7 @@ class _ChangePasswordPageState extends State<ChangePasswordPage> {
} else {
// نمایش پیام خطای دقیق از سرور
final errorData = response.data?['error'];
final errorMessage = errorData?['message'] ?? 'خطا در تغییر کلمه عبور';
final errorMessage = errorData?['message'] ?? AppLocalizations.of(context).changePasswordFailed;
_showError(errorMessage);
}
} catch (e) {

View file

@ -105,7 +105,7 @@ class _ProfileShellState extends State<ProfileShell> {
if (!context.mounted) return;
ScaffoldMessenger.of(context)
..hideCurrentSnackBar()
..showSnackBar(const SnackBar(content: Text('خروج انجام شد')));
..showSnackBar(SnackBar(content: Text(t.logoutDone)));
context.go('/login');
}

View file

@ -130,8 +130,8 @@ class _StorageConfigFormDialogState extends State<StorageConfigFormDialog> {
SnackBar(
content: Text(
widget.config != null
? 'تنظیمات ذخیره‌سازی به‌روزرسانی شد'
: 'تنظیمات ذخیره‌سازی ایجاد شد',
? AppLocalizations.of(context).emailConfigUpdatedSuccessfully
: AppLocalizations.of(context).emailConfigSavedSuccessfully,
),
backgroundColor: Colors.green,
),
@ -144,7 +144,7 @@ class _StorageConfigFormDialogState extends State<StorageConfigFormDialog> {
if (mounted) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('خطا در ذخیره تنظیمات: $e'),
content: Text('${AppLocalizations.of(context).error}: $e'),
backgroundColor: Colors.red,
),
);

View file

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:hesabix_ui/widgets/admin/file_storage/storage_config_form_dialog.dart';
import 'package:hesabix_ui/widgets/admin/file_storage/storage_config_card.dart';
import '../../../core/api_client.dart';
import '../../../l10n/app_localizations.dart';
class StorageConfigListWidget extends StatefulWidget {
final VoidCallback? onRefresh;
@ -132,15 +133,15 @@ class StorageConfigListWidgetState extends State<StorageConfigListWidget> {
throw Exception(errorMessage);
}
} catch (e) {
String errorMessage = 'خطا در حذف تنظیمات';
String errorMessage = AppLocalizations.of(context).error;
// بررسی نوع خطا
if (e.toString().contains('STORAGE_CONFIG_HAS_FILES')) {
errorMessage = 'این تنظیمات ذخیره‌سازی دارای فایل است و قابل حذف نیست';
errorMessage = AppLocalizations.of(context).cannotDeleteDefault;
} else if (e.toString().contains('STORAGE_CONFIG_NOT_FOUND')) {
errorMessage = 'تنظیمات ذخیره‌سازی یافت نشد';
errorMessage = AppLocalizations.of(context).noEmailConfigurations;
} else if (e.toString().contains('FORBIDDEN')) {
errorMessage = 'دسترسی غیرمجاز';
errorMessage = AppLocalizations.of(context).accessDenied;
} else {
errorMessage = e.toString().replaceFirst('Exception: ', '');
}
@ -166,7 +167,7 @@ class StorageConfigListWidgetState extends State<StorageConfigListWidget> {
if (response.data != null && response.data['success'] == true) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('تنظیمات به عنوان پیش‌فرض تنظیم شد'),
content: Text(AppLocalizations.of(context).defaultSetSuccessfully),
backgroundColor: Colors.green,
),
);
@ -174,13 +175,13 @@ class StorageConfigListWidgetState extends State<StorageConfigListWidget> {
// Refresh the list
loadStorageConfigs();
} else {
throw Exception(response.data?['message'] ?? 'خطا در تنظیم به عنوان پیش‌فرض');
throw Exception(response.data?['message'] ?? AppLocalizations.of(context).defaultSetFailed);
}
} catch (e) {
if (!mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('خطا در تنظیم به عنوان پیش‌فرض: $e'),
content: Text('${AppLocalizations.of(context).defaultSetFailed}: $e'),
backgroundColor: Colors.red,
),
);

View file

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'dart:async';
import '../core/auth_store.dart';
import '../l10n/app_localizations.dart';
class SimpleSplashScreen extends StatefulWidget {
final String? message;
@ -124,33 +125,25 @@ class _SimpleSplashScreenState extends State<SimpleSplashScreen>
super.dispose();
}
String _getAppName() {
if (widget.locale != null && widget.locale!.languageCode == 'fa') {
return 'حسابیکس';
}
return 'Hesabix';
String _getAppName(BuildContext context) {
final t = AppLocalizations.of(context);
return t.appTitle;
}
String _getLoadingMessage() {
if (widget.locale != null && widget.locale!.languageCode == 'fa') {
return 'در حال بارگذاری...';
}
return 'Loading...';
String _getLoadingMessage(BuildContext context) {
final t = AppLocalizations.of(context);
return t.loading;
}
String _getVersionInfo() {
if (widget.locale != null && widget.locale!.languageCode == 'fa') {
return 'نسخه 1.0.0';
}
return 'Version 1.0.0';
String _getVersionInfo(BuildContext context) {
final t = AppLocalizations.of(context);
return t.version;
}
String _getMotto() {
if (widget.locale != null && widget.locale!.languageCode == 'fa') {
return 'جهان با تعاون زیبا می‌شود';
}
return 'The world becomes beautiful through cooperation';
String _getMotto(BuildContext context) {
final t = AppLocalizations.of(context);
return t.motto;
}
@override
@ -234,7 +227,7 @@ class _SimpleSplashScreenState extends State<SimpleSplashScreen>
// App Name - Simple and Clean
Text(
_getAppName(),
_getAppName(context),
style: theme.textTheme.headlineLarge?.copyWith(
fontWeight: FontWeight.bold,
color: colorScheme.onSurface,
@ -247,7 +240,7 @@ class _SimpleSplashScreenState extends State<SimpleSplashScreen>
Padding(
padding: const EdgeInsets.symmetric(horizontal: 32),
child: Text(
_getMotto(),
_getMotto(context),
style: theme.textTheme.bodyLarge?.copyWith(
color: colorScheme.onSurfaceVariant,
fontWeight: FontWeight.w400,
@ -275,7 +268,7 @@ class _SimpleSplashScreenState extends State<SimpleSplashScreen>
// Simple Loading Message
Text(
widget.message ?? _getLoadingMessage(),
widget.message ?? _getLoadingMessage(context),
style: theme.textTheme.bodyMedium?.copyWith(
color: colorScheme.onSurfaceVariant,
fontWeight: FontWeight.w500,
@ -288,7 +281,7 @@ class _SimpleSplashScreenState extends State<SimpleSplashScreen>
// Simple Version Info
Text(
_getVersionInfo(),
_getVersionInfo(context),
style: theme.textTheme.bodySmall?.copyWith(
color: colorScheme.onSurfaceVariant.withValues(alpha: 0.6),
),