From efa0ab23f1a7e8dd60c93eae9be2b9b86f378746 Mon Sep 17 00:00:00 2001 From: Christos Yiakoumettis Date: Sun, 6 Jul 2025 12:30:34 +0300 Subject: [PATCH] add expense number at expenses --- app/Http/Requests/ExpenseRequest.php | 5 + .../Resources/Customer/ExpenseResource.php | 1 + app/Http/Resources/ExpenseResource.php | 1 + ...5_add_expense_number_to_expenses_table.php | 30 + lang/ar.json | 2 + lang/bg.json | 3264 +++++++++-------- lang/cs.json | 2 + lang/de.json | 2 + lang/el.json | 2 + lang/en.json | 2 + lang/es.json | 2 + lang/fa.json | 2 + lang/fi.json | 2 + lang/fr.json | 2 + lang/hi.json | 2 + lang/hr.json | 2 + lang/id.json | 2 + lang/it.json | 2 + lang/ja.json | 2 + lang/ko.json | 2 + lang/lt.json | 2 + lang/lv.json | 2 + lang/mk.json | 2 + lang/nl.json | 2 + lang/pl.json | 2 + lang/pt-br.json | 2 + lang/pt.json | 2 + lang/ro.json | 2 + lang/ru.json | 2 + lang/sk.json | 2 + lang/sl.json | 2 + lang/sr.json | 2 + lang/sv.json | 2 + lang/th.json | 2 + lang/tr.json | 2 + lang/uk.json | 2 + lang/vi.json | 2 + lang/zh.json | 2 + resources/scripts/admin/stub/expense.js | 1 + .../scripts/admin/views/expenses/Create.vue | 18 +- .../scripts/admin/views/expenses/Index.vue | 10 + 41 files changed, 1765 insertions(+), 1631 deletions(-) create mode 100644 database/migrations/2025_01_05_add_expense_number_to_expenses_table.php diff --git a/app/Http/Requests/ExpenseRequest.php b/app/Http/Requests/ExpenseRequest.php index 1ea65d13..77829784 100644 --- a/app/Http/Requests/ExpenseRequest.php +++ b/app/Http/Requests/ExpenseRequest.php @@ -26,6 +26,11 @@ class ExpenseRequest extends FormRequest 'expense_date' => [ 'required', ], + 'expense_number' => [ + 'nullable', + 'string', + 'max:255', + ], 'expense_category_id' => [ 'required', ], diff --git a/app/Http/Resources/Customer/ExpenseResource.php b/app/Http/Resources/Customer/ExpenseResource.php index 865877d3..a121aebd 100644 --- a/app/Http/Resources/Customer/ExpenseResource.php +++ b/app/Http/Resources/Customer/ExpenseResource.php @@ -16,6 +16,7 @@ class ExpenseResource extends JsonResource return [ 'id' => $this->id, 'expense_date' => $this->expense_date, + 'expense_number' => $this->expense_number, 'amount' => $this->amount, 'notes' => $this->notes, 'customer_id' => $this->customer_id, diff --git a/app/Http/Resources/ExpenseResource.php b/app/Http/Resources/ExpenseResource.php index 3119fa2a..f251b9bb 100644 --- a/app/Http/Resources/ExpenseResource.php +++ b/app/Http/Resources/ExpenseResource.php @@ -16,6 +16,7 @@ class ExpenseResource extends JsonResource return [ 'id' => $this->id, 'expense_date' => $this->expense_date, + 'expense_number' => $this->expense_number, 'amount' => $this->amount, 'notes' => $this->notes, 'customer_id' => $this->customer_id, diff --git a/database/migrations/2025_01_05_add_expense_number_to_expenses_table.php b/database/migrations/2025_01_05_add_expense_number_to_expenses_table.php new file mode 100644 index 00000000..7cddcdd2 --- /dev/null +++ b/database/migrations/2025_01_05_add_expense_number_to_expenses_table.php @@ -0,0 +1,30 @@ +string('expense_number')->nullable()->after('expense_date'); + $table->index('expense_number'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('expenses', function (Blueprint $table) { + $table->dropIndex(['expense_number']); + $table->dropColumn('expense_number'); + }); + } +}; \ No newline at end of file diff --git a/lang/ar.json b/lang/ar.json index 16c3f095..d1f16bf7 100644 --- a/lang/ar.json +++ b/lang/ar.json @@ -649,6 +649,8 @@ "from_date": "من تاريخ", "to_date": "حتى تاريخ", "expense_date": "التاريخ", + "expense_number": "رقم المصروفات", + "expense_number_placeholder": "EXP-001", "description": "الوصف", "receipt": "سند القبض", "amount": "المبلغ المطلوب", diff --git a/lang/bg.json b/lang/bg.json index 92445c8d..5a5fc5a2 100644 --- a/lang/bg.json +++ b/lang/bg.json @@ -1,1650 +1,1654 @@ { - "navigation": { - "dashboard": "Dashboard", - "customers": "Customers", - "items": "Items", - "invoices": "Invoices", - "recurring-invoices": "Recurring Invoices", - "expenses": "Expenses", - "estimates": "Estimates", - "payments": "Payments", - "reports": "Reports", - "settings": "Settings", - "logout": "Logout", - "users": "Users", - "modules": "Modules" - }, - "general": { - "add_company": "Add Company", - "view_pdf": "View PDF", - "copy_pdf_url": "Copy PDF Url", - "download_pdf": "Download PDF", - "save": "Save", - "create": "Create", - "cancel": "Cancel", - "update": "Update", - "deselect": "Deselect", - "download": "Download", - "from_date": "From Date", - "to_date": "To Date", - "from": "From", - "to": "To", - "ok": "Ok", - "yes": "Yes", - "no": "No", - "sort_by": "Sort By", - "ascending": "Ascending", - "descending": "Descending", - "subject": "Subject", - "body": "Body", - "message": "Message", - "send": "Send", - "preview": "Preview", - "go_back": "Go Back", - "back_to_login": "Back to Login?", - "home": "Home", - "filter": "Filter", - "delete": "Delete", - "edit": "Edit", - "view": "View", - "add_new_item": "Add New Item", - "clear_all": "Clear All", - "showing": "Showing", - "of": "of", - "actions": "Actions", - "subtotal": "SUBTOTAL", - "discount": "DISCOUNT", - "fixed": "Fixed", - "percentage": "Percentage", - "tax": "TAX", - "total_amount": "TOTAL AMOUNT", - "bill_to": "Bill to", - "ship_to": "Ship to", - "due": "Due", - "draft": "Draft", - "sent": "Sent", - "all": "All", - "select_all": "Select All", - "select_template": "Select Template", - "choose_file": "Click here to choose a file", - "choose_template": "Choose a template", - "choose": "Choose", - "remove": "Remove", - "select_a_status": "Select a status", - "select_a_tax": "Select a tax", - "search": "Search", - "are_you_sure": "Are you sure?", - "list_is_empty": "List is empty.", - "no_tax_found": "No tax found!", - "four_zero_four": "404", - "you_got_lost": "Whoops! You got Lost!", - "go_home": "Go Home", - "test_mail_conf": "Test Mail Configuration", - "send_mail_successfully": "Mail sent successfully", - "setting_updated": "Setting updated successfully", - "select_state": "Select state", - "select_country": "Select Country", - "select_city": "Select City", - "street_1": "Street 1", - "street_2": "Street 2", - "action_failed": "Action Failed", - "retry": "Retry", - "choose_note": "Choose Note", - "no_note_found": "No Note Found", - "insert_note": "Insert Note", - "copied_pdf_url_clipboard": "Copied PDF url to clipboard!", - "copied_url_clipboard": "Copied url to clipboard!", - "docs": "Docs", - "do_you_wish_to_continue": "Do you wish to continue?", - "note": "Note", - "pay_invoice": "Pay Invoice", - "login_successfully": "Logged in successfully!", - "logged_out_successfully": "Logged out successfully", - "mark_as_default": "Mark as default", - "no_data_found": "No data found", - "pagination": { - "previous": "Previous", - "next": "Next", - "showing": "Showing", - "to": "to", - "of": "of", - "results": "results" + "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:", + "company_switcher": { + "add_new_company": "Add new company", + "created_message": "Company created successfully", + "label": "SWITCH COMPANY", + "new_company": "New company", + "no_results_found": "No Results Found" }, - "file_upload": { - "drag_a_file": "Drag a file here or", - "browse": "browse", - "to_choose": "to choose a file" + "customers": { + "action": "Action", + "add_customer": "Add Customer", + "add_new_customer": "Add New Customer", + "added_on": "Added On", + "address": "Address", + "address_updated_message": "Address Information Updated succesfully", + "amount_due": "Amount Due", + "basic_info": "Basic Info", + "billing_address": "Billing Address", + "city": "City", + "confirm_delete": "You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.", + "confirm_password": "Confirm Password", + "contact_name": "Contact Name", + "contacts_list": "Customer List", + "copy_billing_address": "Copy from Billing", + "country": "Country", + "create_date": "Create Date", + "created_message": "Customer created successfully", + "customer": "Customer | Customers", + "deleted_message": "Customer deleted successfully | Customers deleted successfully", + "description": "Description", + "display_name": "Display Name", + "edit_currency_not_allowed": "Cannot change currency once transactions created.", + "edit_customer": "Edit Customer", + "email": "Email", + "enable_portal": "Enable Portal", + "estimate_prefix": "Estimate Prefix", + "invoice_prefix": "Invoice Prefix", + "list_of_customers": "This section will contain the list of customers.", + "mail": "Mail | Mails", + "name": "Name", + "new_customer": "New Customer", + "new_transaction": "New Transaction", + "no_contact": "No contact", + "no_contact_name": "No contact name", + "no_customers": "No customers yet!", + "no_customers_found": "No customers found!", + "no_matching_customers": "There are no matching customers!", + "overview": "Overview", + "password": "Password", + "payment_prefix": "Payment Prefix", + "phone": "Phone", + "phone_number": "Phone Number", + "portal_access": "Portal Access", + "portal_access_text": "Would you like to allow this customer to login to the Customer Portal?", + "portal_access_url": "Customer Portal Login URL", + "portal_access_url_help": "Please copy & forward the above given URL to your customer for providing access.", + "prefix": "Prefix", + "primary_contact_name": "Primary Contact Name", + "primary_currency": "Primary Currency", + "primary_display_name": "Primary Display Name", + "save_customer": "Save Customer", + "select_a_customer": "Select a customer", + "select_currency": "Select currency", + "shipping_address": "Shipping Address", + "state": "State", + "statement": "Statement", + "street_number": "Street Number", + "tax_id": "Tax ID", + "title": "Customers", + "type_or_click": "Type or click to select", + "update_customer": "Update Customer", + "updated_message": "Customer updated successfully", + "website": "Website", + "zip_code": "Zip Code" }, - "multiselect": { - "the_list_is_empty": "The list is empty", - "no_results_found": "No results found" + "dashboard": { + "cards": { + "customers": "Customer | Customers", + "due_amount": "Amount Due", + "estimates": "Estimate | Estimates", + "invoices": "Invoice | Invoices", + "payments": "Payment | Payments" + }, + "chart_info": { + "net_income": "Net Income", + "total_expense": "Expenses", + "total_receipts": "Receipts", + "total_sales": "Sales", + "year": "Select year" + }, + "monthly_chart": { + "title": "Sales & Expenses" + }, + "recent_estimate_card": { + "actions": "Actions", + "amount_due": "Amount Due", + "customer": "Customer", + "date": "Date", + "title": "Recent Estimates", + "view_all": "View All" + }, + "recent_invoices_card": { + "actions": "Actions", + "amount_due": "Amount Due", + "customer": "Customer", + "due_on": "Due On", + "title": "Due Invoices", + "view_all": "View All" + }, + "select_year": "Select year" }, - "copy_to_clipboard": "Copy to Clipboard" - }, - "dashboard": { - "select_year": "Select year", - "cards": { - "due_amount": "Amount Due", - "customers": "Customer | Customers", - "invoices": "Invoice | Invoices", - "estimates": "Estimate | Estimates", - "payments": "Payment | Payments" - }, - "chart_info": { - "total_sales": "Sales", - "total_receipts": "Receipts", - "total_expense": "Expenses", - "net_income": "Net Income", - "year": "Select year" - }, - "monthly_chart": { - "title": "Sales & Expenses" - }, - "recent_invoices_card": { - "title": "Due Invoices", - "due_on": "Due On", - "customer": "Customer", - "amount_due": "Amount Due", - "actions": "Actions", - "view_all": "View All" - }, - "recent_estimate_card": { - "title": "Recent Estimates", - "date": "Date", - "customer": "Customer", - "amount_due": "Amount Due", - "actions": "Actions", - "view_all": "View All" - } - }, - "tax_types": { - "name": "Name", - "description": "Description", - "percent": "Percent", - "compound_tax": "Compound Tax" - }, - "global_search": { - "search": "Search...", - "customers": "Customers", - "users": "Users", - "no_results_found": "No Results Found" - }, - "company_switcher": { - "label": "SWITCH COMPANY", - "no_results_found": "No Results Found", - "add_new_company": "Add new company", - "new_company": "New company", - "created_message": "Company created successfully" - }, - "dateRange": { - "today": "Today", - "this_week": "This Week", - "this_month": "This Month", - "this_quarter": "This Quarter", - "this_year": "This Year", - "previous_week": "Previous Week", - "previous_month": "Previous Month", - "previous_quarter": "Previous Quarter", - "previous_year": "Previous Year", - "custom": "Custom" - }, - "customers": { - "title": "Customers", - "prefix": "Prefix", - "tax_id": "Tax ID", - "add_customer": "Add Customer", - "contacts_list": "Customer List", - "name": "Name", - "mail": "Mail | Mails", - "statement": "Statement", - "display_name": "Display Name", - "primary_contact_name": "Primary Contact Name", - "contact_name": "Contact Name", - "amount_due": "Amount Due", - "email": "Email", - "address": "Address", - "phone": "Phone", - "website": "Website", - "overview": "Overview", - "invoice_prefix": "Invoice Prefix", - "estimate_prefix": "Estimate Prefix", - "payment_prefix": "Payment Prefix", - "enable_portal": "Enable Portal", - "country": "Country", - "state": "State", - "city": "City", - "zip_code": "Zip Code", - "added_on": "Added On", - "action": "Action", - "password": "Password", - "confirm_password": "Confirm Password", - "street_number": "Street Number", - "primary_currency": "Primary Currency", - "description": "Description", - "add_new_customer": "Add New Customer", - "save_customer": "Save Customer", - "update_customer": "Update Customer", - "customer": "Customer | Customers", - "new_customer": "New Customer", - "edit_customer": "Edit Customer", - "basic_info": "Basic Info", - "portal_access": "Portal Access", - "portal_access_text": "Would you like to allow this customer to login to the Customer Portal?", - "portal_access_url": "Customer Portal Login URL", - "portal_access_url_help": "Please copy & forward the above given URL to your customer for providing access.", - "billing_address": "Billing Address", - "shipping_address": "Shipping Address", - "copy_billing_address": "Copy from Billing", - "no_customers": "No customers yet!", - "no_customers_found": "No customers found!", - "no_contact": "No contact", - "no_contact_name": "No contact name", - "list_of_customers": "This section will contain the list of customers.", - "primary_display_name": "Primary Display Name", - "select_currency": "Select currency", - "select_a_customer": "Select a customer", - "type_or_click": "Type or click to select", - "new_transaction": "New Transaction", - "no_matching_customers": "There are no matching customers!", - "phone_number": "Phone Number", - "create_date": "Create Date", - "confirm_delete": "You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.", - "created_message": "Customer created successfully", - "updated_message": "Customer updated successfully", - "address_updated_message": "Address Information Updated succesfully", - "deleted_message": "Customer deleted successfully | Customers deleted successfully", - "edit_currency_not_allowed": "Cannot change currency once transactions created." - }, - "items": { - "title": "Items", - "items_list": "Items List", - "name": "Name", - "unit": "Unit", - "description": "Description", - "added_on": "Added On", - "price": "Price", - "date_of_creation": "Date Of Creation", - "not_selected": "No item selected", - "action": "Action", - "add_item": "Add Item", - "save_item": "Save Item", - "update_item": "Update Item", - "item": "Item | Items", - "add_new_item": "Add New Item", - "new_item": "New Item", - "edit_item": "Edit Item", - "no_items": "No items yet!", - "list_of_items": "This section will contain the list of items.", - "select_a_unit": "select unit", - "taxes": "Taxes", - "item_attached_message": "Cannot delete an item which is already in use", - "confirm_delete": "You will not be able to recover this Item | You will not be able to recover these Items", - "created_message": "Item created successfully", - "updated_message": "Item updated successfully", - "deleted_message": "Item deleted successfully | Items deleted successfully" - }, - "estimates": { - "title": "Estimates", - "accept_estimate": "Accept Estimate", - "reject_estimate": "Reject Estimate", - "estimate": "Estimate | Estimates", - "estimates_list": "Estimates List", - "days": "{days} Days", - "months": "{months} Month", - "years": "{years} Year", - "all": "All", - "paid": "Paid", - "unpaid": "Unpaid", - "customer": "CUSTOMER", - "ref_no": "REF NO.", - "number": "NUMBER", - "amount_due": "AMOUNT DUE", - "partially_paid": "Partially Paid", - "total": "Total", - "discount": "Discount", - "sub_total": "Sub Total", - "estimate_number": "Estimate Number", - "ref_number": "Ref Number", - "contact": "Contact", - "add_item": "Add an Item", - "date": "Date", - "due_date": "Due Date", - "expiry_date": "Expiry Date", - "status": "Status", - "add_tax": "Add Tax", - "amount": "Amount", - "action": "Action", - "notes": "Notes", - "tax": "Tax", - "estimate_template": "Template", - "convert_to_invoice": "Convert to Invoice", - "mark_as_sent": "Mark as Sent", - "send_estimate": "Send Estimate", - "resend_estimate": "Resend Estimate", - "record_payment": "Record Payment", - "add_estimate": "Add Estimate", - "save_estimate": "Save Estimate", - "cloned_successfully": "Estimate cloned successfully", - "clone_estimate": "Clone Estimate", - "confirm_clone": "This Estimate will be cloned into a new Estimate", - "confirm_conversion": "This estimate will be used to create a new Invoice.", - "conversion_message": "Invoice created successful", - "confirm_send_estimate": "This estimate will be sent via email to the customer", - "confirm_mark_as_sent": "This estimate will be marked as sent", - "confirm_mark_as_accepted": "This estimate will be marked as Accepted", - "confirm_mark_as_rejected": "This estimate will be marked as Rejected", - "no_matching_estimates": "There are no matching estimates!", - "mark_as_sent_successfully": "Estimate marked as sent successfully", - "send_estimate_successfully": "Estimate sent successfully", - "errors": { - "required": "Field is required" - }, - "accepted": "Accepted", - "rejected": "Rejected", - "expired": "Expired", - "sent": "Sent", - "draft": "Draft", - "viewed": "Viewed", - "declined": "Declined", - "new_estimate": "New Estimate", - "add_new_estimate": "Add New Estimate", - "update_Estimate": "Update Estimate", - "edit_estimate": "Edit Estimate", - "items": "items", - "Estimate": "Estimate | Estimates", - "add_new_tax": "Add New Tax", - "no_estimates": "No estimates yet!", - "list_of_estimates": "This section will contain the list of estimates.", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", - "marked_as_accepted_message": "Estimate marked as accepted", - "marked_as_rejected_message": "Estimate marked as rejected", - "confirm_delete": "You will not be able to recover this Estimate | You will not be able to recover these Estimates", - "created_message": "Estimate created successfully", - "updated_message": "Estimate updated successfully", - "deleted_message": "Estimate deleted successfully | Estimates deleted successfully", - "something_went_wrong": "something went wrong", - "item": { - "title": "Item Title", - "description": "Description", - "quantity": "Quantity", - "price": "Price", - "discount": "Discount", - "total": "Total", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" - }, - "mark_as_default_estimate_template_description": "If enabled, the selected template will be automatically selected for new estimates." - }, - "invoices": { - "title": "Invoices", - "download": "Download", - "pay_invoice": "Pay Invoice", - "invoices_list": "Invoices List", - "invoice_information": "Invoice Information", - "days": "{days} Days", - "months": "{months} Month", - "years": "{years} Year", - "all": "All", - "paid": "Paid", - "unpaid": "Unpaid", - "viewed": "Viewed", - "overdue": "Overdue", - "completed": "Completed", - "customer": "CUSTOMER", - "paid_status": "PAID STATUS", - "ref_no": "REF NO.", - "number": "NUMBER", - "amount_due": "AMOUNT DUE", - "partially_paid": "Partially Paid", - "total": "Total", - "discount": "Discount", - "sub_total": "Sub Total", - "invoice": "Invoice | Invoices", - "invoice_number": "Invoice Number", - "ref_number": "Ref Number", - "contact": "Contact", - "add_item": "Add an Item", - "date": "Date", - "due_date": "Due Date", - "status": "Status", - "add_tax": "Add Tax", - "amount": "Amount", - "action": "Action", - "notes": "Notes", - "view": "View", - "send_invoice": "Send Invoice", - "resend_invoice": "Resend Invoice", - "invoice_template": "Invoice Template", - "conversion_message": "Invoice cloned successful", - "template": "Select Template", - "mark_as_sent": "Mark as sent", - "confirm_send_invoice": "This invoice will be sent via email to the customer", - "invoice_mark_as_sent": "This invoice will be marked as sent", - "confirm_mark_as_accepted": "This invoice will be marked as Accepted", - "confirm_mark_as_rejected": "This invoice will be marked as Rejected", - "confirm_send": "This invoice will be sent via email to the customer", - "invoice_date": "Invoice Date", - "record_payment": "Record Payment", - "add_new_invoice": "Add New Invoice", - "update_expense": "Update Expense", - "edit_invoice": "Edit Invoice", - "new_invoice": "New Invoice", - "save_invoice": "Save Invoice", - "update_invoice": "Update Invoice", - "add_new_tax": "Add New Tax", - "no_invoices": "No Invoices yet!", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", - "list_of_invoices": "This section will contain the list of invoices.", - "select_invoice": "Select Invoice", - "no_matching_invoices": "There are no matching invoices!", - "mark_as_sent_successfully": "Invoice marked as sent successfully", - "invoice_sent_successfully": "Invoice sent successfully", - "cloned_successfully": "Invoice cloned successfully", - "clone_invoice": "Clone Invoice", - "confirm_clone": "This invoice will be cloned into a new Invoice", - "item": { - "title": "Item Title", - "description": "Description", - "quantity": "Quantity", - "price": "Price", - "discount": "Discount", - "total": "Total", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" - }, - "payment_attached_message": "One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal", - "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", - "created_message": "Invoice created successfully", - "updated_message": "Invoice updated successfully", - "deleted_message": "Invoice deleted successfully | Invoices deleted successfully", - "marked_as_sent_message": "Invoice marked as sent successfully", - "something_went_wrong": "something went wrong", - "invalid_due_amount_message": "Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.", - "mark_as_default_invoice_template_description": "If enabled, the selected template will be automatically selected for new invoices." - }, - "recurring_invoices": { - "title": "Recurring Invoices", - "invoices_list": "Recurring Invoices List", - "days": "{days} Days", - "months": "{months} Month", - "years": "{years} Year", - "all": "All", - "paid": "Paid", - "unpaid": "Unpaid", - "viewed": "Viewed", - "overdue": "Overdue", - "active": "Active", - "completed": "Completed", - "customer": "CUSTOMER", - "paid_status": "PAID STATUS", - "ref_no": "REF NO.", - "number": "NUMBER", - "amount_due": "AMOUNT DUE", - "partially_paid": "Partially Paid", - "total": "Total", - "discount": "Discount", - "sub_total": "Sub Total", - "invoice": "Recurring Invoice | Recurring Invoices", - "invoice_number": "Recurring Invoice Number", - "next_invoice_date": "Next Invoice Date", - "ref_number": "Ref Number", - "contact": "Contact", - "add_item": "Add an Item", - "date": "Date", - "limit_by": "Limit by", - "limit_date": "Limit Date", - "limit_count": "Limit Count", - "count": "Count", - "status": "Status", - "select_a_status": "Select a status", - "working": "Working", - "on_hold": "On Hold", - "complete": "Completed", - "add_tax": "Add Tax", - "amount": "Amount", - "action": "Action", - "notes": "Notes", - "view": "View", - "basic_info": "Basic Info", - "send_invoice": "Send Recurring Invoice", - "auto_send": "Auto Send", - "resend_invoice": "Resend Recurring Invoice", - "invoice_template": "Recurring Invoice Template", - "conversion_message": "Recurring Invoice cloned successful", - "template": "Template", - "mark_as_sent": "Mark as sent", - "confirm_send_invoice": "This recurring invoice will be sent via email to the customer", - "invoice_mark_as_sent": "This recurring invoice will be marked as sent", - "confirm_send": "This recurring invoice will be sent via email to the customer", - "starts_at": "Start Date", - "due_date": "Invoice Due Date", - "record_payment": "Record Payment", - "add_new_invoice": "Add New Recurring Invoice", - "update_expense": "Update Expense", - "edit_invoice": "Edit Recurring Invoice", - "new_invoice": "New Recurring Invoice", - "send_automatically": "Send Automatically", - "send_automatically_desc": "Enable this, if you would like to send the invoice automatically to the customer when its created.", - "save_invoice": "Save Recurring Invoice", - "update_invoice": "Update Recurring Invoice", - "add_new_tax": "Add New Tax", - "no_invoices": "No Recurring Invoices yet!", - "mark_as_rejected": "Mark as rejected", - "mark_as_accepted": "Mark as accepted", - "list_of_invoices": "This section will contain the list of recurring invoices.", - "select_invoice": "Select Invoice", - "no_matching_invoices": "There are no matching recurring invoices!", - "mark_as_sent_successfully": "Recurring Invoice marked as sent successfully", - "invoice_sent_successfully": "Recurring Invoice sent successfully", - "cloned_successfully": "Recurring Invoice cloned successfully", - "clone_invoice": "Clone Recurring Invoice", - "confirm_clone": "This recurring invoice will be cloned into a new Recurring Invoice", - "add_customer_email": "Please add an email address for this customer to send invoices automatically.", - "item": { - "title": "Item Title", - "description": "Description", - "quantity": "Quantity", - "price": "Price", - "discount": "Discount", - "total": "Total", - "total_discount": "Total Discount", - "sub_total": "Sub Total", - "tax": "Tax", - "amount": "Amount", - "select_an_item": "Type or click to select an item", - "type_item_description": "Type Item Description (optional)" - }, - "frequency": { - "title": "Frequency (using cron format)", - "select_frequency": "Select Frequency", - "minute": "Minute", - "hour": "Hour", - "day_month": "Day of month", - "month": "Month", - "day_week": "Day of week", - "every_minute": "Every Minute", - "every_30_minute": "Every 30 Minute", - "every_hour": "Every Hour", - "every_2_hour": "Every 2 Hour", - "every_day_at_midnight": "Every day at midnight", - "every_week": "Every Week", - "every_15_days_at_midnight": "Every 15 days at midnight", - "on_the_first_day_of_every_month_at_midnight": "On the first day of every month at 00:00", - "every_6_month": "Every 6 Month", - "every_year_on_the_first_day_of_january_at_midnight": "Every year on the first day of january at 00:00", - "custom": "Custom" - }, - "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", - "created_message": "Recurring Invoice created successfully", - "updated_message": "Recurring Invoice updated successfully", - "deleted_message": "Recurring Invoice deleted successfully | Recurring Invoices deleted successfully", - "marked_as_sent_message": "Recurring Invoice marked as sent successfully", - "user_email_does_not_exist": "User email does not exist", - "something_went_wrong": "something went wrong", - "invalid_due_amount_message": "Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.", - "limit": { - "none": "None", - "date": "Date", - "count": "Count" - } - }, - "payments": { - "title": "Payments", - "payments_list": "Payments List", - "record_payment": "Record Payment", - "customer": "Customer", - "date": "Date", - "amount": "Amount", - "action": "Action", - "payment_number": "Payment Number", - "payment_mode": "Payment Mode", - "invoice": "Invoice", - "note": "Note", - "add_payment": "Add Payment", - "new_payment": "New Payment", - "edit_payment": "Edit Payment", - "view_payment": "View Payment", - "add_new_payment": "Add New Payment", - "send_payment_receipt": "Send Payment Receipt", - "send_payment": "Send Payment", - "save_payment": "Save Payment", - "update_payment": "Update Payment", - "payment": "Payment | Payments", - "no_payments": "No payments yet!", - "not_selected": "Not selected", - "no_invoice": "No invoice", - "no_matching_payments": "There are no matching payments!", - "list_of_payments": "This section will contain the list of payments.", - "select_payment_mode": "Select payment mode", - "confirm_mark_as_sent": "This estimate will be marked as sent", - "confirm_send_payment": "This payment will be sent via email to the customer", - "send_payment_successfully": "Payment sent successfully", - "something_went_wrong": "something went wrong", - "confirm_delete": "You will not be able to recover this Payment | You will not be able to recover these Payments", - "created_message": "Payment created successfully", - "updated_message": "Payment updated successfully", - "deleted_message": "Payment deleted successfully | Payments deleted successfully", - "invalid_amount_message": "Payment amount is invalid", - "amount_due": "Due Amount" - }, - "expenses": { - "title": "Expenses", - "expenses_list": "Expenses List", - "select_a_customer": "Select a customer", - "expense_title": "Title", - "customer": "Customer", - "currency": "Currency", - "contact": "Contact", - "category": "Category", - "from_date": "From Date", - "to_date": "To Date", - "expense_date": "Date", - "description": "Description", - "receipt": "Receipt", - "amount": "Amount", - "action": "Action", - "not_selected": "Not selected", - "note": "Note", - "category_id": "Category Id", - "date": "Date", - "add_expense": "Add Expense", - "add_new_expense": "Add New Expense", - "save_expense": "Save Expense", - "update_expense": "Update Expense", - "download_receipt": "Download Receipt", - "edit_expense": "Edit Expense", - "new_expense": "New Expense", - "expense": "Expense | Expenses", - "no_expenses": "No expenses yet!", - "list_of_expenses": "This section will contain the list of expenses.", - "confirm_delete": "You will not be able to recover this Expense | You will not be able to recover these Expenses", - "created_message": "Expense created successfully", - "updated_message": "Expense updated successfully", - "deleted_message": "Expense deleted successfully | Expenses deleted successfully", - "categories": { - "categories_list": "Categories List", - "title": "Title", - "name": "Name", - "description": "Description", - "amount": "Amount", - "actions": "Actions", - "add_category": "Add Category", - "new_category": "New Category", - "category": "Category | Categories", - "select_a_category": "Select a category" - } - }, - "login": { - "email": "Email", - "password": "Password", - "forgot_password": "Forgot Password?", - "or_signIn_with": "or Sign in with", - "login": "Login", - "register": "Register", - "reset_password": "Reset Password", - "password_reset_successfully": "Password Reset Successfully", - "enter_email": "Enter email", - "enter_password": "Enter Password", - "retype_password": "Retype Password" - }, - "modules": { - "buy_now": "Buy Now", - "install": "Install", - "price": "Price", - "download_zip_file": "Download ZIP file", - "unzipping_package": "Unzipping Package", - "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", - "completing_installation": "Completing Installation", - "update_failed": "Update Failed", - "install_success": "Module has been installed successfully!", - "customer_reviews": "Reviews", - "license": "License", - "faq": "FAQ", - "monthly": "Monthly", - "yearly": "Yearly", - "updated": "Updated", - "version": "Version", - "disable": "Disable", - "module_disabled": "Module Disabled", - "enable": "Enable", - "module_enabled": "Module Enabled", - "update_to": "Update To", - "module_updated": "Module Updated Successfully!", - "title": "Modules", - "module": "Module | Modules", - "api_token": "API token", - "invalid_api_token": "Invalid API Token.", - "other_modules": "Other Modules", - "view_all": "View All", - "no_reviews_found": "There are no reviews for this module yet!", - "module_not_purchased": "Module Not Purchased", - "module_not_found": "Module Not Found", - "version_not_supported": "The minimum required version for this module does not match. Please upgrade your invoiceshelf app to version: {version} to proceed.", - "last_updated": "Last Updated On", - "connect_installation": "Connect your installation", - "api_token_description": "Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.", - "view_module": "View Module", - "update_available": "Update Available", - "purchased": "Purchased", - "installed": "Installed", - "no_modules_installed": "No Modules Installed Yet!", - "disable_warning": "All the settings for this particular will be reverted.", - "what_you_get": "What you get", - "sign_up_and_get_token": "Sign up & Get Token" - }, - "users": { - "title": "Users", - "users_list": "Users List", - "name": "Name", - "description": "Description", - "added_on": "Added On", - "date_of_creation": "Date Of Creation", - "action": "Action", - "add_user": "Add User", - "save_user": "Save User", - "update_user": "Update User", - "user": "User | Users", - "add_new_user": "Add New User", - "new_user": "New User", - "edit_user": "Edit User", - "no_users": "No users yet!", - "list_of_users": "This section will contain the list of users.", - "email": "Email", - "phone": "Phone", - "password": "Password", - "user_attached_message": "Cannot delete an item which is already in use", - "confirm_delete": "You will not be able to recover this User | You will not be able to recover these Users", - "created_message": "User created successfully", - "updated_message": "User updated successfully", - "deleted_message": "User deleted successfully | Users deleted successfully", - "select_company_role": "Select Role for {company}", - "companies": "Companies" - }, - "reports": { - "title": "Report", - "from_date": "From Date", - "to_date": "To Date", - "status": "Status", - "paid": "Paid", - "unpaid": "Unpaid", - "download_pdf": "Download PDF", - "view_pdf": "View PDF", - "update_report": "Update Report", - "report": "Report | Reports", - "profit_loss": { - "profit_loss": "Profit & Loss", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" - }, - "sales": { - "sales": "Sales", - "date_range": "Select Date Range", - "to_date": "To Date", - "from_date": "From Date", - "report_type": "Report Type", - "sort": { - "by_customer": "By Customer", - "by_item": "By Item" - } - }, - "taxes": { - "taxes": "Taxes", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" + "dateRange": { + "custom": "Custom", + "previous_month": "Previous Month", + "previous_quarter": "Previous Quarter", + "previous_week": "Previous Week", + "previous_year": "Previous Year", + "this_month": "This Month", + "this_quarter": "This Quarter", + "this_week": "This Week", + "this_year": "This Year", + "today": "Today" }, "errors": { - "required": "Field is required" - }, - "invoices": { - "invoice": "Invoice", - "invoice_date": "Invoice Date", - "due_date": "Due Date", - "amount": "Amount", - "contact_name": "Contact Name", - "status": "Status" + "address_incomplete": "Incomplete Address", + "api_error": "Server not responding.", + "customer_cannot_be_changed_after_payment_is_added": "Customer cannot be change after payment is added", + "email_could_not_be_sent": "Email could not be sent to this email address.", + "enter_valid_cron_format": "Please enter a valid cron format", + "estimate_number_used": "The estimate number has already been taken.", + "feature_not_enabled": "Feature not enabled.", + "invalid_address": "Please enter a valid address.", + "invalid_city": "Please enter a valid city.", + "invalid_credentials": "Invalid Credentials.", + "invalid_format": "Please enter valid query string format.", + "invalid_key": "Please enter valid key.", + "invalid_postal_code": "Please enter a valid zip.", + "invalid_provider_key": "Please Enter Valid Provider API Key.", + "invalid_state": "Please enter a valid state.", + "invoice_number_used": "The invoice number has already been taken.", + "login_invalid_credentials": "These credentials do not match our records.", + "name_already_taken": "The name has already been taken.", + "not_allowed": "Not Allowed", + "payment_attached": "This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.", + "payment_number_used": "The payment number has already been taken.", + "receipt_does_not_exist": "Receipt does not exist.", + "request_limit_met": "Api request limit exceeded.", + "starter_plan": "This feature is available on Starter plan and onwards!" }, "estimates": { - "estimate": "Estimate", - "estimate_date": "Estimate Date", - "due_date": "Due Date", - "estimate_number": "Estimate Number", - "ref_number": "Ref Number", - "amount": "Amount", - "contact_name": "Contact Name", - "status": "Status" - }, - "expenses": { - "expenses": "Expenses", - "category": "Category", - "date": "Date", - "amount": "Amount", - "to_date": "To Date", - "from_date": "From Date", - "date_range": "Select Date Range" - } - }, - "settings": { - "menu_title": { - "account_settings": "Account Settings", - "company_information": "Company Information", - "customization": "Customization", - "preferences": "Preferences", - "notifications": "Notifications", - "tax_types": "Tax Types", - "expense_category": "Expense Categories", - "update_app": "Update App", - "backup": "Backup", - "file_disk": "File Disk", - "custom_fields": "Custom Fields", - "payment_modes": "Payment Modes", - "notes": "Notes", - "exchange_rate": "Exchange Rate", - "address_information": "Address Information", - "pdf_generation": "PDF Generation" - }, - "address_information": { - "section_description": " You can update Your Address information using form below." - }, - "title": "Settings", - "setting": "Settings | Settings", - "general": "General", - "language": "Language", - "primary_currency": "Primary Currency", - "timezone": "Time Zone", - "date_format": "Date Format", - "time_format": "Time Format", - "currencies": { - "title": "Currencies", - "currency": "Currency | Currencies", - "currencies_list": "Currencies List", - "select_currency": "Select Currency", - "name": "Name", - "code": "Code", - "symbol": "Symbol", - "precision": "Precision", - "thousand_separator": "Thousand Separator", - "decimal_separator": "Decimal Separator", - "position": "Position", - "position_of_symbol": "Position Of Symbol", - "right": "Right", - "left": "Left", - "action": "Action", - "add_currency": "Add Currency" - }, - "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", - "mailgun_domain": "Domain", - "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "ses_region": "AWS Region", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", - "from_name": "From Mail Name", - "from_mail": "From Mail Address", - "encryption": "Mail Encryption", - "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." - }, - "pdf": { - "title": "PDF Setting", - "footer_text": "Footer Text", - "pdf_layout": "PDF Layout", - "pdf_configuration": "PDF Generation Settings", - "section_description": "Change the way PDFs are generated", - "driver": "PDF Driver to use", - "papersize": "Papersize", - "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", - "gotenberg_host": "Gotenberg service host", - "pdf_variables_save_successfully": "PDF configuration saved successfully", - "pdf_variables_save_error": "PDF configuration could not be saved" - }, - "company_info": { - "company_info": "Company info", - "company_name": "Company Name", - "tax_id": "Tax Identification Number", - "vat_id": "VAT Identification Number", - "company_logo": "Company Logo", - "section_description": "Information about your company that will be displayed on invoices, estimates and other documents created by InvoiceShelf.", - "phone": "Phone", - "country": "Country", - "state": "State", - "city": "City", - "address": "Address", - "zip": "Zip", - "save": "Save", - "delete": "Delete", - "updated_message": "Company information updated successfully", - "delete_company": "Delete Company", - "delete_company_description": "Once you delete your company, you will lose all the data and files associated with it permanently.", - "are_you_absolutely_sure": "Are you absolutely sure?", - "delete_company_modal_desc": "This action cannot be undone. This will permanently delete {company} and all of its associated data.", - "delete_company_modal_label": "Please type {company} to confirm" - }, - "custom_fields": { - "title": "Custom Fields", - "section_description": "Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.", - "add_custom_field": "Add Custom Field", - "edit_custom_field": "Edit Custom Field", - "field_name": "Field Name", - "label": "Label", - "type": "Type", - "name": "Name", - "slug": "Slug", - "required": "Required", - "placeholder": "Placeholder", - "help_text": "Help Text", - "default_value": "Default Value", - "prefix": "Prefix", - "starting_number": "Starting Number", - "model": "Model", - "help_text_description": "Enter some text to help users understand the purpose of this custom field.", - "suffix": "Suffix", - "yes": "Yes", - "no": "No", - "order": "Order", - "custom_field_confirm_delete": "You will not be able to recover this Custom Field", - "already_in_use": "Custom Field is already in use", - "deleted_message": "Custom Field deleted successfully", - "options": "options", - "add_option": "Add Options", - "add_another_option": "Add another option", - "sort_in_alphabetical_order": "Sort in Alphabetical Order", - "add_options_in_bulk": "Add options in bulk", - "use_predefined_options": "Use Predefined Options", - "select_custom_date": "Select Custom Date", - "select_relative_date": "Select Relative Date", - "ticked_by_default": "Ticked by default", - "updated_message": "Custom Field updated successfully", - "added_message": "Custom Field added successfully", - "press_enter_to_add": "Press enter to add new option", - "model_in_use": "Cannot update model for fields which are already in use.", - "type_in_use": "Cannot update type for fields which are already in use.", - "model_type": { - "customer": "Customer", - "invoice": "Invoice", - "estimate": "Estimate", - "expense": "Expense", - "payment": "Payment" - } - }, - "customization": { - "customization": "customization", - "updated_message": "Company information updated successfully", - "save": "Save", - "insert_fields": "Insert Fields", - "learn_custom_format": "Learn how to use custom format", - "add_new_component": "Add New Component", - "component": "Component", - "Parameter": "Parameter", - "series": "Series", - "series_description": "To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.", - "series_param_label": "Series Value", - "delimiter": "Delimiter", - "delimiter_description": "Single character for specifying the boundary between 2 separate components. By default its set to -", - "delimiter_param_label": "Delimiter Value", - "date_format": "Date Format", - "time_format": "Time Format", - "date_format_description": "A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.", - "date_format_param_label": "Format", - "sequence": "Sequence", - "sequence_description": "Consecutive sequence of numbers across your company. You can specify the length on the given parameter.", - "sequence_param_label": "Sequence Length", - "customer_series": "Customer Series", - "customer_series_description": "To set a different prefix/postfix for each customer.", - "customer_sequence": "Customer Sequence", - "customer_sequence_description": "Consecutive sequence of numbers for each of your customer.", - "customer_sequence_param_label": "Sequence Length", - "random_sequence": "Random Sequence", - "random_sequence_description": "Random alphanumeric string. You can specify the length on the given parameter.", - "random_sequence_param_label": "Sequence Length", - "invoices": { - "title": "Invoices", - "invoice_number_format": "Invoice Number Format", - "invoice_number_format_description": "Customize how your invoice number gets generated automatically when you create a new invoice.", - "preview_invoice_number": "Preview Invoice Number", + "Estimate": "Estimate | Estimates", + "accept_estimate": "Accept Estimate", + "accepted": "Accepted", + "action": "Action", + "add_estimate": "Add Estimate", + "add_item": "Add an Item", + "add_new_estimate": "Add New Estimate", + "add_new_tax": "Add New Tax", + "add_tax": "Add Tax", + "all": "All", + "amount": "Amount", + "amount_due": "AMOUNT DUE", + "clone_estimate": "Clone Estimate", + "cloned_successfully": "Estimate cloned successfully", + "confirm_clone": "This Estimate will be cloned into a new Estimate", + "confirm_conversion": "This estimate will be used to create a new Invoice.", + "confirm_delete": "You will not be able to recover this Estimate | You will not be able to recover these Estimates", + "confirm_mark_as_accepted": "This estimate will be marked as Accepted", + "confirm_mark_as_rejected": "This estimate will be marked as Rejected", + "confirm_mark_as_sent": "This estimate will be marked as sent", + "confirm_send_estimate": "This estimate will be sent via email to the customer", + "contact": "Contact", + "conversion_message": "Invoice created successful", + "convert_to_invoice": "Convert to Invoice", + "created_message": "Estimate created successfully", + "customer": "CUSTOMER", + "date": "Date", + "days": "{days} Days", + "declined": "Declined", + "deleted_message": "Estimate deleted successfully | Estimates deleted successfully", + "discount": "Discount", + "draft": "Draft", "due_date": "Due Date", - "due_date_description": "Specify how due date is automatically set when you create an invoice.", - "due_date_days": "Invoice Due after days", - "set_due_date_automatically": "Set Due Date Automatically", - "set_due_date_automatically_description": "Enable this if you wish to set due date automatically when you create a new invoice.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on invoice creation.", - "default_invoice_email_body": "Default Invoice Email Body", - "company_address_format": "Company Address Format", - "shipping_address_format": "Shipping Address Format", - "billing_address_format": "Billing Address Format", - "invoice_email_attachment": "Send invoices as attachments", - "invoice_email_attachment_setting_description": "Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.", - "invoice_settings_updated": "Invoice Settings updated successfully", - "retrospective_edits": "Retrospective Edits", - "allow": "Allow", - "disable_on_invoice_partial_paid": "Disable after partial payment is recorded", - "disable_on_invoice_paid": "Disable after full payment is recorded", - "disable_on_invoice_sent": "Disable after invoice is sent", - "retrospective_edits_description": " Based on your country's laws or your preference, you can restrict users from editing finalised invoices." - }, - "estimates": { - "title": "Estimates", - "estimate_number_format": "Estimate Number Format", - "estimate_number_format_description": "Customize how your estimate number gets generated automatically when you create a new estimate.", - "preview_estimate_number": "Preview Estimate Number", + "edit_estimate": "Edit Estimate", + "errors": { + "required": "Field is required" + }, + "estimate": "Estimate | Estimates", + "estimate_number": "Estimate Number", + "estimate_template": "Template", + "estimates_list": "Estimates List", + "expired": "Expired", "expiry_date": "Expiry Date", - "expiry_date_description": "Specify how expiry date is automatically set when you create an estimate.", - "expiry_date_days": "Estimate Expires after days", - "set_expiry_date_automatically": "Set Expiry Date Automatically", - "set_expiry_date_automatically_description": "Enable this if you wish to set expiry date automatically when you create a new estimate.", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on estimate creation.", - "default_estimate_email_body": "Default Estimate Email Body", - "company_address_format": "Company Address Format", - "shipping_address_format": "Shipping Address Format", - "billing_address_format": "Billing Address Format", - "estimate_email_attachment": "Send estimates as attachments", - "estimate_email_attachment_setting_description": "Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.", - "estimate_settings_updated": "Estimate Settings updated successfully", - "convert_estimate_options": "Estimate Convert Action", - "convert_estimate_description": "Specify what happens to the estimate after it gets converted to an invoice.", - "no_action": "No action", - "delete_estimate": "Delete estimate", - "mark_estimate_as_accepted": "Mark estimate as accepted" - }, - "payments": { - "title": "Payments", - "payment_number_format": "Payment Number Format", - "payment_number_format_description": "Customize how your payment number gets generated automatically when you create a new payment.", - "preview_payment_number": "Preview Payment Number", - "default_formats": "Default Formats", - "default_formats_description": "Below given formats are used to fill up the fields automatically on payment creation.", - "default_payment_email_body": "Default Payment Email Body", - "company_address_format": "Company Address Format", - "from_customer_address_format": "From Customer Address Format", - "payment_email_attachment": "Send payments as attachments", - "payment_email_attachment_setting_description": "Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.", - "payment_settings_updated": "Payment Settings updated successfully" - }, - "items": { - "title": "Items", - "units": "Units", - "add_item_unit": "Add Item Unit", - "edit_item_unit": "Edit Item Unit", - "unit_name": "Unit Name", - "item_unit_added": "Item Unit Added", - "item_unit_updated": "Item Unit Updated", - "item_unit_confirm_delete": "You will not be able to recover this Item unit", - "already_in_use": "Item Unit is already in use", - "deleted_message": "Item Unit deleted successfully" - }, - "notes": { - "title": "Notes", - "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", + "item": { + "amount": "Amount", + "description": "Description", + "discount": "Discount", + "price": "Price", + "quantity": "Quantity", + "select_an_item": "Type or click to select an item", + "sub_total": "Sub Total", + "tax": "Tax", + "title": "Item Title", + "total": "Total", + "total_discount": "Total Discount", + "type_item_description": "Type Item Description (optional)" + }, + "items": "items", + "list_of_estimates": "This section will contain the list of estimates.", + "mark_as_accepted": "Mark as accepted", + "mark_as_default_estimate_template_description": "If enabled, the selected template will be automatically selected for new estimates.", + "mark_as_rejected": "Mark as rejected", + "mark_as_sent": "Mark as Sent", + "mark_as_sent_successfully": "Estimate marked as sent successfully", + "marked_as_accepted_message": "Estimate marked as accepted", + "marked_as_rejected_message": "Estimate marked as rejected", + "months": "{months} Month", + "new_estimate": "New Estimate", + "no_estimates": "No estimates yet!", + "no_matching_estimates": "There are no matching estimates!", "notes": "Notes", - "type": "Type", - "is_default": "Select by default", - "is_default_description": "This note will be selected by default in new invoices.", - "add_note": "Add Note", - "add_new_note": "Add New Note", + "number": "NUMBER", + "paid": "Paid", + "partially_paid": "Partially Paid", + "record_payment": "Record Payment", + "ref_no": "REF NO.", + "ref_number": "Ref Number", + "reject_estimate": "Reject Estimate", + "rejected": "Rejected", + "resend_estimate": "Resend Estimate", + "save_estimate": "Save Estimate", + "send_estimate": "Send Estimate", + "send_estimate_successfully": "Estimate sent successfully", + "sent": "Sent", + "something_went_wrong": "something went wrong", + "status": "Status", + "sub_total": "Sub Total", + "tax": "Tax", + "title": "Estimates", + "total": "Total", + "unpaid": "Unpaid", + "update_Estimate": "Update Estimate", + "updated_message": "Estimate updated successfully", + "viewed": "Viewed", + "years": "{years} Year" + }, + "expense_number": "Expense Number", + "expense_number_placeholder": "EXP-001", + "expenses": { + "action": "Action", + "add_expense": "Add Expense", + "add_new_expense": "Add New Expense", + "amount": "Amount", + "categories": { + "actions": "Actions", + "add_category": "Add Category", + "amount": "Amount", + "categories_list": "Categories List", + "category": "Category | Categories", + "description": "Description", + "name": "Name", + "new_category": "New Category", + "select_a_category": "Select a category", + "title": "Title" + }, + "category": "Category", + "category_id": "Category Id", + "confirm_delete": "You will not be able to recover this Expense | You will not be able to recover these Expenses", + "contact": "Contact", + "created_message": "Expense created successfully", + "currency": "Currency", + "customer": "Customer", + "date": "Date", + "deleted_message": "Expense deleted successfully | Expenses deleted successfully", + "description": "Description", + "download_receipt": "Download Receipt", + "edit_expense": "Edit Expense", + "expense": "Expense | Expenses", + "expense_date": "Date", + "expense_number": "Номер на разход", + "expense_number_placeholder": "EXP-001", + "expense_title": "Title", + "expenses_list": "Expenses List", + "from_date": "From Date", + "list_of_expenses": "This section will contain the list of expenses.", + "new_expense": "New Expense", + "no_expenses": "No expenses yet!", + "not_selected": "Not selected", + "note": "Note", + "receipt": "Receipt", + "save_expense": "Save Expense", + "select_a_customer": "Select a customer", + "title": "Expenses", + "to_date": "To Date", + "update_expense": "Update Expense", + "updated_message": "Expense updated successfully" + }, + "general": { + "action_failed": "Action Failed", + "actions": "Actions", + "add_company": "Add Company", + "add_new_item": "Add New Item", + "all": "All", + "are_you_sure": "Are you sure?", + "ascending": "Ascending", + "back_to_login": "Back to Login?", + "bill_to": "Bill to", + "body": "Body", + "cancel": "Cancel", + "choose": "Choose", + "choose_file": "Click here to choose a file", + "choose_note": "Choose Note", + "choose_template": "Choose a template", + "clear_all": "Clear All", + "copied_pdf_url_clipboard": "Copied PDF url to clipboard!", + "copied_url_clipboard": "Copied url to clipboard!", + "copy_pdf_url": "Copy PDF Url", + "copy_to_clipboard": "Copy to Clipboard", + "create": "Create", + "delete": "Delete", + "descending": "Descending", + "deselect": "Deselect", + "discount": "DISCOUNT", + "do_you_wish_to_continue": "Do you wish to continue?", + "docs": "Docs", + "download": "Download", + "download_pdf": "Download PDF", + "draft": "Draft", + "due": "Due", + "edit": "Edit", + "file_upload": { + "browse": "browse", + "drag_a_file": "Drag a file here or", + "to_choose": "to choose a file" + }, + "filter": "Filter", + "fixed": "Fixed", + "four_zero_four": "404", + "from": "From", + "from_date": "From Date", + "go_back": "Go Back", + "go_home": "Go Home", + "home": "Home", + "insert_note": "Insert Note", + "list_is_empty": "List is empty.", + "logged_out_successfully": "Logged out successfully", + "login_successfully": "Logged in successfully!", + "mark_as_default": "Mark as default", + "message": "Message", + "multiselect": { + "no_results_found": "No results found", + "the_list_is_empty": "The list is empty" + }, + "no": "No", + "no_data_found": "No data found", + "no_note_found": "No Note Found", + "no_tax_found": "No tax found!", + "note": "Note", + "of": "of", + "ok": "Ok", + "pagination": { + "next": "Next", + "of": "of", + "previous": "Previous", + "results": "results", + "showing": "Showing", + "to": "to" + }, + "pay_invoice": "Pay Invoice", + "percentage": "Percentage", + "preview": "Preview", + "remove": "Remove", + "retry": "Retry", + "save": "Save", + "search": "Search", + "select_a_status": "Select a status", + "select_a_tax": "Select a tax", + "select_all": "Select All", + "select_city": "Select City", + "select_country": "Select Country", + "select_state": "Select state", + "select_template": "Select Template", + "send": "Send", + "send_mail_successfully": "Mail sent successfully", + "sent": "Sent", + "setting_updated": "Setting updated successfully", + "ship_to": "Ship to", + "showing": "Showing", + "sort_by": "Sort By", + "street_1": "Street 1", + "street_2": "Street 2", + "subject": "Subject", + "subtotal": "SUBTOTAL", + "tax": "TAX", + "test_mail_conf": "Test Mail Configuration", + "to": "To", + "to_date": "To Date", + "total_amount": "TOTAL AMOUNT", + "update": "Update", + "view": "View", + "view_pdf": "View PDF", + "yes": "Yes", + "you_got_lost": "Whoops! You got Lost!" + }, + "global_search": { + "customers": "Customers", + "no_results_found": "No Results Found", + "search": "Search...", + "users": "Users" + }, + "invoices": { + "action": "Action", + "add_item": "Add an Item", + "add_new_invoice": "Add New Invoice", + "add_new_tax": "Add New Tax", + "add_tax": "Add Tax", + "all": "All", + "amount": "Amount", + "amount_due": "AMOUNT DUE", + "clone_invoice": "Clone Invoice", + "cloned_successfully": "Invoice cloned successfully", + "completed": "Completed", + "confirm_clone": "This invoice will be cloned into a new Invoice", + "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", + "confirm_mark_as_accepted": "This invoice will be marked as Accepted", + "confirm_mark_as_rejected": "This invoice will be marked as Rejected", + "confirm_send": "This invoice will be sent via email to the customer", + "confirm_send_invoice": "This invoice will be sent via email to the customer", + "contact": "Contact", + "conversion_message": "Invoice cloned successful", + "created_message": "Invoice created successfully", + "customer": "CUSTOMER", + "date": "Date", + "days": "{days} Days", + "deleted_message": "Invoice deleted successfully | Invoices deleted successfully", + "discount": "Discount", + "download": "Download", + "due_date": "Due Date", + "edit_invoice": "Edit Invoice", + "invalid_due_amount_message": "Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.", + "invoice": "Invoice | Invoices", + "invoice_date": "Invoice Date", + "invoice_information": "Invoice Information", + "invoice_mark_as_sent": "This invoice will be marked as sent", + "invoice_number": "Invoice Number", + "invoice_sent_successfully": "Invoice sent successfully", + "invoice_template": "Invoice Template", + "invoices_list": "Invoices List", + "item": { + "amount": "Amount", + "description": "Description", + "discount": "Discount", + "price": "Price", + "quantity": "Quantity", + "select_an_item": "Type or click to select an item", + "sub_total": "Sub Total", + "tax": "Tax", + "title": "Item Title", + "total": "Total", + "total_discount": "Total Discount", + "type_item_description": "Type Item Description (optional)" + }, + "list_of_invoices": "This section will contain the list of invoices.", + "mark_as_accepted": "Mark as accepted", + "mark_as_default_invoice_template_description": "If enabled, the selected template will be automatically selected for new invoices.", + "mark_as_rejected": "Mark as rejected", + "mark_as_sent": "Mark as sent", + "mark_as_sent_successfully": "Invoice marked as sent successfully", + "marked_as_sent_message": "Invoice marked as sent successfully", + "months": "{months} Month", + "new_invoice": "New Invoice", + "no_invoices": "No Invoices yet!", + "no_matching_invoices": "There are no matching invoices!", + "notes": "Notes", + "number": "NUMBER", + "overdue": "Overdue", + "paid": "Paid", + "paid_status": "PAID STATUS", + "partially_paid": "Partially Paid", + "pay_invoice": "Pay Invoice", + "payment_attached_message": "One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal", + "record_payment": "Record Payment", + "ref_no": "REF NO.", + "ref_number": "Ref Number", + "resend_invoice": "Resend Invoice", + "save_invoice": "Save Invoice", + "select_invoice": "Select Invoice", + "send_invoice": "Send Invoice", + "something_went_wrong": "something went wrong", + "status": "Status", + "sub_total": "Sub Total", + "template": "Select Template", + "title": "Invoices", + "total": "Total", + "unpaid": "Unpaid", + "update_expense": "Update Expense", + "update_invoice": "Update Invoice", + "updated_message": "Invoice updated successfully", + "view": "View", + "viewed": "Viewed", + "years": "{years} Year" + }, + "items": { + "action": "Action", + "add_item": "Add Item", + "add_new_item": "Add New Item", + "added_on": "Added On", + "confirm_delete": "You will not be able to recover this Item | You will not be able to recover these Items", + "created_message": "Item created successfully", + "date_of_creation": "Date Of Creation", + "deleted_message": "Item deleted successfully | Items deleted successfully", + "description": "Description", + "edit_item": "Edit Item", + "item": "Item | Items", + "item_attached_message": "Cannot delete an item which is already in use", + "items_list": "Items List", + "list_of_items": "This section will contain the list of items.", "name": "Name", - "edit_note": "Edit Note", - "note_added": "Note added successfully", - "note_updated": "Note Updated successfully", - "note_confirm_delete": "You will not be able to recover this Note", - "already_in_use": "Note is already in use", - "deleted_message": "Note deleted successfully", - "types": { - "estimate": "Estimate", - "invoice": "Invoice", - "payment": "Payment" + "new_item": "New Item", + "no_items": "No items yet!", + "not_selected": "No item selected", + "price": "Price", + "save_item": "Save Item", + "select_a_unit": "select unit", + "taxes": "Taxes", + "title": "Items", + "unit": "Unit", + "update_item": "Update Item", + "updated_message": "Item updated successfully" + }, + "login": { + "email": "Email", + "enter_email": "Enter email", + "enter_password": "Enter Password", + "forgot_password": "Forgot Password?", + "login": "Login", + "or_signIn_with": "or Sign in with", + "password": "Password", + "password_reset_successfully": "Password Reset Successfully", + "register": "Register", + "reset_password": "Reset Password", + "retype_password": "Retype Password" + }, + "mail_thanks": "Thanks", + "mail_view_estimate": "View Estimate", + "mail_view_invoice": "View Invoice", + "mail_view_payment": "View Payment", + "mail_viewed_estimate": ":name viewed this Estimate.", + "mail_viewed_invoice": ":name viewed this Invoice.", + "modules": { + "api_token": "API token", + "api_token_description": "Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.", + "buy_now": "Buy Now", + "completing_installation": "Completing Installation", + "connect_installation": "Connect your installation", + "copying_files": "Copying Files", + "customer_reviews": "Reviews", + "deleting_files": "Deleting Unused files", + "disable": "Disable", + "disable_warning": "All the settings for this particular will be reverted.", + "download_zip_file": "Download ZIP file", + "enable": "Enable", + "faq": "FAQ", + "install": "Install", + "install_success": "Module has been installed successfully!", + "installed": "Installed", + "invalid_api_token": "Invalid API Token.", + "last_updated": "Last Updated On", + "license": "License", + "module": "Module | Modules", + "module_disabled": "Module Disabled", + "module_enabled": "Module Enabled", + "module_not_found": "Module Not Found", + "module_not_purchased": "Module Not Purchased", + "module_updated": "Module Updated Successfully!", + "monthly": "Monthly", + "no_modules_installed": "No Modules Installed Yet!", + "no_reviews_found": "There are no reviews for this module yet!", + "other_modules": "Other Modules", + "price": "Price", + "purchased": "Purchased", + "sign_up_and_get_token": "Sign up & Get Token", + "title": "Modules", + "unzipping_package": "Unzipping Package", + "update_available": "Update Available", + "update_failed": "Update Failed", + "update_to": "Update To", + "updated": "Updated", + "version": "Version", + "version_not_supported": "The minimum required version for this module does not match. Please upgrade your invoiceshelf app to version: {version} to proceed.", + "view_all": "View All", + "view_module": "View Module", + "what_you_get": "What you get", + "yearly": "Yearly" + }, + "navigation": { + "customers": "Customers", + "dashboard": "Dashboard", + "estimates": "Estimates", + "expenses": "Expenses", + "invoices": "Invoices", + "items": "Items", + "logout": "Logout", + "modules": "Modules", + "payments": "Payments", + "recurring-invoices": "Recurring Invoices", + "reports": "Reports", + "settings": "Settings", + "users": "Users" + }, + "notification_view_estimate": "[Notification] Estimate viewed", + "notification_view_invoice": "[Notification] Invoice viewed", + "payments": { + "action": "Action", + "add_new_payment": "Add New Payment", + "add_payment": "Add Payment", + "amount": "Amount", + "amount_due": "Due Amount", + "confirm_delete": "You will not be able to recover this Payment | You will not be able to recover these Payments", + "confirm_mark_as_sent": "This estimate will be marked as sent", + "confirm_send_payment": "This payment will be sent via email to the customer", + "created_message": "Payment created successfully", + "customer": "Customer", + "date": "Date", + "deleted_message": "Payment deleted successfully | Payments deleted successfully", + "edit_payment": "Edit Payment", + "invalid_amount_message": "Payment amount is invalid", + "invoice": "Invoice", + "list_of_payments": "This section will contain the list of payments.", + "new_payment": "New Payment", + "no_invoice": "No invoice", + "no_matching_payments": "There are no matching payments!", + "no_payments": "No payments yet!", + "not_selected": "Not selected", + "note": "Note", + "payment": "Payment | Payments", + "payment_mode": "Payment Mode", + "payment_number": "Payment Number", + "payments_list": "Payments List", + "record_payment": "Record Payment", + "save_payment": "Save Payment", + "select_payment_mode": "Select payment mode", + "send_payment": "Send Payment", + "send_payment_receipt": "Send Payment Receipt", + "send_payment_successfully": "Payment sent successfully", + "something_went_wrong": "something went wrong", + "title": "Payments", + "update_payment": "Update Payment", + "updated_message": "Payment updated successfully", + "view_payment": "View Payment" + }, + "pdf_amount_due": "Amount Due", + "pdf_amount_label": "Amount", + "pdf_amount_paid": "Amount Paid", + "pdf_bill_to": "Bill to,", + "pdf_customer_sales_report": "Sales Report: By Customer", + "pdf_discount_label": "Discount", + "pdf_estimate_date": "Estimate Date", + "pdf_estimate_expire_date": "Expiry Date", + "pdf_estimate_label": "Estimate", + "pdf_estimate_number": "Estimate Number", + "pdf_expense_report_label": "EXPENSES REPORT", + "pdf_expenses_label": "Expenses", + "pdf_income_label": "INCOME", + "pdf_invoice_date": "Invoice Date", + "pdf_invoice_due_date": "Due Date", + "pdf_invoice_label": "Invoice", + "pdf_invoice_number": "Invoice Number", + "pdf_item_sales_label": "Sales Report: By Item", + "pdf_items_label": "Items", + "pdf_net_profit_label": "NET PROFIT", + "pdf_notes": "Notes", + "pdf_payment_amount_received_label": "Amount Received", + "pdf_payment_date": "Payment Date", + "pdf_payment_label": "Payment", + "pdf_payment_mode": "Payment Mode", + "pdf_payment_number": "Payment Number", + "pdf_payment_receipt_label": "PAYMENT RECEIPT", + "pdf_price_label": "Price", + "pdf_profit_loss_label": "PROFIT & LOSS REPORT", + "pdf_quantity_label": "Quantity", + "pdf_received_from": "Received from:", + "pdf_sales_customers_label": "Sales Customer Report", + "pdf_sales_items_label": "Sales Item Report", + "pdf_ship_to": "Ship to,", + "pdf_subtotal": "Subtotal", + "pdf_tax_id": "Tax-ID", + "pdf_tax_label": "Tax", + "pdf_tax_report_label": "TAX REPORT", + "pdf_tax_summery_label": "Tax Summary Report", + "pdf_tax_types_label": "Tax Types", + "pdf_total": "Total", + "pdf_total_expenses_label": "TOTAL EXPENSE", + "pdf_total_sales_label": "TOTAL SALES", + "pdf_total_tax_label": "TOTAL TAX", + "pdf_vat_id": "VAT-ID", + "recurring_invoices": { + "action": "Action", + "active": "Active", + "add_customer_email": "Please add an email address for this customer to send invoices automatically.", + "add_item": "Add an Item", + "add_new_invoice": "Add New Recurring Invoice", + "add_new_tax": "Add New Tax", + "add_tax": "Add Tax", + "all": "All", + "amount": "Amount", + "amount_due": "AMOUNT DUE", + "auto_send": "Auto Send", + "basic_info": "Basic Info", + "clone_invoice": "Clone Recurring Invoice", + "cloned_successfully": "Recurring Invoice cloned successfully", + "complete": "Completed", + "completed": "Completed", + "confirm_clone": "This recurring invoice will be cloned into a new Recurring Invoice", + "confirm_delete": "You will not be able to recover this Invoice | You will not be able to recover these Invoices", + "confirm_send": "This recurring invoice will be sent via email to the customer", + "confirm_send_invoice": "This recurring invoice will be sent via email to the customer", + "contact": "Contact", + "conversion_message": "Recurring Invoice cloned successful", + "count": "Count", + "created_message": "Recurring Invoice created successfully", + "customer": "CUSTOMER", + "date": "Date", + "days": "{days} Days", + "deleted_message": "Recurring Invoice deleted successfully | Recurring Invoices deleted successfully", + "discount": "Discount", + "due_date": "Invoice Due Date", + "edit_invoice": "Edit Recurring Invoice", + "frequency": { + "custom": "Custom", + "day_month": "Day of month", + "day_week": "Day of week", + "every_15_days_at_midnight": "Every 15 days at midnight", + "every_2_hour": "Every 2 Hour", + "every_30_minute": "Every 30 Minute", + "every_6_month": "Every 6 Month", + "every_day_at_midnight": "Every day at midnight", + "every_hour": "Every Hour", + "every_minute": "Every Minute", + "every_week": "Every Week", + "every_year_on_the_first_day_of_january_at_midnight": "Every year on the first day of january at 00:00", + "hour": "Hour", + "minute": "Minute", + "month": "Month", + "on_the_first_day_of_every_month_at_midnight": "On the first day of every month at 00:00", + "select_frequency": "Select Frequency", + "title": "Frequency (using cron format)" + }, + "invalid_due_amount_message": "Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.", + "invoice": "Recurring Invoice | Recurring Invoices", + "invoice_mark_as_sent": "This recurring invoice will be marked as sent", + "invoice_number": "Recurring Invoice Number", + "invoice_sent_successfully": "Recurring Invoice sent successfully", + "invoice_template": "Recurring Invoice Template", + "invoices_list": "Recurring Invoices List", + "item": { + "amount": "Amount", + "description": "Description", + "discount": "Discount", + "price": "Price", + "quantity": "Quantity", + "select_an_item": "Type or click to select an item", + "sub_total": "Sub Total", + "tax": "Tax", + "title": "Item Title", + "total": "Total", + "total_discount": "Total Discount", + "type_item_description": "Type Item Description (optional)" + }, + "limit": { + "count": "Count", + "date": "Date", + "none": "None" + }, + "limit_by": "Limit by", + "limit_count": "Limit Count", + "limit_date": "Limit Date", + "list_of_invoices": "This section will contain the list of recurring invoices.", + "mark_as_accepted": "Mark as accepted", + "mark_as_rejected": "Mark as rejected", + "mark_as_sent": "Mark as sent", + "mark_as_sent_successfully": "Recurring Invoice marked as sent successfully", + "marked_as_sent_message": "Recurring Invoice marked as sent successfully", + "months": "{months} Month", + "new_invoice": "New Recurring Invoice", + "next_invoice_date": "Next Invoice Date", + "no_invoices": "No Recurring Invoices yet!", + "no_matching_invoices": "There are no matching recurring invoices!", + "notes": "Notes", + "number": "NUMBER", + "on_hold": "On Hold", + "overdue": "Overdue", + "paid": "Paid", + "paid_status": "PAID STATUS", + "partially_paid": "Partially Paid", + "record_payment": "Record Payment", + "ref_no": "REF NO.", + "ref_number": "Ref Number", + "resend_invoice": "Resend Recurring Invoice", + "save_invoice": "Save Recurring Invoice", + "select_a_status": "Select a status", + "select_invoice": "Select Invoice", + "send_automatically": "Send Automatically", + "send_automatically_desc": "Enable this, if you would like to send the invoice automatically to the customer when its created.", + "send_invoice": "Send Recurring Invoice", + "something_went_wrong": "something went wrong", + "starts_at": "Start Date", + "status": "Status", + "sub_total": "Sub Total", + "template": "Template", + "title": "Recurring Invoices", + "total": "Total", + "unpaid": "Unpaid", + "update_expense": "Update Expense", + "update_invoice": "Update Recurring Invoice", + "updated_message": "Recurring Invoice updated successfully", + "user_email_does_not_exist": "User email does not exist", + "view": "View", + "viewed": "Viewed", + "working": "Working", + "years": "{years} Year" + }, + "reports": { + "download_pdf": "Download PDF", + "errors": { + "required": "Field is required" + }, + "estimates": { + "amount": "Amount", + "contact_name": "Contact Name", + "due_date": "Due Date", + "estimate": "Estimate", + "estimate_date": "Estimate Date", + "estimate_number": "Estimate Number", + "ref_number": "Ref Number", + "status": "Status" + }, + "expenses": { + "amount": "Amount", + "category": "Category", + "date": "Date", + "date_range": "Select Date Range", + "expenses": "Expenses", + "from_date": "From Date", + "to_date": "To Date" + }, + "from_date": "From Date", + "invoices": { + "amount": "Amount", + "contact_name": "Contact Name", + "due_date": "Due Date", + "invoice": "Invoice", + "invoice_date": "Invoice Date", + "status": "Status" + }, + "paid": "Paid", + "profit_loss": { + "date_range": "Select Date Range", + "from_date": "From Date", + "profit_loss": "Profit & Loss", + "to_date": "To Date" + }, + "report": "Report | Reports", + "sales": { + "date_range": "Select Date Range", + "from_date": "From Date", + "report_type": "Report Type", + "sales": "Sales", + "sort": { + "by_customer": "By Customer", + "by_item": "By Item" + }, + "to_date": "To Date" + }, + "status": "Status", + "taxes": { + "date_range": "Select Date Range", + "from_date": "From Date", + "taxes": "Taxes", + "to_date": "To Date" + }, + "title": "Report", + "to_date": "To Date", + "unpaid": "Unpaid", + "update_report": "Update Report", + "view_pdf": "View PDF" + }, + "settings": { + "account_settings": { + "account_settings": "Account Settings", + "confirm_password": "Confirm Password", + "email": "Email", + "name": "Name", + "password": "Password", + "profile_picture": "Profile Picture", + "save": "Save", + "section_description": "You can update your name, email & password using the form below.", + "updated_message": "Account Settings updated successfully" + }, + "address_information": { + "section_description": " You can update Your Address information using form below." + }, + "backup": { + "action": "Action", + "amount_of_backups": "amount of backups", + "backup_confirm_delete": "You will not be able to recover this Backup", + "create_backup": "Create Backup", + "created_at": "created at", + "created_message": "Backup created successfully", + "deleted_message": "Backup deleted successfully", + "description": "The backup is a zipfile that contains all files in the directories you specify along with a dump of your database", + "dropbox": "dropbox", + "healthy": "healthy", + "invalid_disk_credentials": "Invalid credential of selected disk", + "local": "local", + "new_backup": "Add New Backup", + "new_disk": "New Disk", + "newest_backups": "newest backups", + "path": "path", + "select_backup_type": "Select Backup Type", + "select_disk": "Select Disk", + "size": "size", + "title": "Backup | Backups", + "used_storage": "used storage" + }, + "company_info": { + "address": "Address", + "are_you_absolutely_sure": "Are you absolutely sure?", + "city": "City", + "company_info": "Company info", + "company_logo": "Company Logo", + "company_name": "Company Name", + "country": "Country", + "delete": "Delete", + "delete_company": "Delete Company", + "delete_company_description": "Once you delete your company, you will lose all the data and files associated with it permanently.", + "delete_company_modal_desc": "This action cannot be undone. This will permanently delete {company} and all of its associated data.", + "delete_company_modal_label": "Please type {company} to confirm", + "phone": "Phone", + "save": "Save", + "section_description": "Information about your company that will be displayed on invoices, estimates and other documents created by InvoiceShelf.", + "state": "State", + "tax_id": "Tax Identification Number", + "updated_message": "Company information updated successfully", + "vat_id": "VAT Identification Number", + "zip": "Zip" + }, + "currencies": { + "action": "Action", + "add_currency": "Add Currency", + "code": "Code", + "currencies_list": "Currencies List", + "currency": "Currency | Currencies", + "decimal_separator": "Decimal Separator", + "left": "Left", + "name": "Name", + "position": "Position", + "position_of_symbol": "Position Of Symbol", + "precision": "Precision", + "right": "Right", + "select_currency": "Select Currency", + "symbol": "Symbol", + "thousand_separator": "Thousand Separator", + "title": "Currencies" + }, + "custom_fields": { + "add_another_option": "Add another option", + "add_custom_field": "Add Custom Field", + "add_option": "Add Options", + "add_options_in_bulk": "Add options in bulk", + "added_message": "Custom Field added successfully", + "already_in_use": "Custom Field is already in use", + "custom_field_confirm_delete": "You will not be able to recover this Custom Field", + "default_value": "Default Value", + "deleted_message": "Custom Field deleted successfully", + "edit_custom_field": "Edit Custom Field", + "field_name": "Field Name", + "help_text": "Help Text", + "help_text_description": "Enter some text to help users understand the purpose of this custom field.", + "label": "Label", + "model": "Model", + "model_in_use": "Cannot update model for fields which are already in use.", + "model_type": { + "customer": "Customer", + "estimate": "Estimate", + "expense": "Expense", + "invoice": "Invoice", + "payment": "Payment" + }, + "name": "Name", + "no": "No", + "options": "options", + "order": "Order", + "placeholder": "Placeholder", + "prefix": "Prefix", + "press_enter_to_add": "Press enter to add new option", + "required": "Required", + "section_description": "Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.", + "select_custom_date": "Select Custom Date", + "select_relative_date": "Select Relative Date", + "slug": "Slug", + "sort_in_alphabetical_order": "Sort in Alphabetical Order", + "starting_number": "Starting Number", + "suffix": "Suffix", + "ticked_by_default": "Ticked by default", + "title": "Custom Fields", + "type": "Type", + "type_in_use": "Cannot update type for fields which are already in use.", + "updated_message": "Custom Field updated successfully", + "use_predefined_options": "Use Predefined Options", + "yes": "Yes" + }, + "customization": { + "Parameter": "Parameter", + "add_new_component": "Add New Component", + "component": "Component", + "customer_sequence": "Customer Sequence", + "customer_sequence_description": "Consecutive sequence of numbers for each of your customer.", + "customer_sequence_param_label": "Sequence Length", + "customer_series": "Customer Series", + "customer_series_description": "To set a different prefix/postfix for each customer.", + "customization": "customization", + "date_format": "Date Format", + "date_format_description": "A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.", + "date_format_param_label": "Format", + "delimiter": "Delimiter", + "delimiter_description": "Single character for specifying the boundary between 2 separate components. By default its set to -", + "delimiter_param_label": "Delimiter Value", + "estimates": { + "billing_address_format": "Billing Address Format", + "company_address_format": "Company Address Format", + "convert_estimate_description": "Specify what happens to the estimate after it gets converted to an invoice.", + "convert_estimate_options": "Estimate Convert Action", + "default_estimate_email_body": "Default Estimate Email Body", + "default_formats": "Default Formats", + "default_formats_description": "Below given formats are used to fill up the fields automatically on estimate creation.", + "delete_estimate": "Delete estimate", + "estimate_email_attachment": "Send estimates as attachments", + "estimate_email_attachment_setting_description": "Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.", + "estimate_number_format": "Estimate Number Format", + "estimate_number_format_description": "Customize how your estimate number gets generated automatically when you create a new estimate.", + "estimate_settings_updated": "Estimate Settings updated successfully", + "expiry_date": "Expiry Date", + "expiry_date_days": "Estimate Expires after days", + "expiry_date_description": "Specify how expiry date is automatically set when you create an estimate.", + "mark_estimate_as_accepted": "Mark estimate as accepted", + "no_action": "No action", + "preview_estimate_number": "Preview Estimate Number", + "set_expiry_date_automatically": "Set Expiry Date Automatically", + "set_expiry_date_automatically_description": "Enable this if you wish to set expiry date automatically when you create a new estimate.", + "shipping_address_format": "Shipping Address Format", + "title": "Estimates" + }, + "insert_fields": "Insert Fields", + "invoices": { + "allow": "Allow", + "billing_address_format": "Billing Address Format", + "company_address_format": "Company Address Format", + "default_formats": "Default Formats", + "default_formats_description": "Below given formats are used to fill up the fields automatically on invoice creation.", + "default_invoice_email_body": "Default Invoice Email Body", + "disable_on_invoice_paid": "Disable after full payment is recorded", + "disable_on_invoice_partial_paid": "Disable after partial payment is recorded", + "disable_on_invoice_sent": "Disable after invoice is sent", + "due_date": "Due Date", + "due_date_days": "Invoice Due after days", + "due_date_description": "Specify how due date is automatically set when you create an invoice.", + "invoice_email_attachment": "Send invoices as attachments", + "invoice_email_attachment_setting_description": "Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.", + "invoice_number_format": "Invoice Number Format", + "invoice_number_format_description": "Customize how your invoice number gets generated automatically when you create a new invoice.", + "invoice_settings_updated": "Invoice Settings updated successfully", + "preview_invoice_number": "Preview Invoice Number", + "retrospective_edits": "Retrospective Edits", + "retrospective_edits_description": " Based on your country's laws or your preference, you can restrict users from editing finalised invoices.", + "set_due_date_automatically": "Set Due Date Automatically", + "set_due_date_automatically_description": "Enable this if you wish to set due date automatically when you create a new invoice.", + "shipping_address_format": "Shipping Address Format", + "title": "Invoices" + }, + "items": { + "add_item_unit": "Add Item Unit", + "already_in_use": "Item Unit is already in use", + "deleted_message": "Item Unit deleted successfully", + "edit_item_unit": "Edit Item Unit", + "item_unit_added": "Item Unit Added", + "item_unit_confirm_delete": "You will not be able to recover this Item unit", + "item_unit_updated": "Item Unit Updated", + "title": "Items", + "unit_name": "Unit Name", + "units": "Units" + }, + "learn_custom_format": "Learn how to use custom format", + "notes": { + "add_new_note": "Add New Note", + "add_note": "Add Note", + "already_in_use": "Note is already in use", + "deleted_message": "Note deleted successfully", + "description": "Save time by creating notes and reusing them on your invoices, estimates & payments.", + "edit_note": "Edit Note", + "is_default": "Select by default", + "is_default_description": "This note will be selected by default in new invoices.", + "name": "Name", + "note_added": "Note added successfully", + "note_confirm_delete": "You will not be able to recover this Note", + "note_updated": "Note Updated successfully", + "notes": "Notes", + "title": "Notes", + "type": "Type", + "types": { + "estimate": "Estimate", + "invoice": "Invoice", + "payment": "Payment" + } + }, + "payments": { + "company_address_format": "Company Address Format", + "default_formats": "Default Formats", + "default_formats_description": "Below given formats are used to fill up the fields automatically on payment creation.", + "default_payment_email_body": "Default Payment Email Body", + "from_customer_address_format": "From Customer Address Format", + "payment_email_attachment": "Send payments as attachments", + "payment_email_attachment_setting_description": "Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.", + "payment_number_format": "Payment Number Format", + "payment_number_format_description": "Customize how your payment number gets generated automatically when you create a new payment.", + "payment_settings_updated": "Payment Settings updated successfully", + "preview_payment_number": "Preview Payment Number", + "title": "Payments" + }, + "random_sequence": "Random Sequence", + "random_sequence_description": "Random alphanumeric string. You can specify the length on the given parameter.", + "random_sequence_param_label": "Sequence Length", + "save": "Save", + "sequence": "Sequence", + "sequence_description": "Consecutive sequence of numbers across your company. You can specify the length on the given parameter.", + "sequence_param_label": "Sequence Length", + "series": "Series", + "series_description": "To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.", + "series_param_label": "Series Value", + "time_format": "Time Format", + "updated_message": "Company information updated successfully" + }, + "date_format": "Date Format", + "disk": { + "action": "Action", + "aws_bucket": "AWS Bucket", + "aws_driver": "AWS Driver", + "aws_key": "AWS Key", + "aws_region": "AWS Region", + "aws_root": "AWS Root", + "aws_secret": "AWS Secret", + "confirm_delete": "Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from InvoiceShelf", + "created_at": "created at", + "default_driver": "Default Driver", + "deleted_message": "File Disk deleted successfully", + "description": "By default, InvoiceShelf will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.", + "disk_name": "Disk Name", + "disk_setting_description": " Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.", + "disk_settings": "Disk Settings", + "disk_type": "Type", + "disk_variables_save_error": "Disk configuration failed.", + "disk_variables_save_successfully": "Disk Configured Successfully", + "do_spaces_bucket": "Do Spaces Bucket", + "do_spaces_endpoint": "Do Spaces Endpoint", + "do_spaces_key": "Do Spaces key", + "do_spaces_region": "Do Spaces Region", + "do_spaces_root": "Do Spaces Root", + "do_spaces_secret": "Do Spaces Secret", + "do_spaces_type": "Do Spaces type", + "driver": "Driver", + "dropbox": "dropbox", + "dropbox_app": "Dropbox App", + "dropbox_key": "Dropbox Key", + "dropbox_root": "Dropbox Root", + "dropbox_secret": "Dropbox Secret", + "dropbox_token": "Dropbox Token", + "dropbox_type": "Dropbox Type", + "edit_file_disk": "Edit File Disk", + "error": "Disk addition failed", + "filesystem_driver": "Filesystem Driver", + "invalid_disk_credentials": "Invalid credential of selected disk", + "is_default": "IS DEFAULT", + "local_driver": "local Driver", + "local_root": "local Root", + "media_driver": "Media Driver", + "media_root": "Media Root", + "name": "Name", + "new_disk": "Add New Disk", + "public_driver": "Public Driver", + "public_root": "Public Root", + "public_url": "Public URL", + "public_visibility": "Public Visibility", + "s3_bucket": "S3 Bucket", + "s3_endpoint": "S3 Endpoint", + "s3_key": "S3 Key", + "s3_region": "S3 Region", + "s3_root": "S3 Root", + "s3_secret": "S3 Secret", + "save_pdf_to_disk": "Save PDFs to Disk", + "select_disk": "Select Disk", + "set_default_disk": "Set Default Disk", + "set_default_disk_confirm": "This disk will be set as default and all the new PDFs will be saved on this disk", + "success_create": "Disk added successfully", + "success_set_default_disk": "Disk set as default successfully", + "success_update": "Disk updated successfully", + "title": "File Disk | File Disks" + }, + "exchange_rate": { + "active": "Active", + "created_message": "Provider Created successfully", + "currency": "Currencies", + "currency_converter": "Currency Converter", + "currency_freak": "Currency Freak", + "currency_help_text": "This provider will only be used on above selected currencies", + "currency_in_used": "The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.", + "currency_layer": "Currency Layer", + "default_currency_error": "This currency is already used in one of the Active Provider", + "deleted_message": "Provider Deleted Successfully", + "description": "Please enter exchange rate of all the currencies mentioned below to help InvoiceShelf properly calculate the amounts in {currency}.", + "driver": "Driver", + "drivers": "Drivers", + "edit_driver": "Edit Provider", + "error": " You cannot Delete Active Driver", + "exchange_help_text": "Enter exchange rate to convert from {currency} to {baseCurrency}", + "exchange_rate": "Exchange Rate", + "exchange_rate_confirm_delete": "You will not be able to recover this driver", + "is_default": "IS DEFAULT", + "key": "API Key", + "name": "Name", + "new_driver": "Add New Provider", + "open_exchange_rate": "Open Exchange Rate", + "providers_description": "Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.", + "select_driver": "Select Driver", + "server": "Server", + "title": "Fix Currency Exchange issues", + "update": "select exchange rate ", + "updated_message": "Provider Updated Successfully", + "url": "URL" + }, + "expense_category": { + "action": "Action", + "add_category": "Add Category", + "add_new_category": "Add New Category", + "already_in_use": "Category is already in use", + "category_description": "Description", + "category_name": "Category Name", + "confirm_delete": "You will not be able to recover this Expense Category", + "created_message": "Expense Category created successfully", + "deleted_message": "Expense category deleted successfully", + "description": "Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.", + "edit_category": "Edit Category", + "title": "Expense Categories", + "updated_message": "Expense category updated successfully" + }, + "general": "General", + "language": "Language", + "mail": { + "driver": "Mail Driver", + "encryption": "Mail Encryption", + "from_mail": "From Mail Address", + "from_name": "From Mail Name", + "host": "Mail Host", + "mail_config": "Mail Configuration", + "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.", + "mailgun_domain": "Domain", + "mailgun_endpoint": "Mailgun Endpoint", + "mailgun_secret": "Mailgun Secret", + "password": "Mail Password", + "port": "Mail Port", + "secret": "Secret", + "ses_key": "SES Key", + "ses_region": "AWS Region", + "ses_secret": "SES Secret", + "username": "Mail Username" + }, + "menu_title": { + "account_settings": "Account Settings", + "address_information": "Address Information", + "backup": "Backup", + "company_information": "Company Information", + "custom_fields": "Custom Fields", + "customization": "Customization", + "exchange_rate": "Exchange Rate", + "expense_category": "Expense Categories", + "file_disk": "File Disk", + "notes": "Notes", + "notifications": "Notifications", + "payment_modes": "Payment Modes", + "pdf_generation": "PDF Generation", + "preferences": "Preferences", + "tax_types": "Tax Types", + "update_app": "Update App" + }, + "notification": { + "description": "Which email notifications would you like to receive when something changes?", + "email": "Send Notifications to", + "email_save_message": "Email saved successfully", + "estimate_viewed": "Estimate viewed", + "estimate_viewed_desc": "When your customer views the estimate sent via invoiceshelf dashboard.", + "invoice_viewed": "Invoice viewed", + "invoice_viewed_desc": "When your customer views the invoice sent via invoiceshelf dashboard.", + "please_enter_email": "Please Enter Email", + "save": "Save", + "title": "Notifications" + }, + "payment_modes": { + "add_payment_mode": "Add Payment Mode", + "deleted_message": "Payment Mode deleted successfully", + "description": "Modes of transaction for payments", + "edit_payment_mode": "Edit Payment Mode", + "expenses_attached": "This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.", + "mode_name": "Mode Name", + "payment_mode_added": "Payment Mode Added", + "payment_mode_confirm_delete": "You will not be able to recover this Payment Mode", + "payment_mode_updated": "Payment Mode Updated", + "payments_attached": "This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.", + "title": "Payment Modes" + }, + "pdf": { + "driver": "PDF Driver to use", + "footer_text": "Footer Text", + "gotenberg_host": "Gotenberg service host", + "papersize": "Papersize", + "papersize_hint": "Papersize in width and height (ex. \"210mm 297mm\")", + "pdf_configuration": "PDF Generation Settings", + "pdf_layout": "PDF Layout", + "pdf_variables_save_error": "PDF configuration could not be saved", + "pdf_variables_save_successfully": "PDF configuration saved successfully", + "section_description": "Change the way PDFs are generated", + "title": "PDF Setting" + }, + "preferences": { + "active": "Active", + "company_currency_unchangeable": "Company currency cannot be changed", + "completed": "Completed", + "create_status": "Create Status", + "currency": "Currency", + "date_format": "Date Format", + "default_language": "Default Language", + "discount_per_item": "Discount Per Item ", + "discount_setting": "Discount Setting", + "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", + "expire_public_links": "Automatically Expire Public Links", + "expire_setting_description": "Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.", + "fiscal_year": "Financial Year", + "fiscal_years": { + "april_march": "April - March", + "august_july": "August - July", + "december_november": "December - November", + "february_january": "February - January", + "january_december": "January - December", + "july_june": "July - June", + "june_may": "June - May", + "march_february": "March - February", + "may_april": "May - April", + "november_october": "November - October", + "october_september": "October - September", + "september_august": "September - August" + }, + "general_settings": "Default preferences for the system.", + "invoice_use_time": "Use time in invoices", + "invoice_use_time_description": "Enable this if you want to select exact invoice time.", + "on_hold": "On Hold", + "preference": "Preference | Preferences", + "recurring_invoice_status": "Recurring Invoice Status", + "save": "Save", + "select_date_format": "Select Date Format", + "select_financial_year": "Select Financial Year", + "select_language": "Select Language", + "select_time_format": "Select Time Format", + "select_time_zone": "Select Time Zone", + "time_format": "Time Format", + "time_zone": "Time Zone", + "update_status": "Update Status", + "updated_message": "Preferences updated successfully" + }, + "primary_currency": "Primary Currency", + "roles": { + "add_new_role": "Add New Role", + "add_role": "Add Role", + "added_on": "Added on", + "already_in_use": "Role is already in use", + "confirm_delete": "You will not be able to recover this Role", + "created_message": "Role created successfully", + "deleted_message": "Role deleted successfully", + "description": "Manage the roles & permissions of this company", + "edit_role": "Edit Role", + "name": "Name", + "none": "None", + "permission": "Permission | Permissions", + "role_name": "Role Name", + "save": "Save", + "select_all": "Select All", + "title": "Roles", + "updated_message": "Role updated successfully" + }, + "setting": "Settings | Settings", + "tax_types": { + "action": "Action", + "add_new_tax": "Add New Tax", + "add_tax": "Add Tax", + "already_in_use": "Tax is already in use", + "compound_tax": "Compound Tax", + "confirm_delete": "You will not be able to recover this Tax Type", + "created_message": "Tax type created successfully", + "deleted_message": "Tax type deleted successfully", + "description": "You can add or Remove Taxes as you please. InvoiceShelf supports Taxes on Individual Items as well as on the invoice.", + "edit_tax": "Edit Tax", + "percent": "Percent", + "tax_name": "Tax Name", + "tax_per_item": "Tax Per Item", + "tax_setting_description": "Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.", + "tax_settings": "Tax Settings", + "title": "Tax Types", + "updated_message": "Tax type updated successfully" + }, + "taxations": { + "add_address": "Add Address for fetching sales tax.", + "add_billing_address": "Enter Billing Address", + "add_company_address": "Enter Company Address", + "add_shipping_address": "Enter Shipping Address", + "address_placeholder": "Example: 123, My Street", + "city_placeholder": "Example: Los Angeles", + "invalid_address": "Please provide valid address details.", + "modal_description": "The information below is required in order to fetch sales tax.", + "state_placeholder": "Example: CA", + "zip_placeholder": "Example: 90024" + }, + "time_format": "Time Format", + "timezone": "Time Zone", + "title": "Settings", + "update_app": { + "avail_update": "New Update available", + "check_update": "Check for updates", + "copying_files": "Copying Files", + "current_version": "Current Version", + "deleting_files": "Deleting Unused files", + "description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below", + "download_zip_file": "Download ZIP file", + "finishing_update": "Finishing Update", + "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", + "latest_message": "No update available! You are on the latest version.", + "next_version": "Next version", + "progress_text": "It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes", + "requirements": "Requirements", + "running_migrations": "Running Migrations", + "title": "Update App", + "unzipping_package": "Unzipping Package", + "update": "Update Now", + "update_failed": "Update Failed", + "update_failed_text": "Sorry! Your update failed on : {step} step", + "update_progress": "Update in progress...", + "update_success": "App has been updated! Please wait while your browser window gets reloaded automatically.", + "update_warning": "All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating." + }, + "user_profile": { + "confirm_password": "Confirm Password", + "email": "Email", + "name": "Name", + "password": "Password" } - } - }, - "account_settings": { - "profile_picture": "Profile Picture", - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password", - "account_settings": "Account Settings", - "save": "Save", - "section_description": "You can update your name, email & password using the form below.", - "updated_message": "Account Settings updated successfully" - }, - "user_profile": { - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password" - }, - "notification": { - "title": "Notifications", - "email": "Send Notifications to", - "description": "Which email notifications would you like to receive when something changes?", - "invoice_viewed": "Invoice viewed", - "invoice_viewed_desc": "When your customer views the invoice sent via invoiceshelf dashboard.", - "estimate_viewed": "Estimate viewed", - "estimate_viewed_desc": "When your customer views the estimate sent via invoiceshelf dashboard.", - "save": "Save", - "email_save_message": "Email saved successfully", - "please_enter_email": "Please Enter Email" - }, - "roles": { - "title": "Roles", - "description": "Manage the roles & permissions of this company", - "save": "Save", - "add_new_role": "Add New Role", - "role_name": "Role Name", - "added_on": "Added on", - "add_role": "Add Role", - "edit_role": "Edit Role", - "name": "Name", - "permission": "Permission | Permissions", - "select_all": "Select All", - "none": "None", - "confirm_delete": "You will not be able to recover this Role", - "created_message": "Role created successfully", - "updated_message": "Role updated successfully", - "deleted_message": "Role deleted successfully", - "already_in_use": "Role is already in use" - }, - "exchange_rate": { - "exchange_rate": "Exchange Rate", - "title": "Fix Currency Exchange issues", - "description": "Please enter exchange rate of all the currencies mentioned below to help InvoiceShelf properly calculate the amounts in {currency}.", - "drivers": "Drivers", - "new_driver": "Add New Provider", - "edit_driver": "Edit Provider", - "select_driver": "Select Driver", - "update": "select exchange rate ", - "providers_description": "Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.", - "key": "API Key", - "name": "Name", - "driver": "Driver", - "is_default": "IS DEFAULT", - "currency": "Currencies", - "exchange_rate_confirm_delete": "You will not be able to recover this driver", - "created_message": "Provider Created successfully", - "updated_message": "Provider Updated Successfully", - "deleted_message": "Provider Deleted Successfully", - "error": " You cannot Delete Active Driver", - "default_currency_error": "This currency is already used in one of the Active Provider", - "exchange_help_text": "Enter exchange rate to convert from {currency} to {baseCurrency}", - "currency_freak": "Currency Freak", - "currency_layer": "Currency Layer", - "open_exchange_rate": "Open Exchange Rate", - "currency_converter": "Currency Converter", - "server": "Server", - "url": "URL", - "active": "Active", - "currency_help_text": "This provider will only be used on above selected currencies", - "currency_in_used": "The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again." }, "tax_types": { - "title": "Tax Types", - "add_tax": "Add Tax", - "edit_tax": "Edit Tax", - "description": "You can add or Remove Taxes as you please. InvoiceShelf supports Taxes on Individual Items as well as on the invoice.", - "add_new_tax": "Add New Tax", - "tax_settings": "Tax Settings", - "tax_per_item": "Tax Per Item", - "tax_name": "Tax Name", - "compound_tax": "Compound Tax", - "percent": "Percent", - "action": "Action", - "tax_setting_description": "Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.", - "created_message": "Tax type created successfully", - "updated_message": "Tax type updated successfully", - "deleted_message": "Tax type deleted successfully", - "confirm_delete": "You will not be able to recover this Tax Type", - "already_in_use": "Tax is already in use" + "compound_tax": "Compound Tax", + "description": "Description", + "name": "Name", + "percent": "Percent" }, - "payment_modes": { - "title": "Payment Modes", - "description": "Modes of transaction for payments", - "add_payment_mode": "Add Payment Mode", - "edit_payment_mode": "Edit Payment Mode", - "mode_name": "Mode Name", - "payment_mode_added": "Payment Mode Added", - "payment_mode_updated": "Payment Mode Updated", - "payment_mode_confirm_delete": "You will not be able to recover this Payment Mode", - "payments_attached": "This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.", - "expenses_attached": "This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.", - "deleted_message": "Payment Mode deleted successfully" + "users": { + "action": "Action", + "add_new_user": "Add New User", + "add_user": "Add User", + "added_on": "Added On", + "companies": "Companies", + "confirm_delete": "You will not be able to recover this User | You will not be able to recover these Users", + "created_message": "User created successfully", + "date_of_creation": "Date Of Creation", + "deleted_message": "User deleted successfully | Users deleted successfully", + "description": "Description", + "edit_user": "Edit User", + "email": "Email", + "list_of_users": "This section will contain the list of users.", + "name": "Name", + "new_user": "New User", + "no_users": "No users yet!", + "password": "Password", + "phone": "Phone", + "save_user": "Save User", + "select_company_role": "Select Role for {company}", + "title": "Users", + "update_user": "Update User", + "updated_message": "User updated successfully", + "user": "User | Users", + "user_attached_message": "Cannot delete an item which is already in use", + "users_list": "Users List" }, - "expense_category": { - "title": "Expense Categories", - "action": "Action", - "description": "Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.", - "add_new_category": "Add New Category", - "add_category": "Add Category", - "edit_category": "Edit Category", - "category_name": "Category Name", - "category_description": "Description", - "created_message": "Expense Category created successfully", - "deleted_message": "Expense category deleted successfully", - "updated_message": "Expense category updated successfully", - "confirm_delete": "You will not be able to recover this Expense Category", - "already_in_use": "Category is already in use" + "validation": { + "address_maxlength": "Address should not be greater than 255 characters.", + "amount_maxlength": "Amount should not be greater than 20 digits.", + "amount_minvalue": "Amount should be greater than 0.", + "at_least_one_ability": "Please select atleast one Permission.", + "characters_only": "Characters Only.", + "company_name_not_same": "Company name must match with given name.", + "description_maxlength": "Description should not be greater than 255 characters.", + "discount_maxlength": "Discount should not be greater than max discount", + "email_already_taken": "The email has already been taken.", + "email_does_not_exist": "User with given email doesn't exist", + "email_incorrect": "Incorrect Email.", + "enter_valid_tax_rate": "Enter valid tax rate", + "invalid_domain_url": "Invalid url (ex: invoiceshelf.com)", + "invalid_phone": "Invalid Phone Number", + "invalid_url": "Invalid url (ex: http://www.invoiceshelf.com)", + "item_unit_already_taken": "This item unit name has already been taken", + "maximum_options_error": "Maximum of {max} options selected. First remove a selected option to select another.", + "message_maxlength": "Message should not be greater than 255 characters.", + "name_min_length": "Name must have at least {count} letters.", + "not_yet": "Not yet? Send it again", + "notes_maxlength": "Notes should not be greater than 65,000 characters.", + "number_length_minvalue": "Number length should be greater than 0", + "numbers_only": "Numbers Only.", + "password_incorrect": "Passwords must be identical", + "password_length": "Password must be {count} character long.", + "password_min_length": "Password must contain {count} characters", + "payment_greater_than_due_amount": "Entered Payment is more than due amount of this invoice.", + "payment_greater_than_zero": "Payment must be greater than zero.", + "payment_mode_already_taken": "This payment mode name has already been taken", + "prefix_maxlength": "Prefix should not be greater than 5 characters.", + "prefix_min_length": "Prefix must have at least {count} letters.", + "price_greater_than_zero": "Price must be greater than zero.", + "price_maxlength": "Price should not be greater than 20 digits.", + "price_minvalue": "Price should be greater than 0.", + "qty_must_greater_than_zero": "Quantity must be greater than zero.", + "quantity_maxlength": "Quantity should not be greater than 20 digits.", + "ref_number_maxlength": "Ref Number should not be greater than 255 characters.", + "required": "Field is required", + "send_reset_link": "Send Reset Link", + "something_went_wrong": "something went wrong", + "subject_maxlength": "Subject should not be greater than 100 characters.", + "valid_driver_key": "Please enter a valid {driver} key.", + "valid_exchange_rate": "Please enter a valid exchange rate." }, - "preferences": { - "currency": "Currency", - "default_language": "Default Language", - "time_zone": "Time Zone", - "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Format", - "discount_setting": "Discount Setting", - "discount_per_item": "Discount Per Item ", - "discount_setting_description": "Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.", - "expire_public_links": "Automatically Expire Public Links", - "expire_setting_description": "Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.", - "save": "Save", - "preference": "Preference | Preferences", - "general_settings": "Default preferences for the system.", - "updated_message": "Preferences updated successfully", - "select_language": "Select Language", - "select_time_zone": "Select Time Zone", - "select_date_format": "Select Date Format", - "select_time_format": "Select Time Format", - "select_financial_year": "Select Financial Year", - "recurring_invoice_status": "Recurring Invoice Status", - "create_status": "Create Status", - "active": "Active", - "on_hold": "On Hold", - "update_status": "Update Status", - "completed": "Completed", - "company_currency_unchangeable": "Company currency cannot be changed", - "invoice_use_time": "Use time in invoices", - "invoice_use_time_description": "Enable this if you want to select exact invoice time.", - "fiscal_years": { - "january_december": "January - December", - "february_january": "February - January", - "march_february": "March - February", - "april_march": "April - March", - "may_april": "May - April", - "june_may": "June - May", - "july_june": "July - June", - "august_july": "August - July", - "september_august": "September - August", - "october_september": "October - September", - "november_october": "November - October", - "december_november": "December - November" - } - }, - "update_app": { - "title": "Update App", - "description": "You can easily update InvoiceShelf by checking for a new update by clicking the button below", - "check_update": "Check for updates", - "insider_consent": "Opt-in for Insider releases. Recommended for testing purposes only.", - "avail_update": "New Update available", - "next_version": "Next version", - "requirements": "Requirements", - "update": "Update Now", - "update_progress": "Update in progress...", - "progress_text": "It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes", - "update_success": "App has been updated! Please wait while your browser window gets reloaded automatically.", - "latest_message": "No update available! You are on the latest version.", - "current_version": "Current Version", - "download_zip_file": "Download ZIP file", - "unzipping_package": "Unzipping Package", - "copying_files": "Copying Files", - "deleting_files": "Deleting Unused files", - "running_migrations": "Running Migrations", - "finishing_update": "Finishing Update", - "update_failed": "Update Failed", - "update_failed_text": "Sorry! Your update failed on : {step} step", - "update_warning": "All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating." - }, - "backup": { - "title": "Backup | Backups", - "description": "The backup is a zipfile that contains all files in the directories you specify along with a dump of your database", - "new_backup": "Add New Backup", - "create_backup": "Create Backup", - "select_backup_type": "Select Backup Type", - "backup_confirm_delete": "You will not be able to recover this Backup", - "path": "path", - "new_disk": "New Disk", - "created_at": "created at", - "size": "size", - "dropbox": "dropbox", - "local": "local", - "healthy": "healthy", - "amount_of_backups": "amount of backups", - "newest_backups": "newest backups", - "used_storage": "used storage", - "select_disk": "Select Disk", - "action": "Action", - "deleted_message": "Backup deleted successfully", - "created_message": "Backup created successfully", - "invalid_disk_credentials": "Invalid credential of selected disk" - }, - "disk": { - "title": "File Disk | File Disks", - "description": "By default, InvoiceShelf will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.", - "created_at": "created at", - "dropbox": "dropbox", - "name": "Name", - "driver": "Driver", - "disk_type": "Type", - "disk_name": "Disk Name", - "new_disk": "Add New Disk", - "filesystem_driver": "Filesystem Driver", - "local_driver": "local Driver", - "local_root": "local Root", - "public_driver": "Public Driver", - "public_root": "Public Root", - "public_url": "Public URL", - "public_visibility": "Public Visibility", - "media_driver": "Media Driver", - "media_root": "Media Root", - "aws_driver": "AWS Driver", - "aws_key": "AWS Key", - "aws_secret": "AWS Secret", - "aws_region": "AWS Region", - "aws_bucket": "AWS Bucket", - "aws_root": "AWS Root", - "s3_endpoint": "S3 Endpoint", - "s3_key": "S3 Key", - "s3_secret": "S3 Secret", - "s3_region": "S3 Region", - "s3_bucket": "S3 Bucket", - "s3_root": "S3 Root", - "do_spaces_type": "Do Spaces type", - "do_spaces_key": "Do Spaces key", - "do_spaces_secret": "Do Spaces Secret", - "do_spaces_region": "Do Spaces Region", - "do_spaces_bucket": "Do Spaces Bucket", - "do_spaces_endpoint": "Do Spaces Endpoint", - "do_spaces_root": "Do Spaces Root", - "dropbox_type": "Dropbox Type", - "dropbox_token": "Dropbox Token", - "dropbox_key": "Dropbox Key", - "dropbox_secret": "Dropbox Secret", - "dropbox_app": "Dropbox App", - "dropbox_root": "Dropbox Root", - "default_driver": "Default Driver", - "is_default": "IS DEFAULT", - "set_default_disk": "Set Default Disk", - "set_default_disk_confirm": "This disk will be set as default and all the new PDFs will be saved on this disk", - "success_set_default_disk": "Disk set as default successfully", - "save_pdf_to_disk": "Save PDFs to Disk", - "disk_setting_description": " Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.", - "select_disk": "Select Disk", - "disk_settings": "Disk Settings", - "confirm_delete": "Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from InvoiceShelf", - "action": "Action", - "edit_file_disk": "Edit File Disk", - "success_create": "Disk added successfully", - "success_update": "Disk updated successfully", - "error": "Disk addition failed", - "deleted_message": "File Disk deleted successfully", - "disk_variables_save_successfully": "Disk Configured Successfully", - "disk_variables_save_error": "Disk configuration failed.", - "invalid_disk_credentials": "Invalid credential of selected disk" - }, - "taxations": { - "add_billing_address": "Enter Billing Address", - "add_shipping_address": "Enter Shipping Address", - "add_company_address": "Enter Company Address", - "modal_description": "The information below is required in order to fetch sales tax.", - "add_address": "Add Address for fetching sales tax.", - "address_placeholder": "Example: 123, My Street", - "city_placeholder": "Example: Los Angeles", - "state_placeholder": "Example: CA", - "zip_placeholder": "Example: 90024", - "invalid_address": "Please provide valid address details." + "wizard": { + "account_info": "Account Information", + "account_info_desc": "Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.", + "address": "Address", + "city": "City", + "company_info": "Company Information", + "company_info_desc": "This information will be displayed on invoices. Note that you can edit this later on settings page.", + "company_logo": "Company Logo", + "company_name": "Company Name", + "confirm_password": "Confirm Password", + "continue": "Continue", + "country": "Country", + "currency": "Currency", + "currency_set_alert": "The company's currency cannot be changed later.", + "database": { + "app_domain": "App Domain", + "app_url": "App URL", + "connection": "Database Connection", + "database": "Site URL & Database", + "db_name": "Database Name", + "db_path": "Database Path", + "desc": "Create a database on your server and set the credentials using the form below.", + "host": "Database Host", + "overwrite": "Overwrite existing database and proceed", + "password": "Database Password", + "port": "Database Port", + "username": "Database Username" + }, + "date_format": "Date Format", + "email": "Email", + "errors": { + "connection_failed": "Database connection failed", + "database_should_be_empty": "Database should be empty", + "database_variables_save_error": "Cannot write configuration to .env file. Please check its file permissions", + "mail_variables_save_error": "Email configuration failed.", + "migrate_failed": "Migrate Failed" + }, + "fiscal_year": "Financial Year", + "from_address": "From Address", + "go_back": "Go Back", + "install_language": { + "description": "Select language wizard to install InvoiceShelf", + "title": "Choose your language" + }, + "language": "Language", + "logo_preview": "Logo Preview", + "mail": { + "driver": "Mail Driver", + "encryption": "Mail Encryption", + "from_mail": "From Mail Address", + "from_name": "From Mail Name", + "host": "Mail Host", + "mail_config": "Mail Configuration", + "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.", + "mailgun_domain": "Domain", + "mailgun_endpoint": "Mailgun Endpoint", + "mailgun_secret": "Mailgun Secret", + "password": "Mail Password", + "port": "Mail Port", + "secret": "Secret", + "ses_key": "SES Key", + "ses_secret": "SES Secret", + "username": "Mail Username" + }, + "name": "Name", + "next": "Next", + "password": "Password", + "permissions": { + "permission_confirm_desc": "Folder permission check failed", + "permission_confirm_title": "Are you sure you want to continue?", + "permission_desc": "Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.", + "permissions": "Permissions" + }, + "phone": "Phone", + "preferences": "Company Preferences", + "preferences_desc": "Specify the default preferences for this company.", + "req": { + "check_req": "Check Requirements", + "php_req_version": "Php (version {version} required)", + "system_req": "System Requirements", + "system_req_desc": "InvoiceShelf has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below." + }, + "save_cont": "Save & Continue", + "skip": "Skip", + "state": "State", + "street": "Street1 | Street2", + "success": { + "database_variables_save_successfully": "Database configured successfully.", + "mail_variables_save_successfully": "Email configured successfully" + }, + "time_format": "Time Format", + "time_zone": "Time Zone", + "username": "Username", + "verify_domain": { + "app_domain": "App Domain", + "desc": "InvoiceShelf uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.", + "failed": "Domain verification failed. Please enter valid domain name.", + "notes": { + "if_you": "If you're accessing the website on a different port, please mention the port. For example:", + "in_front": "in front of the domain.", + "not_contain": "App domain should not contain", + "notes": "Notes:", + "or": "or" + }, + "success": "Domain Verify Successfully.", + "title": "Domain Verification", + "verify_and_continue": "Verify And Continue", + "verify_now": "Verify Now" + }, + "zip_code": "Zip Code" } - }, - "wizard": { - "account_info": "Account Information", - "account_info_desc": "Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.", - "name": "Name", - "email": "Email", - "password": "Password", - "confirm_password": "Confirm Password", - "save_cont": "Save & Continue", - "company_info": "Company Information", - "company_info_desc": "This information will be displayed on invoices. Note that you can edit this later on settings page.", - "company_name": "Company Name", - "company_logo": "Company Logo", - "logo_preview": "Logo Preview", - "preferences": "Company Preferences", - "preferences_desc": "Specify the default preferences for this company.", - "currency_set_alert": "The company's currency cannot be changed later.", - "country": "Country", - "state": "State", - "city": "City", - "address": "Address", - "street": "Street1 | Street2", - "phone": "Phone", - "zip_code": "Zip Code", - "go_back": "Go Back", - "currency": "Currency", - "language": "Language", - "time_zone": "Time Zone", - "fiscal_year": "Financial Year", - "date_format": "Date Format", - "time_format": "Time Format", - "from_address": "From Address", - "username": "Username", - "next": "Next", - "continue": "Continue", - "skip": "Skip", - "install_language": { - "title": "Choose your language", - "description": "Select language wizard to install InvoiceShelf" - }, - "database": { - "database": "Site URL & Database", - "connection": "Database Connection", - "host": "Database Host", - "port": "Database Port", - "password": "Database Password", - "app_url": "App URL", - "app_domain": "App Domain", - "username": "Database Username", - "db_name": "Database Name", - "db_path": "Database Path", - "overwrite": "Overwrite existing database and proceed", - "desc": "Create a database on your server and set the credentials using the form below." - }, - "permissions": { - "permissions": "Permissions", - "permission_confirm_title": "Are you sure you want to continue?", - "permission_confirm_desc": "Folder permission check failed", - "permission_desc": "Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions." - }, - "verify_domain": { - "title": "Domain Verification", - "desc": "InvoiceShelf uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.", - "app_domain": "App Domain", - "verify_now": "Verify Now", - "success": "Domain Verify Successfully.", - "failed": "Domain verification failed. Please enter valid domain name.", - "verify_and_continue": "Verify And Continue", - "notes": { - "notes": "Notes:", - "not_contain": "App domain should not contain", - "or": "or", - "in_front": "in front of the domain.", - "if_you": "If you're accessing the website on a different port, please mention the port. For example:" - } - }, - "mail": { - "host": "Mail Host", - "port": "Mail Port", - "driver": "Mail Driver", - "secret": "Secret", - "mailgun_secret": "Mailgun Secret", - "mailgun_domain": "Domain", - "mailgun_endpoint": "Mailgun Endpoint", - "ses_secret": "SES Secret", - "ses_key": "SES Key", - "password": "Mail Password", - "username": "Mail Username", - "mail_config": "Mail Configuration", - "from_name": "From Mail Name", - "from_mail": "From Mail Address", - "encryption": "Mail Encryption", - "mail_config_desc": "Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc." - }, - "req": { - "system_req": "System Requirements", - "php_req_version": "Php (version {version} required)", - "check_req": "Check Requirements", - "system_req_desc": "InvoiceShelf has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below." - }, - "errors": { - "migrate_failed": "Migrate Failed", - "database_variables_save_error": "Cannot write configuration to .env file. Please check its file permissions", - "mail_variables_save_error": "Email configuration failed.", - "connection_failed": "Database connection failed", - "database_should_be_empty": "Database should be empty" - }, - "success": { - "mail_variables_save_successfully": "Email configured successfully", - "database_variables_save_successfully": "Database configured successfully." - } - }, - "validation": { - "invalid_phone": "Invalid Phone Number", - "invalid_url": "Invalid url (ex: http://www.invoiceshelf.com)", - "invalid_domain_url": "Invalid url (ex: invoiceshelf.com)", - "required": "Field is required", - "email_incorrect": "Incorrect Email.", - "email_already_taken": "The email has already been taken.", - "email_does_not_exist": "User with given email doesn't exist", - "item_unit_already_taken": "This item unit name has already been taken", - "payment_mode_already_taken": "This payment mode name has already been taken", - "send_reset_link": "Send Reset Link", - "not_yet": "Not yet? Send it again", - "password_min_length": "Password must contain {count} characters", - "name_min_length": "Name must have at least {count} letters.", - "prefix_min_length": "Prefix must have at least {count} letters.", - "enter_valid_tax_rate": "Enter valid tax rate", - "numbers_only": "Numbers Only.", - "characters_only": "Characters Only.", - "password_incorrect": "Passwords must be identical", - "password_length": "Password must be {count} character long.", - "qty_must_greater_than_zero": "Quantity must be greater than zero.", - "price_greater_than_zero": "Price must be greater than zero.", - "payment_greater_than_zero": "Payment must be greater than zero.", - "payment_greater_than_due_amount": "Entered Payment is more than due amount of this invoice.", - "quantity_maxlength": "Quantity should not be greater than 20 digits.", - "price_maxlength": "Price should not be greater than 20 digits.", - "price_minvalue": "Price should be greater than 0.", - "amount_maxlength": "Amount should not be greater than 20 digits.", - "amount_minvalue": "Amount should be greater than 0.", - "discount_maxlength": "Discount should not be greater than max discount", - "description_maxlength": "Description should not be greater than 255 characters.", - "subject_maxlength": "Subject should not be greater than 100 characters.", - "message_maxlength": "Message should not be greater than 255 characters.", - "maximum_options_error": "Maximum of {max} options selected. First remove a selected option to select another.", - "notes_maxlength": "Notes should not be greater than 65,000 characters.", - "address_maxlength": "Address should not be greater than 255 characters.", - "ref_number_maxlength": "Ref Number should not be greater than 255 characters.", - "prefix_maxlength": "Prefix should not be greater than 5 characters.", - "something_went_wrong": "something went wrong", - "number_length_minvalue": "Number length should be greater than 0", - "at_least_one_ability": "Please select atleast one Permission.", - "valid_driver_key": "Please enter a valid {driver} key.", - "valid_exchange_rate": "Please enter a valid exchange rate.", - "company_name_not_same": "Company name must match with given name." - }, - "errors": { - "starter_plan": "This feature is available on Starter plan and onwards!", - "invalid_provider_key": "Please Enter Valid Provider API Key.", - "estimate_number_used": "The estimate number has already been taken.", - "invoice_number_used": "The invoice number has already been taken.", - "payment_attached": "This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.", - "payment_number_used": "The payment number has already been taken.", - "name_already_taken": "The name has already been taken.", - "receipt_does_not_exist": "Receipt does not exist.", - "customer_cannot_be_changed_after_payment_is_added": "Customer cannot be change after payment is added", - "invalid_credentials": "Invalid Credentials.", - "not_allowed": "Not Allowed", - "login_invalid_credentials": "These credentials do not match our records.", - "enter_valid_cron_format": "Please enter a valid cron format", - "email_could_not_be_sent": "Email could not be sent to this email address.", - "invalid_address": "Please enter a valid address.", - "invalid_key": "Please enter valid key.", - "invalid_state": "Please enter a valid state.", - "invalid_city": "Please enter a valid city.", - "invalid_postal_code": "Please enter a valid zip.", - "invalid_format": "Please enter valid query string format.", - "api_error": "Server not responding.", - "feature_not_enabled": "Feature not enabled.", - "request_limit_met": "Api request limit exceeded.", - "address_incomplete": "Incomplete Address" - }, - "pdf_estimate_label": "Estimate", - "pdf_estimate_number": "Estimate Number", - "pdf_estimate_date": "Estimate Date", - "pdf_estimate_expire_date": "Expiry Date", - "pdf_invoice_label": "Invoice", - "pdf_invoice_number": "Invoice Number", - "pdf_invoice_date": "Invoice Date", - "pdf_invoice_due_date": "Due Date", - "pdf_notes": "Notes", - "pdf_items_label": "Items", - "pdf_quantity_label": "Quantity", - "pdf_price_label": "Price", - "pdf_discount_label": "Discount", - "pdf_amount_label": "Amount", - "pdf_subtotal": "Subtotal", - "pdf_total": "Total", - "pdf_payment_label": "Payment", - "pdf_payment_receipt_label": "PAYMENT RECEIPT", - "pdf_payment_date": "Payment Date", - "pdf_payment_number": "Payment Number", - "pdf_payment_mode": "Payment Mode", - "pdf_payment_amount_received_label": "Amount Received", - "pdf_expense_report_label": "EXPENSES REPORT", - "pdf_total_expenses_label": "TOTAL EXPENSE", - "pdf_profit_loss_label": "PROFIT & LOSS REPORT", - "pdf_sales_customers_label": "Sales Customer Report", - "pdf_sales_items_label": "Sales Item Report", - "pdf_tax_summery_label": "Tax Summary Report", - "pdf_income_label": "INCOME", - "pdf_net_profit_label": "NET PROFIT", - "pdf_customer_sales_report": "Sales Report: By Customer", - "pdf_total_sales_label": "TOTAL SALES", - "pdf_item_sales_label": "Sales Report: By Item", - "pdf_tax_report_label": "TAX REPORT", - "pdf_total_tax_label": "TOTAL TAX", - "pdf_tax_types_label": "Tax Types", - "pdf_expenses_label": "Expenses", - "pdf_bill_to": "Bill to,", - "pdf_ship_to": "Ship to,", - "pdf_received_from": "Received from:", - "pdf_tax_label": "Tax", - "pdf_tax_id": "Tax-ID", - "pdf_vat_id": "VAT-ID", - "pdf_amount_paid": "Amount Paid", - "pdf_amount_due": "Amount Due", - "mail_thanks": "Thanks", - "mail_view_estimate": "View Estimate", - "mail_viewed_estimate": ":name viewed this Estimate.", - "mail_view_invoice": "View Invoice", - "mail_viewed_invoice": ":name viewed this Invoice.", - "mail_view_payment": "View Payment", - "notification_view_estimate": "[Notification] Estimate viewed", - "notification_view_invoice": "[Notification] Invoice viewed", - "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:": "You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:" } diff --git a/lang/cs.json b/lang/cs.json index 23ea41c1..b1e1c99c 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -649,6 +649,8 @@ "from_date": "Od data", "to_date": "Do data", "expense_date": "Datum", + "expense_number": "Číslo výdaje", + "expense_number_placeholder": "EXP-001", "description": "Popis", "receipt": "Doklad", "amount": "Částka", diff --git a/lang/de.json b/lang/de.json index bb6d9fd0..040d126a 100644 --- a/lang/de.json +++ b/lang/de.json @@ -649,6 +649,8 @@ "from_date": "Von Datum", "to_date": "bis Datum", "expense_date": "Datum", + "expense_number": "Kostennummer", + "expense_number_placeholder": "EXP-001", "description": "Beschreibung", "receipt": "Rechnung", "amount": "Summe", diff --git a/lang/el.json b/lang/el.json index e3e9d234..f2dc76f9 100644 --- a/lang/el.json +++ b/lang/el.json @@ -649,6 +649,8 @@ "from_date": "Από Ημερομηνία", "to_date": "Έως ημερομηνία", "expense_date": "Ημερομηνία", + "expense_number": "Αριθμός παραστατικού", + "expense_number_placeholder": "EXP-001", "description": "Περιγραφή", "receipt": "Απόδειξη", "amount": "Ποσό", diff --git a/lang/en.json b/lang/en.json index 84650b9d..4497bb0d 100644 --- a/lang/en.json +++ b/lang/en.json @@ -652,6 +652,8 @@ "from_date": "From Date", "to_date": "To Date", "expense_date": "Date", + "expense_number": "Expense Number", + "expense_number_placeholder": "EXP-001", "description": "Description", "receipt": "Receipt", "amount": "Amount", diff --git a/lang/es.json b/lang/es.json index 7dbbacdd..e0426935 100644 --- a/lang/es.json +++ b/lang/es.json @@ -649,6 +649,8 @@ "from_date": "Desde la fecha", "to_date": "Hasta la fecha", "expense_date": "Fecha", + "expense_number": "Número de gasto", + "expense_number_placeholder": "EXP-001", "description": "Descripción", "receipt": "Recibo", "amount": "Cantidad", diff --git a/lang/fa.json b/lang/fa.json index 557c6fde..c626dd25 100644 --- a/lang/fa.json +++ b/lang/fa.json @@ -649,6 +649,8 @@ "from_date": "From Date", "to_date": "To Date", "expense_date": "Date", + "expense_number": "شماره هزینه", + "expense_number_placeholder": "EXP-001", "description": "Description", "receipt": "Receipt", "amount": "Amount", diff --git a/lang/fi.json b/lang/fi.json index ab0953b2..b1f7133c 100644 --- a/lang/fi.json +++ b/lang/fi.json @@ -649,6 +649,8 @@ "from_date": "Päivästä", "to_date": "Päivään", "expense_date": "Päivämäärä", + "expense_number": "Kulunumero", + "expense_number_placeholder": "EXP-001", "description": "Kuvaus", "receipt": "Kuitti", "amount": "Summa", diff --git a/lang/fr.json b/lang/fr.json index e0c70c2a..65896561 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -649,6 +649,8 @@ "from_date": "Du", "to_date": "Au", "expense_date": "Date", + "expense_number": "Numéro de dépense", + "expense_number_placeholder": "EXP-001", "description": "Description", "receipt": "Reçu", "amount": "Montant", diff --git a/lang/hi.json b/lang/hi.json index e9970156..ccd67de1 100644 --- a/lang/hi.json +++ b/lang/hi.json @@ -649,6 +649,8 @@ "from_date": "इस तारीख से", "to_date": "इस तारीख तक", "expense_date": "दिनांक", + "expense_number": "व्यय संख्या", + "expense_number_placeholder": "EXP-001", "description": "विवरण", "receipt": "रसीद", "amount": "राशि", diff --git a/lang/hr.json b/lang/hr.json index 951b00cc..faa7e9f4 100644 --- a/lang/hr.json +++ b/lang/hr.json @@ -649,6 +649,8 @@ "from_date": "Datum od", "to_date": "Datum do", "expense_date": "Datum", + "expense_number": "Broj troška", + "expense_number_placeholder": "EXP-001", "description": "Opis", "receipt": "Račun", "amount": "Iznos", diff --git a/lang/id.json b/lang/id.json index 1203a0ac..9938c974 100644 --- a/lang/id.json +++ b/lang/id.json @@ -649,6 +649,8 @@ "from_date": "Dari Tanggal", "to_date": "Sampai Tanggal", "expense_date": "Tanggal", + "expense_number": "Nomor Biaya", + "expense_number_placeholder": "EXP-001", "description": "Deskripsi", "receipt": "Tanda Terima", "amount": "Jumlah", diff --git a/lang/it.json b/lang/it.json index 43bfafeb..d5790827 100644 --- a/lang/it.json +++ b/lang/it.json @@ -649,6 +649,8 @@ "from_date": "Dalla Data", "to_date": "Alla Data", "expense_date": "Data", + "expense_number": "Numero di spesa", + "expense_number_placeholder": "EXP-001", "description": "Descrizione", "receipt": "Ricevuta", "amount": "Ammontare", diff --git a/lang/ja.json b/lang/ja.json index 566349af..535d6cd7 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -649,6 +649,8 @@ "from_date": "開始日", "to_date": "終了日", "expense_date": "日時", + "expense_number": "経費番号", + "expense_number_placeholder": "EXP-001", "description": "説明", "receipt": "領収書", "amount": "数量", diff --git a/lang/ko.json b/lang/ko.json index b34c19f0..21379552 100644 --- a/lang/ko.json +++ b/lang/ko.json @@ -442,6 +442,8 @@ "from_date": "시작 날짜", "to_date": "현재까지", "expense_date": "데이트", + "expense_number": "비용 번호", + "expense_number_placeholder": "EXP-001", "description": "기술", "receipt": "영수증", "amount": "양", diff --git a/lang/lt.json b/lang/lt.json index 0098d8e4..dc53e66a 100644 --- a/lang/lt.json +++ b/lang/lt.json @@ -649,6 +649,8 @@ "from_date": "From Date", "to_date": "To Date", "expense_date": "Data", + "expense_number": "Išlaidų numeris", + "expense_number_placeholder": "EXP-001", "description": "Aprašymas", "receipt": "Čekis", "amount": "Amount", diff --git a/lang/lv.json b/lang/lv.json index dd9d521a..f10be4b6 100644 --- a/lang/lv.json +++ b/lang/lv.json @@ -649,6 +649,8 @@ "from_date": "Datums no", "to_date": "Datums līdz", "expense_date": "Datums", + "expense_number": "Izdevumu numurs", + "expense_number_placeholder": "EXP-001", "description": "Apraksts", "receipt": "Čeks", "amount": "Summa", diff --git a/lang/mk.json b/lang/mk.json index 1cb51a22..d40ef052 100644 --- a/lang/mk.json +++ b/lang/mk.json @@ -649,6 +649,8 @@ "from_date": "From Date", "to_date": "To Date", "expense_date": "Date", + "expense_number": "Expense Number", + "expense_number_placeholder": "EXP-001", "description": "Description", "receipt": "Receipt", "amount": "Amount", diff --git a/lang/nl.json b/lang/nl.json index 0de02ffe..c4890754 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -649,6 +649,8 @@ "from_date": "Van datum", "to_date": "Tot datum", "expense_date": "Datum", + "expense_number": "Izdevumu numurs", + "expense_number_placeholder": "EXP-001", "description": "Omschrijving", "receipt": "Bon", "amount": "Bedrag", diff --git a/lang/pl.json b/lang/pl.json index de08407c..84dcb63c 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -649,6 +649,8 @@ "from_date": "Od daty", "to_date": "Do daty", "expense_date": "Data", + "expense_number": "Numer wydatku", + "expense_number_placeholder": "EXP-001", "description": "Opis", "receipt": "Potwierdzenie", "amount": "Kwota", diff --git a/lang/pt-br.json b/lang/pt-br.json index 0017b656..8b61b905 100644 --- a/lang/pt-br.json +++ b/lang/pt-br.json @@ -415,6 +415,8 @@ "from_date": "A partir da Data", "to_date": "Até a Data", "expense_date": "Data", + "expense_number": "Número de despesas", + "expense_number_placeholder": "EXP-001", "description": "Descrição", "receipt": "Receita", "amount": "Montante", diff --git a/lang/pt.json b/lang/pt.json index 95b91aa7..ac94629e 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -649,6 +649,8 @@ "from_date": "A partir da Data", "to_date": "Até a Data", "expense_date": "Data", + "expense_number": "Número de despesas", + "expense_number_placeholder": "EXP-001", "description": "Descrição", "receipt": "Recibo", "amount": "Valor", diff --git a/lang/ro.json b/lang/ro.json index 92f36dbb..adda5cbb 100644 --- a/lang/ro.json +++ b/lang/ro.json @@ -649,6 +649,8 @@ "from_date": "From Date", "to_date": "To Date", "expense_date": "Date", + "expense_number": "Număr de cheltuială", + "expense_number_placeholder": "EXP-001", "description": "Description", "receipt": "Receipt", "amount": "Amount", diff --git a/lang/ru.json b/lang/ru.json index b4cf88fe..7482b58f 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -649,6 +649,8 @@ "from_date": "От даты", "to_date": "До даты", "expense_date": "Дата", + "expense_number": "Номер расхода", + "expense_number_placeholder": "EXP-001", "description": "Описание", "receipt": "Квитанция", "amount": "Сумма", diff --git a/lang/sk.json b/lang/sk.json index 62fa1a15..81bac692 100644 --- a/lang/sk.json +++ b/lang/sk.json @@ -649,6 +649,8 @@ "from_date": "Od dátumu", "to_date": "Do dátumu", "expense_date": "Dátum", + "expense_number": "Številka odhodka", + "expense_number_placeholder": "EXP-001", "description": "Popis", "receipt": "Doklad o zaplatení", "amount": "Suma", diff --git a/lang/sl.json b/lang/sl.json index c908b7d5..dd74c4da 100644 --- a/lang/sl.json +++ b/lang/sl.json @@ -649,6 +649,8 @@ "from_date": "From Date", "to_date": "To Date", "expense_date": "Date", + "expense_number": "Expense Number", + "expense_number_placeholder": "EXP-001", "description": "Description", "receipt": "Receipt", "amount": "Amount", diff --git a/lang/sr.json b/lang/sr.json index df7bb117..5b1b3ae9 100644 --- a/lang/sr.json +++ b/lang/sr.json @@ -649,6 +649,8 @@ "from_date": "Datum od", "to_date": "Datum do", "expense_date": "Datum", + "expense_number": "Broj troška", + "expense_number_placeholder": "EXP-001", "description": "Opis", "receipt": "Račun", "amount": "Iznos", diff --git a/lang/sv.json b/lang/sv.json index 132d6b35..f72aad53 100644 --- a/lang/sv.json +++ b/lang/sv.json @@ -649,6 +649,8 @@ "from_date": "Från datum", "to_date": "Till datum", "expense_date": "Datum", + "expense_number": "Utgiftsnummer", + "expense_number_placeholder": "EXP-001", "description": "Beskrivning", "receipt": "Kvitto", "amount": "Summa", diff --git a/lang/th.json b/lang/th.json index 6be46c2d..68f9ee51 100644 --- a/lang/th.json +++ b/lang/th.json @@ -649,6 +649,8 @@ "from_date": "จากวันที่", "to_date": "ถึงวันที่", "expense_date": "วันที่", + "expense_number": "เลขที่ค่าใช้จ่าย", + "expense_number_placeholder": "EXP-001", "description": "คำอธิบาย", "receipt": "ใบเสร็จ", "amount": "จำนวนเงิน (บาท)", diff --git a/lang/tr.json b/lang/tr.json index 20bb18e4..356707af 100644 --- a/lang/tr.json +++ b/lang/tr.json @@ -649,6 +649,8 @@ "from_date": "Başlangıç tarihi", "to_date": "Bitiş tarihi", "expense_date": "Tarih", + "expense_number": "Gider Numarası", + "expense_number_placeholder": "EXP-001", "description": "Açıklama", "receipt": "Makbuz", "amount": "Tutar", diff --git a/lang/uk.json b/lang/uk.json index 64e344ac..275dd223 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -649,6 +649,8 @@ "from_date": "Від дати", "to_date": "До дати", "expense_date": "Дата", + "expense_number": "Номер витрат", + "expense_number_placeholder": "EXP-001", "description": "Опис", "receipt": "Квитанція", "amount": "Сума", diff --git a/lang/vi.json b/lang/vi.json index 9a00b05e..d1395c7f 100644 --- a/lang/vi.json +++ b/lang/vi.json @@ -649,6 +649,8 @@ "from_date": "Từ ngày", "to_date": "Đến nay", "expense_date": "Ngày", + "expense_number": "Số chi phí", + "expense_number_placeholder": "EXP-001", "description": "Sự miêu tả", "receipt": "Biên lai", "amount": "Số tiền", diff --git a/lang/zh.json b/lang/zh.json index fd99f9b2..fd37871a 100644 --- a/lang/zh.json +++ b/lang/zh.json @@ -649,6 +649,8 @@ "from_date": "啟始日", "to_date": "終止日", "expense_date": "日期", + "expense_number": "費用編號", + "expense_number_placeholder": "EXP-001", "description": "詳情", "receipt": "收據", "amount": "總額", diff --git a/resources/scripts/admin/stub/expense.js b/resources/scripts/admin/stub/expense.js index 98e945a6..49c6789e 100644 --- a/resources/scripts/admin/stub/expense.js +++ b/resources/scripts/admin/stub/expense.js @@ -3,6 +3,7 @@ import moment from 'moment' export default { expense_category_id: null, expense_date: moment().format('YYYY-MM-DD'), + expense_number: '', amount: 100, notes: '', attachment_receipt: null, diff --git a/resources/scripts/admin/views/expenses/Create.vue b/resources/scripts/admin/views/expenses/Create.vue index 8f2275cd..9e2453a4 100644 --- a/resources/scripts/admin/views/expenses/Create.vue +++ b/resources/scripts/admin/views/expenses/Create.vue @@ -116,6 +116,19 @@ /> + + + + + {{ row.data.expense_number || '-' }} + +