diff --git a/accounting/__pycache__/forms.cpython-311.pyc b/accounting/__pycache__/forms.cpython-311.pyc new file mode 100644 index 0000000..30491c1 Binary files /dev/null and b/accounting/__pycache__/forms.cpython-311.pyc differ diff --git a/accounting/__pycache__/urls.cpython-311.pyc b/accounting/__pycache__/urls.cpython-311.pyc index 282fef8..38d3eff 100644 Binary files a/accounting/__pycache__/urls.cpython-311.pyc and b/accounting/__pycache__/urls.cpython-311.pyc differ diff --git a/accounting/__pycache__/views.cpython-311.pyc b/accounting/__pycache__/views.cpython-311.pyc index be7c240..86bed7d 100644 Binary files a/accounting/__pycache__/views.cpython-311.pyc and b/accounting/__pycache__/views.cpython-311.pyc differ diff --git a/accounting/forms.py b/accounting/forms.py new file mode 100644 index 0000000..281d7f6 --- /dev/null +++ b/accounting/forms.py @@ -0,0 +1,26 @@ +from django import forms +from .models import Account, JournalEntry, JournalItem +from django.utils.translation import gettext_lazy as _ + +class AccountForm(forms.ModelForm): + class Meta: + model = Account + fields = ['code', 'name_en', 'name_ar', 'account_type', 'description', 'is_active'] + widgets = { + 'code': forms.TextInput(attrs={'class': 'form-control'}), + 'name_en': forms.TextInput(attrs={'class': 'form-control'}), + 'name_ar': forms.TextInput(attrs={'class': 'form-control'}), + 'account_type': forms.Select(attrs={'class': 'form-select'}), + 'description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}), + 'is_active': forms.CheckboxInput(attrs={'class': 'form-check-input'}), + } + +class JournalEntryForm(forms.ModelForm): + class Meta: + model = JournalEntry + fields = ['date', 'description', 'reference'] + widgets = { + 'date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}), + 'description': forms.Textarea(attrs={'class': 'form-control', 'rows': 2}), + 'reference': forms.TextInput(attrs={'class': 'form-control'}), + } diff --git a/accounting/templates/accounting/account_form.html b/accounting/templates/accounting/account_form.html new file mode 100644 index 0000000..04f2006 --- /dev/null +++ b/accounting/templates/accounting/account_form.html @@ -0,0 +1,67 @@ +{% extends 'base.html' %} +{% load i18n %} + +{% block content %} +
+
+
+
+
+ +

{% if account %}{% trans "Edit Account" %}{% else %}{% trans "Add Account" %}{% endif %}

+
+
+ +
+
+
+ {% csrf_token %} +
+
+ + {{ form.code }} + {% if form.code.errors %}
{{ form.code.errors }}
{% endif %} +
+
+ + {{ form.account_type }} + {% if form.account_type.errors %}
{{ form.account_type.errors }}
{% endif %} +
+
+ + {{ form.name_en }} + {% if form.name_en.errors %}
{{ form.name_en.errors }}
{% endif %} +
+
+ + {{ form.name_ar }} + {% if form.name_ar.errors %}
{{ form.name_ar.errors }}
{% endif %} +
+
+ + {{ form.description }} +
+
+
+ {{ form.is_active }} + +
+
+
+
+ {% trans "Cancel" %} + +
+
+
+
+
+
+
+{% endblock %} diff --git a/accounting/templates/accounting/chart_of_accounts.html b/accounting/templates/accounting/chart_of_accounts.html index e443a36..937b716 100644 --- a/accounting/templates/accounting/chart_of_accounts.html +++ b/accounting/templates/accounting/chart_of_accounts.html @@ -13,6 +13,9 @@

{% trans "Chart of Accounts" %}

+ + {% trans "Add Account" %} +
@@ -43,9 +46,14 @@ {{ account.balance|floatformat:global_settings.decimal_places }} {{ global_settings.currency_symbol }} - - {% trans "Ledger" %} - +
+ + + + + + +
{% endfor %} @@ -54,4 +62,4 @@
-{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/accounting/templates/accounting/journal_entries.html b/accounting/templates/accounting/journal_entries.html index f60b7ae..b47711e 100644 --- a/accounting/templates/accounting/journal_entries.html +++ b/accounting/templates/accounting/journal_entries.html @@ -13,6 +13,9 @@

{% trans "Journal Entries" %}

+ + {% trans "New Manual Entry" %} + {% for entry in entries %} @@ -63,4 +66,4 @@ {% endfor %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/accounting/templates/accounting/journal_entry_form.html b/accounting/templates/accounting/journal_entry_form.html new file mode 100644 index 0000000..78cf049 --- /dev/null +++ b/accounting/templates/accounting/journal_entry_form.html @@ -0,0 +1,202 @@ +{% extends 'base.html' %} +{% load i18n %} + +{% block content %} +
+
+
+
+
+ +

{% trans "New Manual Journal Entry" %}

+
+
+ +
+ {% csrf_token %} +
+
+
+
+ + {{ form.date }} +
+
+ + {{ form.reference }} +
+
+ + {{ form.description }} +
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{% trans "Account" %}{% trans "Type" %}{% trans "Amount" %}
+ + + + +
+ + {{ global_settings.currency_symbol }} +
+
+ +
+ + + + +
+ + {{ global_settings.currency_symbol }} +
+
+ +
+ +
{% trans "Totals" %}:{% trans "Debit" %}: 0.000{% trans "Credit" %}: 0.000
+ {% trans "Out of Balance" %} +
+
+ +
+
+
+
+
+ + +{% endblock %} diff --git a/accounting/urls.py b/accounting/urls.py index e9f86bb..b1d6a56 100644 --- a/accounting/urls.py +++ b/accounting/urls.py @@ -4,9 +4,12 @@ from . import views urlpatterns = [ path('', views.accounting_dashboard, name='accounting_dashboard'), path('chart-of-accounts/', views.chart_of_accounts, name='chart_of_accounts'), + path('chart-of-accounts/add/', views.account_create_update, name='account_create'), + path('chart-of-accounts/edit//', views.account_create_update, name='account_edit'), path('journal-entries/', views.journal_entries, name='journal_entries'), + path('journal-entries/manual/', views.manual_journal_entry, name='manual_journal_entry'), path('ledger//', views.account_ledger, name='account_ledger'), path('trial-balance/', views.trial_balance, name='trial_balance'), path('balance-sheet/', views.balance_sheet, name='balance_sheet'), path('profit-loss/', views.profit_loss, name='profit_loss'), -] +] \ No newline at end of file diff --git a/accounting/views.py b/accounting/views.py index 4d80692..4eee8dd 100644 --- a/accounting/views.py +++ b/accounting/views.py @@ -1,9 +1,14 @@ -from django.shortcuts import render, get_object_or_404 +from django.utils.translation import gettext as _ +from django.shortcuts import render, get_object_or_404, redirect from django.contrib.auth.decorators import login_required +from django.contrib import messages from .models import Account, JournalEntry, JournalItem +from .forms import AccountForm, JournalEntryForm from django.db.models import Sum, Q from django.utils import timezone from datetime import datetime +from django.db import transaction +import json @login_required def accounting_dashboard(request): @@ -44,11 +49,84 @@ def chart_of_accounts(request): accounts = Account.objects.all().order_by('code') return render(request, 'accounting/chart_of_accounts.html', {'accounts': accounts}) +@login_required +def account_create_update(request, pk=None): + if pk: + account = get_object_or_404(Account, pk=pk) + else: + account = None + + if request.method == 'POST': + form = AccountForm(request.POST, instance=account) + if form.is_valid(): + form.save() + messages.success(request, _("Account saved successfully.")) + return redirect('chart_of_accounts') + else: + form = AccountForm(instance=account) + + return render(request, 'accounting/account_form.html', {'form': form, 'account': account}) + @login_required def journal_entries(request): entries = JournalEntry.objects.all().order_by('-date', '-id') return render(request, 'accounting/journal_entries.html', {'entries': entries}) +@login_required +def manual_journal_entry(request): + accounts = Account.objects.filter(is_active=True).order_by('code') + + if request.method == 'POST': + form = JournalEntryForm(request.POST) + # Manual journal entry requires at least two items and they must balance + account_ids = request.POST.getlist('account[]') + types = request.POST.getlist('type[]') + amounts = request.POST.getlist('amount[]') + + if form.is_valid(): + try: + with transaction.atomic(): + entry = form.save() + total_debit = 0 + total_credit = 0 + + for i in range(len(account_ids)): + acc_id = account_ids[i] + item_type = types[i] + amount = float(amounts[i]) + + if amount <= 0: continue + + JournalItem.objects.create( + entry=entry, + account_id=acc_id, + type=item_type, + amount=amount + ) + + if item_type == 'debit': + total_debit += amount + else: + total_credit += amount + + if round(total_debit, 3) != round(total_credit, 3): + raise Exception(f"Journal entry does not balance. Total Debit: {total_debit}, Total Credit: {total_credit}") + + if total_debit == 0: + raise Exception("Journal entry must have at least one debit and one credit.") + + messages.success(request, _("Manual journal entry created successfully.")) + return redirect('journal_entries') + except Exception as e: + messages.error(request, str(e)) + else: + form = JournalEntryForm() + + return render(request, 'accounting/journal_entry_form.html', { + 'form': form, + 'accounts': accounts + }) + @login_required def account_ledger(request, account_id): account = get_object_or_404(Account, id=account_id) diff --git a/core/__pycache__/context_processors.cpython-311.pyc b/core/__pycache__/context_processors.cpython-311.pyc index 98f88ae..46b260b 100644 Binary files a/core/__pycache__/context_processors.cpython-311.pyc and b/core/__pycache__/context_processors.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 5048098..3347185 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/context_processors.py b/core/context_processors.py index 5ce8c85..4626f87 100644 --- a/core/context_processors.py +++ b/core/context_processors.py @@ -24,7 +24,8 @@ def global_settings(request): settings = SystemSetting.objects.create() return { 'site_settings': settings, + 'global_settings': settings, 'decimal_places': settings.decimal_places if settings else 3 } except: - return {'decimal_places': 3} \ No newline at end of file + return {'decimal_places': 3} diff --git a/core/views.py b/core/views.py index 0dac963..cccf257 100644 --- a/core/views.py +++ b/core/views.py @@ -1,3 +1,4 @@ +from django.utils.translation import gettext as _ from django.utils.translation import gettext_lazy as _ from .utils import number_to_words_en from django.core.paginator import Paginator @@ -277,7 +278,7 @@ def add_purchase_payment(request, pk): created_by=request.user ) purchase.update_balance() - messages.success(request, "Payment added successfully!") + messages.success(request, _("Payment added successfully!")) return redirect('purchases') @login_required @@ -288,7 +289,7 @@ def delete_purchase(request, pk): item.product.save() purchase.delete() - messages.success(request, "Purchase deleted successfully!") + messages.success(request, _("Purchase deleted successfully!")) return redirect('purchases') # --- Sale Views --- @@ -552,7 +553,7 @@ def add_sale_payment(request, pk): created_by=request.user ) sale.update_balance() - messages.success(request, "Payment added successfully!") + messages.success(request, _("Payment added successfully!")) return redirect('invoices') @login_required @@ -562,7 +563,7 @@ def delete_sale(request, pk): item.product.stock_quantity += item.quantity item.product.save() sale.delete() - messages.success(request, "Sale deleted successfully!") + messages.success(request, _("Sale deleted successfully!")) return redirect('invoices') # --- Quotation Views --- @@ -641,7 +642,7 @@ def create_quotation_api(request): def convert_quotation_to_invoice(request, pk): quotation = get_object_or_404(Quotation, pk=pk) if quotation.status == 'converted': - messages.warning(request, "This quotation has already been converted to an invoice.") + messages.warning(request, _("This quotation has already been converted to an invoice.")) return redirect('invoices') # Create Sale from Quotation @@ -674,14 +675,14 @@ def convert_quotation_to_invoice(request, pk): quotation.status = 'converted' quotation.save() - messages.success(request, "Quotation converted to Invoice successfully!") + messages.success(request, _("Quotation converted to Invoice successfully!")) return redirect('invoice_detail', pk=sale.pk) @login_required def delete_quotation(request, pk): quotation = get_object_or_404(Quotation, pk=pk) quotation.delete() - messages.success(request, "Quotation deleted successfully!") + messages.success(request, _("Quotation deleted successfully!")) return redirect('quotations') # --- Sale Return Views --- @@ -770,7 +771,7 @@ def delete_sale_return(request, pk): item.product.stock_quantity -= item.quantity item.product.save() sale_return.delete() - messages.success(request, "Sale return deleted successfully!") + messages.success(request, _("Sale return deleted successfully!")) return redirect('sales_returns') @@ -860,7 +861,7 @@ def delete_purchase_return(request, pk): item.product.stock_quantity += item.quantity item.product.save() purchase_return.delete() - messages.success(request, "Purchase return deleted successfully!") + messages.success(request, _("Purchase return deleted successfully!")) return redirect('purchase_returns') # --- Other Management Views --- @@ -917,7 +918,7 @@ def settings_view(request): settings.logo = request.FILES['logo'] settings.save() - messages.success(request, "Settings updated successfully!") + messages.success(request, _("Settings updated successfully!")) return redirect(reverse('settings') + '#profile') payment_methods = PaymentMethod.objects.all() @@ -936,7 +937,7 @@ def add_payment_method(request): name_ar = request.POST.get('name_ar') is_active = request.POST.get('is_active') == 'on' PaymentMethod.objects.create(name_en=name_en, name_ar=name_ar, is_active=is_active) - messages.success(request, "Payment method added successfully!") + messages.success(request, _("Payment method added successfully!")) return redirect(reverse('settings') + '#payments') @login_required @@ -947,14 +948,14 @@ def edit_payment_method(request, pk): pm.name_ar = request.POST.get('name_ar') pm.is_active = request.POST.get('is_active') == 'on' pm.save() - messages.success(request, "Payment method updated successfully!") + messages.success(request, _("Payment method updated successfully!")) return redirect(reverse('settings') + '#payments') @login_required def delete_payment_method(request, pk): pm = get_object_or_404(PaymentMethod, pk=pk) pm.delete() - messages.success(request, "Payment method deleted successfully!") + messages.success(request, _("Payment method deleted successfully!")) return redirect(reverse('settings') + '#payments') @login_required @@ -965,7 +966,7 @@ def add_customer(request): email = request.POST.get('email') address = request.POST.get('address') Customer.objects.create(name=name, phone=phone, email=email, address=address) - messages.success(request, "Customer added successfully!") + messages.success(request, _("Customer added successfully!")) return redirect('customers') @login_required @@ -977,14 +978,14 @@ def edit_customer(request, pk): customer.email = request.POST.get('email') customer.address = request.POST.get('address') customer.save() - messages.success(request, "Customer updated successfully!") + messages.success(request, _("Customer updated successfully!")) return redirect('customers') @login_required def delete_customer(request, pk): customer = get_object_or_404(Customer, pk=pk) customer.delete() - messages.success(request, "Customer deleted successfully!") + messages.success(request, _("Customer deleted successfully!")) return redirect('customers') @login_required @@ -994,7 +995,7 @@ def add_supplier(request): contact_person = request.POST.get('contact_person') phone = request.POST.get('phone') Supplier.objects.create(name=name, contact_person=contact_person, phone=phone) - messages.success(request, "Supplier added successfully!") + messages.success(request, _("Supplier added successfully!")) return redirect('suppliers') @login_required @@ -1005,14 +1006,14 @@ def edit_supplier(request, pk): supplier.contact_person = request.POST.get('contact_person') supplier.phone = request.POST.get('phone') supplier.save() - messages.success(request, "Supplier updated successfully!") + messages.success(request, _("Supplier updated successfully!")) return redirect('suppliers') @login_required def delete_supplier(request, pk): supplier = get_object_or_404(Supplier, pk=pk) supplier.delete() - messages.success(request, "Supplier deleted successfully!") + messages.success(request, _("Supplier deleted successfully!")) return redirect('suppliers') @@ -1071,7 +1072,7 @@ def add_product(request): product.image = request.FILES['image'] product.save() - messages.success(request, "Product added successfully!") + messages.success(request, _("Product added successfully!")) return redirect(reverse('inventory') + '#items') @login_required @@ -1100,7 +1101,7 @@ def edit_product(request, pk): product.image = request.FILES['image'] product.save() - messages.success(request, "Product updated successfully!") + messages.success(request, _("Product updated successfully!")) return redirect(reverse('inventory') + '#items') return redirect(reverse('inventory') + '#items') @@ -1108,7 +1109,7 @@ def edit_product(request, pk): def delete_product(request, pk): product = get_object_or_404(Product, pk=pk) product.delete() - messages.success(request, "Product deleted successfully!") + messages.success(request, _("Product deleted successfully!")) return redirect(reverse('inventory') + '#items') @login_required @@ -1118,7 +1119,7 @@ def add_category(request): name_ar = request.POST.get('name_ar') slug = slugify(name_en) Category.objects.create(name_en=name_en, name_ar=name_ar, slug=slug) - messages.success(request, "Category added successfully!") + messages.success(request, _("Category added successfully!")) return redirect(reverse('inventory') + '#categories-list') @login_required @@ -1129,14 +1130,14 @@ def edit_category(request, pk): category.name_ar = request.POST.get('name_ar') category.slug = slugify(category.name_en) category.save() - messages.success(request, "Category updated successfully!") + messages.success(request, _("Category updated successfully!")) return redirect(reverse('inventory') + '#categories-list') @login_required def delete_category(request, pk): category = get_object_or_404(Category, pk=pk) category.delete() - messages.success(request, "Category deleted successfully!") + messages.success(request, _("Category deleted successfully!")) return redirect(reverse('inventory') + '#categories-list') @login_required @@ -1146,7 +1147,7 @@ def add_unit(request): name_ar = request.POST.get('name_ar') short_name = request.POST.get('short_name') Unit.objects.create(name_en=name_en, name_ar=name_ar, short_name=short_name) - messages.success(request, "Unit added successfully!") + messages.success(request, _("Unit added successfully!")) return redirect(reverse('inventory') + '#units-list') @login_required @@ -1157,14 +1158,14 @@ def edit_unit(request, pk): unit.name_ar = request.POST.get('name_ar') unit.short_name = request.POST.get('short_name') unit.save() - messages.success(request, "Unit updated successfully!") + messages.success(request, _("Unit updated successfully!")) return redirect(reverse('inventory') + '#units-list') @login_required def delete_unit(request, pk): unit = get_object_or_404(Unit, pk=pk) unit.delete() - messages.success(request, "Unit deleted successfully!") + messages.success(request, _("Unit deleted successfully!")) return redirect(reverse('inventory') + '#units-list') @login_required @@ -1183,7 +1184,7 @@ def import_products(request): excel_file = request.FILES['excel_file'] if not excel_file.name.endswith('.xlsx'): - messages.error(request, "Please upload a valid .xlsx file.") + messages.error(request, _("Please upload a valid .xlsx file.")) return redirect(reverse('inventory') + '#items') try: @@ -1326,7 +1327,7 @@ def add_supplier_ajax(request): @login_required def user_management(request): if not (request.user.is_superuser or request.user.groups.filter(name='admin').exists()): - messages.error(request, "Access denied.") + messages.error(request, _("Access denied.")) return redirect('index') users_qs = User.objects.all().prefetch_related('groups').order_by('username') @@ -1346,7 +1347,7 @@ def user_management(request): group_ids = request.POST.getlist('groups') if User.objects.filter(username=username).exists(): - messages.error(request, "Username already exists.") + messages.error(request, _("Username already exists.")) else: user = User.objects.create_user(username=username, email=email, password=password) if group_ids: @@ -1375,7 +1376,7 @@ def user_management(request): name = request.POST.get('name') permission_ids = request.POST.getlist('permissions') if Group.objects.filter(name=name).exists(): - messages.error(request, "Group name already exists.") + messages.error(request, _("Group name already exists.")) else: group = Group.objects.create(name=name) if permission_ids: @@ -1397,13 +1398,13 @@ def user_management(request): group_id = request.POST.get('group_id') group = get_object_or_404(Group, id=group_id) group.delete() - messages.success(request, "Group deleted.") + messages.success(request, _("Group deleted.")) elif action == 'toggle_status': user_id = request.POST.get('user_id') user = get_object_or_404(User, id=user_id) if user == request.user: - messages.error(request, "You cannot deactivate yourself.") + messages.error(request, _("You cannot deactivate yourself.")) else: user.is_active = not user.is_active user.save() @@ -1553,7 +1554,7 @@ def add_loyalty_tier(request): min_points=min_points, point_multiplier=multiplier, discount_percentage=discount, color_code=color ) - messages.success(request, "Loyalty tier added successfully!") + messages.success(request, _("Loyalty tier added successfully!")) return redirect(reverse('settings') + '#loyalty') @login_required @@ -1567,14 +1568,14 @@ def edit_loyalty_tier(request, pk): tier.discount_percentage = request.POST.get('discount_percentage') tier.color_code = request.POST.get('color_code') tier.save() - messages.success(request, "Loyalty tier updated successfully!") + messages.success(request, _("Loyalty tier updated successfully!")) return redirect(reverse('settings') + '#loyalty') @login_required def delete_loyalty_tier(request, pk): tier = get_object_or_404(LoyaltyTier, pk=pk) tier.delete() - messages.success(request, "Loyalty tier deleted successfully!") + messages.success(request, _("Loyalty tier deleted successfully!")) return redirect(reverse('settings') + '#loyalty') @login_required @@ -1631,11 +1632,11 @@ def profile_view(request): user.save() from django.contrib.auth import update_session_auth_hash update_session_auth_hash(request, user) - messages.success(request, "Profile and password updated successfully!") + messages.success(request, _("Profile and password updated successfully!")) else: - messages.error(request, "Passwords do not match.") + messages.error(request, _("Passwords do not match.")) else: - messages.success(request, "Profile updated successfully!") + messages.success(request, _("Profile updated successfully!")) return redirect('profile') @@ -1705,7 +1706,7 @@ def expense_create_view(request): attachment=attachment, created_by=request.user ) - messages.success(request, "Expense recorded successfully!") + messages.success(request, _("Expense recorded successfully!")) return redirect('expenses') @@ -1716,7 +1717,7 @@ def expense_delete_view(request, pk): """ expense = get_object_or_404(Expense, pk=pk) expense.delete() - messages.success(request, "Expense deleted successfully!") + messages.success(request, _("Expense deleted successfully!")) return redirect('expenses') @login_required @@ -1725,22 +1726,28 @@ def expense_categories_view(request): Manage expense categories """ if request.method == 'POST': + category_id = request.POST.get('category_id') name_en = request.POST.get('name_en') name_ar = request.POST.get('name_ar') description = request.POST.get('description', '') - ExpenseCategory.objects.create( - name_en=name_en, - name_ar=name_ar, - description=description - ) - messages.success(request, "Expense category created successfully!") + if category_id: + category = get_object_or_404(ExpenseCategory, id=category_id) + category.name_en = name_en + category.name_ar = name_ar + category.description = description + category.save() + messages.success(request, _("Expense category updated successfully!")) + else: + ExpenseCategory.objects.create( + name_en=name_en, + name_ar=name_ar, + description=description + ) + messages.success(request, _("Expense category created successfully!")) return redirect('expense_categories') - paginator = Paginator(expenses, 25) - page_number = request.GET.get('page') - expenses = paginator.get_page(page_number) - categories = ExpenseCategory.objects.all() + categories = ExpenseCategory.objects.all().order_by('name_en') return render(request, 'core/expense_categories.html', {'categories': categories}) @login_required @@ -1750,11 +1757,10 @@ def expense_category_delete_view(request, pk): """ category = get_object_or_404(ExpenseCategory, pk=pk) category.delete() - messages.success(request, "Expense category deleted successfully!") + messages.success(request, _("Expense category deleted successfully!")) return redirect('expense_categories') @csrf_exempt @login_required -@csrf_exempt def update_sale_api(request, pk): if request.method == 'POST': try: diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 0000000..1bc5065 Binary files /dev/null and b/locale/ar/LC_MESSAGES/django.mo differ diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 0000000..bfe9fe5 --- /dev/null +++ b/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,3182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-03 03:42+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: accounting/apps.py:7 accounting/templates/accounting/account_form.html:12 +#: accounting/templates/accounting/account_ledger.html:10 +#: accounting/templates/accounting/balance_sheet.html:10 +#: accounting/templates/accounting/chart_of_accounts.html:10 +#: accounting/templates/accounting/journal_entries.html:10 +#: accounting/templates/accounting/journal_entry_form.html:12 +#: accounting/templates/accounting/profit_loss.html:10 +#: accounting/templates/accounting/trial_balance.html:10 +#: core/templates/base.html:185 +msgid "Accounting" +msgstr "المحاسبة" + +#: accounting/models.py:9 +msgid "Asset" +msgstr "أصول" + +#: accounting/models.py:10 +msgid "Liability" +msgstr "التزامات" + +#: accounting/models.py:11 +#: accounting/templates/accounting/balance_sheet.html:78 +msgid "Equity" +msgstr "حقوق الملكية" + +#: accounting/models.py:12 +msgid "Income" +msgstr "إيرادات" + +#: accounting/models.py:13 core/views.py:2192 +msgid "Expense" +msgstr "مصروف" + +#: accounting/models.py:16 +#: accounting/templates/accounting/account_form.html:27 +msgid "Account Code" +msgstr "رمز الحساب" + +#: accounting/models.py:17 +#: accounting/templates/accounting/account_form.html:37 core/models.py:9 +#: core/models.py:20 core/models.py:31 core/models.py:48 core/models.py:100 +#: core/models.py:109 core/templates/core/expense_categories.html:130 +#: core/templates/core/expense_categories.html:164 +#: core/templates/core/inventory.html:269 +#: core/templates/core/inventory.html:298 +#: core/templates/core/inventory.html:334 +#: core/templates/core/settings.html:227 core/templates/core/settings.html:452 +msgid "Name (English)" +msgstr "الاسم (إنجليزي)" + +#: accounting/models.py:18 +#: accounting/templates/accounting/account_form.html:42 core/models.py:10 +#: core/models.py:21 core/models.py:32 core/models.py:49 core/models.py:101 +#: core/models.py:110 core/templates/core/expense_categories.html:134 +#: core/templates/core/expense_categories.html:168 +#: core/templates/core/inventory.html:273 +#: core/templates/core/inventory.html:302 +#: core/templates/core/inventory.html:338 +#: core/templates/core/settings.html:231 core/templates/core/settings.html:456 +msgid "Name (Arabic)" +msgstr "الاسم (عربي)" + +#: accounting/models.py:19 +#: accounting/templates/accounting/account_form.html:32 +msgid "Account Type" +msgstr "نوع الحساب" + +#: accounting/models.py:20 accounting/models.py:44 +#: accounting/templates/accounting/account_form.html:47 +#: accounting/templates/accounting/account_ledger.html:35 +#: accounting/templates/accounting/dashboard.html:77 +#: accounting/templates/accounting/journal_entries.html:31 +#: accounting/templates/accounting/journal_entry_form.html:35 +#: accounting/templates/accounting/profit_loss.html:29 core/models.py:34 +#: core/models.py:111 core/models.py:123 +#: core/templates/core/expense_categories.html:41 +#: core/templates/core/expense_categories.html:138 +#: core/templates/core/expense_categories.html:172 +#: core/templates/core/expenses.html:90 core/templates/core/expenses.html:204 +msgid "Description" +msgstr "الوصف" + +#: accounting/models.py:21 +#: accounting/templates/accounting/account_form.html:53 +msgid "Is Active" +msgstr "نشط" + +#: accounting/models.py:43 +#: accounting/templates/accounting/account_ledger.html:33 +#: accounting/templates/accounting/dashboard.html:75 +#: accounting/templates/accounting/journal_entries.html:25 +#: accounting/templates/accounting/journal_entry_form.html:27 +#: core/models.py:122 core/templates/core/cashflow_report.html:120 +#: core/templates/core/customer_payment_receipt.html:178 +#: core/templates/core/customer_payments.html:58 +#: core/templates/core/customer_statement.html:63 +#: core/templates/core/customer_statement.html:87 +#: core/templates/core/expenses.html:88 core/templates/core/expenses.html:191 +#: core/templates/core/index.html:138 +#: core/templates/core/invoice_detail.html:187 +#: core/templates/core/invoices.html:76 +#: core/templates/core/purchase_detail.html:173 +#: core/templates/core/purchase_returns.html:36 +#: core/templates/core/purchases.html:36 +#: core/templates/core/quotation_detail.html:76 +#: core/templates/core/quotations.html:36 +#: core/templates/core/sale_receipt.html:179 +#: core/templates/core/sales_returns.html:36 +#: core/templates/core/supplier_payments.html:24 +#: core/templates/core/supplier_statement.html:63 +#: core/templates/core/supplier_statement.html:86 +msgid "Date" +msgstr "التاريخ" + +#: accounting/models.py:45 +#: accounting/templates/accounting/account_ledger.html:34 +#: accounting/templates/accounting/dashboard.html:76 +#: accounting/templates/accounting/journal_entries.html:26 +#: accounting/templates/accounting/journal_entry_form.html:31 +#: core/templates/core/cashflow_report.html:122 +#: core/templates/core/customer_statement.html:89 +#: core/templates/core/supplier_statement.html:88 +msgid "Reference" +msgstr "المرجع" + +#: accounting/models.py:58 accounting/templates/accounting/dashboard.html:57 +#: accounting/templates/accounting/journal_entries.html:11 +#: accounting/templates/accounting/journal_entries.html:14 +#: accounting/templates/accounting/journal_entry_form.html:13 +#: core/templates/base.html:201 +msgid "Journal Entries" +msgstr "قيود اليومية" + +#: accounting/models.py:62 +#: accounting/templates/accounting/account_ledger.html:36 +#: accounting/templates/accounting/journal_entries.html:37 +#: accounting/templates/accounting/journal_entry_form.html:65 +#: accounting/templates/accounting/journal_entry_form.html:90 +#: accounting/templates/accounting/journal_entry_form.html:115 +#: accounting/templates/accounting/trial_balance.html:27 +#: core/templates/core/customer_statement.html:90 +#: core/templates/core/supplier_statement.html:89 +msgid "Debit" +msgstr "مدين" + +#: accounting/models.py:63 +#: accounting/templates/accounting/account_ledger.html:37 +#: accounting/templates/accounting/journal_entries.html:38 +#: accounting/templates/accounting/journal_entry_form.html:66 +#: accounting/templates/accounting/journal_entry_form.html:91 +#: accounting/templates/accounting/journal_entry_form.html:116 +#: accounting/templates/accounting/trial_balance.html:28 core/models.py:135 +#: core/models.py:233 core/templates/core/customer_statement.html:91 +#: core/templates/core/pos.html:348 +#: core/templates/core/supplier_statement.html:90 +msgid "Credit" +msgstr "دائن" + +#: accounting/models.py:68 +#: accounting/templates/accounting/chart_of_accounts.html:28 +#: accounting/templates/accounting/journal_entry_form.html:48 +#: core/models.py:83 core/templates/core/cashflow_report.html:121 +msgid "Type" +msgstr "النوع" + +#: accounting/models.py:69 accounting/templates/accounting/dashboard.html:78 +#: accounting/templates/accounting/journal_entry_form.html:49 +#: accounting/templates/accounting/profit_loss.html:30 core/models.py:121 +#: core/models.py:187 core/models.py:281 +#: core/templates/core/customer_payments.html:61 +#: core/templates/core/expenses.html:92 core/templates/core/expenses.html:183 +#: core/templates/core/invoice_detail.html:189 +#: core/templates/core/invoices.html:145 +#: core/templates/core/purchase_detail.html:175 +#: core/templates/core/purchases.html:97 +#: core/templates/core/supplier_payments.html:27 +msgid "Amount" +msgstr "المبلغ" + +#: accounting/models.py:70 core/models.py:85 core/models.py:156 +#: core/models.py:191 core/models.py:213 core/models.py:250 core/models.py:285 +#: core/models.py:296 core/models.py:318 core/models.py:339 +#: core/templates/core/customer_payment_receipt.html:213 +#: core/templates/core/customer_payments.html:65 +#: core/templates/core/invoice_detail.html:191 +#: core/templates/core/invoices.html:157 +#: core/templates/core/purchase_create.html:145 +#: core/templates/core/purchase_detail.html:177 +#: core/templates/core/purchase_detail.html:205 +#: core/templates/core/purchase_return_detail.html:122 +#: core/templates/core/purchases.html:109 +#: core/templates/core/quotation_create.html:137 +#: core/templates/core/sale_receipt.html:214 +#: core/templates/core/sale_return_detail.html:122 +#: core/templates/core/supplier_payments.html:30 +msgid "Notes" +msgstr "ملاحظات" + +#: accounting/templates/accounting/account_form.html:13 +#: accounting/templates/accounting/account_ledger.html:11 +#: accounting/templates/accounting/chart_of_accounts.html:11 +#: accounting/templates/accounting/chart_of_accounts.html:14 +#: accounting/templates/accounting/dashboard.html:56 +#: core/templates/base.html:196 +msgid "Chart of Accounts" +msgstr "شجرة الحسابات" + +#: accounting/templates/accounting/account_form.html:14 +#: accounting/templates/accounting/account_form.html:17 +msgid "Edit Account" +msgstr "تعديل الحساب" + +#: accounting/templates/accounting/account_form.html:14 +#: accounting/templates/accounting/account_form.html:17 +#: accounting/templates/accounting/chart_of_accounts.html:17 +msgid "Add Account" +msgstr "إضافة حساب" + +#: accounting/templates/accounting/account_form.html:58 +#: accounting/templates/accounting/journal_entry_form.html:128 +#: core/templates/core/expense_categories.html:94 +#: core/templates/core/expense_categories.html:143 +#: core/templates/core/expense_categories.html:177 +#: core/templates/core/expenses.html:139 core/templates/core/expenses.html:213 +#: core/templates/core/inventory.html:381 +#: core/templates/core/inventory.html:406 +#: core/templates/core/invoices.html:162 core/templates/core/invoices.html:182 +#: core/templates/core/pos.html:295 core/templates/core/pos.html:411 +#: core/templates/core/purchase_returns.html:79 +#: core/templates/core/purchases.html:114 +#: core/templates/core/purchases.html:134 +#: core/templates/core/quotation_detail.html:40 +#: core/templates/core/quotations.html:100 +#: core/templates/core/quotations.html:119 +#: core/templates/core/sales_returns.html:79 +#: core/templates/core/settings.html:240 core/templates/core/settings.html:264 +#: core/templates/core/settings.html:369 core/templates/core/users.html:198 +#: core/templates/core/users.html:238 core/templates/core/users.html:277 +#: core/templates/core/users.html:317 +msgid "Cancel" +msgstr "إلغاء" + +#: accounting/templates/accounting/account_form.html:59 +msgid "Save Account" +msgstr "حفظ الحساب" + +#: accounting/templates/accounting/account_ledger.html:12 +#: accounting/templates/accounting/account_ledger.html:16 +#: accounting/templates/accounting/chart_of_accounts.html:50 +msgid "Ledger" +msgstr "الأستاذ" + +#: accounting/templates/accounting/account_ledger.html:23 +msgid "Current Balance" +msgstr "الرصيد الحالي" + +#: accounting/templates/accounting/account_ledger.html:38 +#: accounting/templates/accounting/chart_of_accounts.html:29 +#: core/templates/core/customer_statement.html:92 +#: core/templates/core/supplier_statement.html:91 +msgid "Balance" +msgstr "الرصيد" + +#: accounting/templates/accounting/account_ledger.html:59 +msgid "No transactions found for this account." +msgstr "لم يتم العثور على معاملات لهذا الحساب." + +#: accounting/templates/accounting/balance_sheet.html:11 +#: accounting/templates/accounting/balance_sheet.html:14 +#: accounting/templates/accounting/dashboard.html:59 +#: core/templates/base.html:209 +msgid "Balance Sheet" +msgstr "الميزانية العمومية" + +#: accounting/templates/accounting/balance_sheet.html:15 +msgid "As of" +msgstr "اعتباراً من" + +#: accounting/templates/accounting/balance_sheet.html:18 +#: accounting/templates/accounting/profit_loss.html:18 +#: accounting/templates/accounting/trial_balance.html:17 +#: core/templates/core/cashflow_report.html:33 +msgid "Print Report" +msgstr "طباعة التقرير" + +#: accounting/templates/accounting/balance_sheet.html:27 +msgid "Assets" +msgstr "الأصول" + +#: accounting/templates/accounting/balance_sheet.html:41 +#: accounting/templates/accounting/dashboard.html:18 +msgid "Total Assets" +msgstr "إجمالي الأصول" + +#: accounting/templates/accounting/balance_sheet.html:54 +msgid "Liabilities" +msgstr "الالتزامات" + +#: accounting/templates/accounting/balance_sheet.html:68 +#: accounting/templates/accounting/dashboard.html:26 +msgid "Total Liabilities" +msgstr "إجمالي الالتزامات" + +#: accounting/templates/accounting/balance_sheet.html:90 +msgid "Net Income (Loss)" +msgstr "صافي الدخل (الخسارة)" + +#: accounting/templates/accounting/balance_sheet.html:96 +msgid "Total Equity" +msgstr "إجمالي حقوق الملكية" + +#: accounting/templates/accounting/balance_sheet.html:106 +msgid "Total Liabilities & Equity" +msgstr "إجمالي الالتزامات وحقوق الملكية" + +#: accounting/templates/accounting/chart_of_accounts.html:26 +msgid "Code" +msgstr "الرمز" + +#: accounting/templates/accounting/chart_of_accounts.html:27 +msgid "Account Name" +msgstr "اسم الحساب" + +#: accounting/templates/accounting/chart_of_accounts.html:30 +#: core/templates/core/customers.html:44 +#: core/templates/core/expense_categories.html:43 +#: core/templates/core/expenses.html:93 core/templates/core/inventory.html:105 +#: core/templates/core/inventory.html:182 +#: core/templates/core/inventory.html:223 core/templates/core/invoices.html:81 +#: core/templates/core/pos.html:319 +#: core/templates/core/purchase_returns.html:40 +#: core/templates/core/purchases.html:41 +#: core/templates/core/quotations.html:42 +#: core/templates/core/sales_returns.html:40 +#: core/templates/core/settings.html:190 core/templates/core/settings.html:305 +#: core/templates/core/suppliers.html:43 core/templates/core/users.html:47 +#: core/templates/core/users.html:122 +msgid "Actions" +msgstr "الإجراءات" + +#: accounting/templates/accounting/chart_of_accounts.html:53 +#: core/templates/core/customers.html:59 +#: core/templates/core/inventory.html:148 +#: core/templates/core/inventory.html:193 +#: core/templates/core/inventory.html:234 +#: core/templates/core/invoices.html:117 core/templates/core/suppliers.html:54 +msgid "Edit" +msgstr "تعديل" + +#: accounting/templates/accounting/dashboard.html:7 +msgid "Accounting Dashboard" +msgstr "لوحة تحكم المحاسبة" + +#: accounting/templates/accounting/dashboard.html:9 +msgid "Financial Summary" +msgstr "الملخص المالي" + +#: accounting/templates/accounting/dashboard.html:34 +#: core/templates/core/reports.html:19 +msgid "Monthly Revenue" +msgstr "الإيرادات الشهرية" + +#: accounting/templates/accounting/dashboard.html:42 +msgid "Monthly Net Profit" +msgstr "صافي الربح الشهري" + +#: accounting/templates/accounting/dashboard.html:58 +#: accounting/templates/accounting/trial_balance.html:11 +#: accounting/templates/accounting/trial_balance.html:14 +#: core/templates/base.html:206 +msgid "Trial Balance" +msgstr "ميزان المراجعة" + +#: accounting/templates/accounting/dashboard.html:60 +#: accounting/templates/accounting/profit_loss.html:11 +#: core/templates/base.html:214 +msgid "Profit & Loss" +msgstr "الأرباح والخسائر" + +#: accounting/templates/accounting/dashboard.html:69 +msgid "Recent Journal Entries" +msgstr "قيود اليومية الأخيرة" + +#: accounting/templates/accounting/dashboard.html:99 +msgid "No recent entries found." +msgstr "لا توجد قيود أخيرة." + +#: accounting/templates/accounting/journal_entries.html:17 +#: accounting/templates/accounting/journal_entry_form.html:14 +msgid "New Manual Entry" +msgstr "قيد يدوي جديد" + +#: accounting/templates/accounting/journal_entries.html:36 +#: accounting/templates/accounting/journal_entry_form.html:47 +#: accounting/templates/accounting/trial_balance.html:26 +msgid "Account" +msgstr "الحساب" + +#: accounting/templates/accounting/journal_entries.html:64 +msgid "No journal entries found." +msgstr "لا توجد قيود يومية." + +#: accounting/templates/accounting/journal_entry_form.html:17 +msgid "New Manual Journal Entry" +msgstr "قيد يومية يدوي جديد" + +#: accounting/templates/accounting/journal_entry_form.html:57 +#: accounting/templates/accounting/journal_entry_form.html:82 +msgid "Select Account" +msgstr "اختر الحساب" + +#: accounting/templates/accounting/journal_entry_form.html:109 +msgid "Add Line" +msgstr "إضافة سطر" + +#: accounting/templates/accounting/journal_entry_form.html:114 +msgid "Totals" +msgstr "الإجماليات" + +#: accounting/templates/accounting/journal_entry_form.html:121 +#: accounting/templates/accounting/journal_entry_form.html:167 +msgid "Out of Balance" +msgstr "غير متوازن" + +#: accounting/templates/accounting/journal_entry_form.html:129 +msgid "Create Entry" +msgstr "إنشاء القيد" + +#: accounting/templates/accounting/journal_entry_form.html:164 +msgid "Balanced" +msgstr "متوازن" + +#: accounting/templates/accounting/profit_loss.html:14 +msgid "Profit & Loss Statement" +msgstr "قائمة الأرباح والخسائر" + +#: accounting/templates/accounting/profit_loss.html:15 +msgid "Period ending" +msgstr "نهاية الفترة" + +#: accounting/templates/accounting/profit_loss.html:36 +msgid "REVENUE" +msgstr "الإيرادات" + +#: accounting/templates/accounting/profit_loss.html:45 +#: core/templates/core/index.html:30 +msgid "Total Revenue" +msgstr "إجمالي الإيرادات" + +#: accounting/templates/accounting/profit_loss.html:51 +msgid "EXPENSES" +msgstr "المصاريف" + +#: accounting/templates/accounting/profit_loss.html:60 +#: core/templates/core/expenses.html:44 +msgid "Total Expenses" +msgstr "إجمالي المصاريف" + +#: accounting/templates/accounting/profit_loss.html:66 +msgid "NET PROFIT / LOSS" +msgstr "صافي الربح / الخسارة" + +#: accounting/templates/accounting/trial_balance.html:49 +msgid "TOTAL" +msgstr "الإجمالي" + +#: accounting/views.py:63 +msgid "Account saved successfully." +msgstr "تم حفظ الحساب بنجاح." + +#: accounting/views.py:118 +msgid "Manual journal entry created successfully." +msgstr "تم إنشاء قيد اليومية اليدوي بنجاح." + +#: core/models.py:14 core/templates/base.html:154 +#: core/templates/core/expense_categories.html:15 +#: core/templates/core/inventory.html:54 +msgid "Categories" +msgstr "الفئات" + +#: core/models.py:22 core/templates/core/inventory.html:222 +msgid "Short Name" +msgstr "الاسم المختصر" + +#: core/models.py:33 +msgid "Barcode/SKU" +msgstr "الباركود/SKU" + +#: core/models.py:35 core/models.py:273 core/models.py:329 +#: core/templates/core/inventory.html:367 +#: core/templates/core/purchase_create.html:62 +#: core/templates/core/purchase_detail.html:102 +#: core/templates/core/purchase_return_create.html:71 +#: core/templates/core/purchase_return_detail.html:80 +msgid "Cost Price" +msgstr "سعر التكلفة" + +#: core/models.py:36 core/templates/core/inventory.html:371 +msgid "Sale Price" +msgstr "سعر البيع" + +#: core/models.py:37 +msgid "VAT (%)" +msgstr "الضريبة (%)" + +#: core/models.py:38 +msgid "Opening Stock" +msgstr "مخزون أول المدة" + +#: core/models.py:39 +msgid "In Stock" +msgstr "في المخزن" + +#: core/models.py:40 +msgid "Product Image" +msgstr "صورة المنتج" + +#: core/models.py:41 core/models.py:102 core/templates/core/inventory.html:138 +#: core/templates/core/settings.html:200 core/templates/core/settings.html:236 +#: core/templates/core/settings.html:461 core/templates/core/settings.html:532 +#: core/templates/core/users.html:74 +msgid "Active" +msgstr "نشط" + +#: core/models.py:50 +msgid "Minimum Points" +msgstr "الحد الأدنى للنقاط" + +#: core/models.py:51 core/templates/core/settings.html:355 +#: core/templates/core/settings.html:420 +msgid "Point Multiplier" +msgstr "مضاعف النقاط" + +#: core/models.py:52 +msgid "Discount Percentage" +msgstr "نسبة الخصم" + +#: core/models.py:53 core/templates/core/settings.html:363 +#: core/templates/core/settings.html:428 +msgid "Color Code" +msgstr "رمز اللون" + +#: core/models.py:59 core/models.py:92 core/templates/core/customers.html:40 +#: core/templates/core/suppliers.html:40 +msgid "Name" +msgstr "الاسم" + +#: core/models.py:60 core/models.py:94 core/models.py:349 +#: core/templates/core/customer_payment_receipt.html:169 +#: core/templates/core/customers.html:41 +#: core/templates/core/sale_receipt.html:170 +#: core/templates/core/suppliers.html:42 +msgid "Phone" +msgstr "الهاتف" + +#: core/models.py:61 core/models.py:350 core/templates/core/customers.html:42 +#: core/templates/core/pos.html:289 core/templates/core/users.html:43 +#: core/templates/core/users.html:180 core/templates/core/users.html:221 +msgid "Email" +msgstr "البريد الإلكتروني" + +#: core/models.py:62 core/models.py:348 core/templates/core/customers.html:99 +#: core/templates/core/settings.html:91 +msgid "Address" +msgstr "العنوان" + +#: core/models.py:63 +msgid "Loyalty Points" +msgstr "نقاط الولاء" + +#: core/models.py:77 +msgid "Earned" +msgstr "مكتسبة" + +#: core/models.py:78 +msgid "Redeemed" +msgstr "مستبدلة" + +#: core/models.py:79 +msgid "Adjusted" +msgstr "معدلة" + +#: core/models.py:84 +msgid "Points" +msgstr "نقاط" + +#: core/models.py:93 core/templates/core/suppliers.html:41 +#: core/templates/core/suppliers.html:86 +msgid "Contact Person" +msgstr "الشخص المسؤول" + +#: core/models.py:114 core/templates/core/expense_categories.html:4 +#: core/templates/core/expense_categories.html:10 +#: core/templates/core/expenses.html:23 +msgid "Expense Categories" +msgstr "فئات المصاريف" + +#: core/models.py:126 core/templates/core/expenses.html:208 +msgid "Attachment" +msgstr "مرفق" + +#: core/models.py:134 core/models.py:232 core/templates/core/pos.html:348 +msgid "Cash" +msgstr "نقدي" + +#: core/models.py:136 core/models.py:140 core/models.py:234 core/models.py:238 +#: core/templates/core/invoices.html:57 core/templates/core/invoices.html:102 +#: core/templates/core/purchases.html:62 +msgid "Partial" +msgstr "جزئي" + +#: core/models.py:139 core/models.py:237 core/templates/core/invoices.html:56 +#: core/templates/core/invoices.html:100 core/templates/core/purchases.html:60 +msgid "Paid" +msgstr "مدفوع" + +#: core/models.py:141 core/models.py:239 +#: core/templates/core/invoice_detail.html:82 +#: core/templates/core/invoices.html:58 core/templates/core/invoices.html:104 +#: core/templates/core/purchase_detail.html:86 +#: core/templates/core/purchases.html:64 +msgid "Unpaid" +msgstr "غير مدفوع" + +#: core/models.py:146 core/models.py:243 +#: core/templates/core/invoice_detail.html:47 +#: core/templates/core/purchase_detail.html:47 +msgid "Invoice Number" +msgstr "رقم الفاتورة" + +#: core/models.py:147 core/models.py:208 core/models.py:244 core/models.py:295 +#: core/models.py:317 core/models.py:338 +#: core/templates/core/customer_payment_receipt.html:194 +#: core/templates/core/index.html:139 +#: core/templates/core/purchase_return_create.html:113 +#: core/templates/core/purchase_returns.html:38 +#: core/templates/core/sale_return_create.html:113 +#: core/templates/core/sales_returns.html:38 +msgid "Total Amount" +msgstr "المبلغ الإجمالي" + +#: core/models.py:148 core/models.py:245 +#: core/templates/core/invoice_create.html:142 +#: core/templates/core/invoice_edit.html:147 +msgid "Paid Amount" +msgstr "المبلغ المدفوع" + +#: core/models.py:149 core/models.py:246 +#: core/templates/core/invoice_detail.html:162 +#: core/templates/core/purchase_detail.html:148 +#: core/templates/core/purchases.html:94 +msgid "Balance Due" +msgstr "الرصيد المستحق" + +#: core/models.py:150 core/models.py:209 +#: core/templates/core/invoice_create.html:109 +#: core/templates/core/invoice_detail.html:137 +#: core/templates/core/invoice_edit.html:114 core/templates/core/pos.html:234 +#: core/templates/core/quotation_create.html:118 +#: core/templates/core/quotation_detail.html:163 +#: core/templates/core/settings.html:304 +msgid "Discount" +msgstr "الخصم" + +#: core/models.py:151 +msgid "Loyalty Points Redeemed" +msgstr "نقاط الولاء المستبدلة" + +#: core/models.py:152 +msgid "Loyalty Discount" +msgstr "خصم الولاء" + +#: core/models.py:153 core/models.py:247 +#: core/templates/core/invoice_create.html:124 +#: core/templates/core/invoice_edit.html:129 core/templates/core/pos.html:348 +#: core/templates/core/purchase_create.html:117 +#: core/templates/core/sale_receipt.html:201 +msgid "Payment Type" +msgstr "نوع الدفع" + +#: core/models.py:154 core/models.py:210 core/models.py:248 +#: core/templates/core/index.html:141 core/templates/core/inventory.html:104 +#: core/templates/core/invoices.html:53 core/templates/core/invoices.html:80 +#: core/templates/core/purchases.html:40 +#: core/templates/core/quotation_detail.html:99 +#: core/templates/core/quotations.html:40 +#: core/templates/core/sale_receipt.html:193 +#: core/templates/core/settings.html:189 core/templates/core/users.html:45 +msgid "Status" +msgstr "الحالة" + +#: core/models.py:155 core/models.py:249 +#: core/templates/core/invoice_create.html:147 +#: core/templates/core/invoice_edit.html:152 +#: core/templates/core/purchase_create.html:140 +#: core/templates/core/purchase_detail.html:60 +msgid "Due Date" +msgstr "تاريخ الاستحقاق" + +#: core/models.py:178 core/models.py:223 core/models.py:272 core/models.py:306 +#: core/models.py:328 core/templates/core/invoice_create.html:63 +#: core/templates/core/invoice_detail.html:102 +#: core/templates/core/invoice_edit.html:68 +#: core/templates/core/purchase_create.html:63 +#: core/templates/core/purchase_detail.html:106 +#: core/templates/core/purchase_return_create.html:72 +#: core/templates/core/purchase_return_detail.html:84 +#: core/templates/core/quotation_create.html:63 +#: core/templates/core/quotation_detail.html:128 +#: core/templates/core/sale_return_create.html:72 +#: core/templates/core/sale_return_detail.html:84 +msgid "Quantity" +msgstr "الكمية" + +#: core/models.py:179 core/models.py:224 core/models.py:307 +#: core/templates/core/invoice_create.html:62 +#: core/templates/core/invoice_detail.html:98 +#: core/templates/core/invoice_edit.html:67 +#: core/templates/core/quotation_create.html:62 +#: core/templates/core/quotation_detail.html:124 +#: core/templates/core/sale_return_create.html:71 +#: core/templates/core/sale_return_detail.html:80 +msgid "Unit Price" +msgstr "سعر الوحدة" + +#: core/models.py:180 core/models.py:225 core/models.py:274 core/models.py:308 +#: core/models.py:330 +msgid "Line Total" +msgstr "إجمالي السطر" + +#: core/models.py:188 core/models.py:282 +msgid "Payment Date" +msgstr "تاريخ الدفع" + +#: core/models.py:190 core/models.py:284 +msgid "Payment Method Name" +msgstr "اسم طريقة الدفع" + +#: core/models.py:199 core/templates/core/quotations.html:61 +msgid "Draft" +msgstr "مسودة" + +#: core/models.py:200 core/templates/core/quotations.html:63 +msgid "Sent" +msgstr "مرسل" + +#: core/models.py:201 core/templates/core/quotation_detail.html:104 +#: core/templates/core/quotations.html:65 +msgid "Accepted" +msgstr "مقبول" + +#: core/models.py:202 core/templates/core/quotation_detail.html:106 +#: core/templates/core/quotations.html:69 +msgid "Rejected" +msgstr "مرفوض" + +#: core/models.py:203 +msgid "Converted to Invoice" +msgstr "محول إلى فاتورة" + +#: core/models.py:207 core/templates/core/quotation_detail.html:71 +msgid "Quotation Number" +msgstr "رقم عرض السعر" + +#: core/models.py:211 core/templates/core/quotation_create.html:132 +#: core/templates/core/quotation_detail.html:80 +#: core/templates/core/quotations.html:41 +msgid "Valid Until" +msgstr "صالح حتى" + +#: core/models.py:212 core/templates/core/quotation_create.html:99 +#: core/templates/core/quotation_detail.html:191 +msgid "Terms and Conditions" +msgstr "الشروط والأحكام" + +#: core/models.py:294 core/models.py:316 +#: core/templates/core/purchase_return_detail.html:44 +#: core/templates/core/sale_return_detail.html:44 +msgid "Return Number" +msgstr "رقم المردود" + +#: core/models.py:337 +msgid "Cart Data" +msgstr "بيانات العربة" + +#: core/models.py:347 core/templates/core/settings.html:71 +msgid "Business Name" +msgstr "اسم الشركة" + +#: core/models.py:351 core/templates/core/settings.html:99 +msgid "Currency Symbol" +msgstr "رمز العملة" + +#: core/models.py:352 +msgid "Tax Rate (%)" +msgstr "معدل الضريبة (%)" + +#: core/models.py:353 core/templates/core/settings.html:108 +msgid "Decimal Places" +msgstr "الخانات العشرية" + +#: core/models.py:354 +msgid "Logo" +msgstr "الشعار" + +#: core/models.py:355 core/templates/core/settings.html:83 +msgid "VAT Number" +msgstr "الرقم الضريبي" + +#: core/models.py:356 core/templates/core/settings.html:87 +msgid "Registration Number" +msgstr "رقم السجل التجاري" + +#: core/models.py:359 core/templates/core/settings.html:118 +msgid "Enable Loyalty System" +msgstr "تفعيل نظام الولاء" + +#: core/models.py:360 +msgid "Points Earned per Currency Unit" +msgstr "النقاط المكتسبة لكل وحدة عملة" + +#: core/models.py:361 +msgid "Currency Value per Point" +msgstr "قيمة العملة لكل نقطة" + +#: core/models.py:362 core/templates/core/settings.html:122 +msgid "Minimum Points to Redeem" +msgstr "الحد الأدنى للنقاط للاستبدال" + +#: core/models.py:369 core/templates/core/profile.html:105 +msgid "Profile Picture" +msgstr "صورة الملف الشخصي" + +#: core/models.py:370 core/templates/core/customers.html:91 +#: core/templates/core/pos.html:285 core/templates/core/profile.html:125 +#: core/templates/core/settings.html:79 core/templates/core/suppliers.html:90 +msgid "Phone Number" +msgstr "رقم الهاتف" + +#: core/models.py:371 core/templates/core/profile.html:129 +msgid "Bio" +msgstr "نبذة" + +#: core/templates/base.html:48 core/templates/base.html:191 +#: core/templates/core/customers.html:13 +#: core/templates/core/expense_categories.html:13 +#: core/templates/core/expenses.html:13 core/templates/core/inventory.html:13 +#: core/templates/core/suppliers.html:13 +msgid "Dashboard" +msgstr "لوحة التحكم" + +#: core/templates/base.html:57 +msgid "Sales" +msgstr "المبيعات" + +#: core/templates/base.html:63 core/templates/core/customer_payments.html:18 +msgid "POS System" +msgstr "نظام نقطة البيع" + +#: core/templates/base.html:68 +msgid "New Sales" +msgstr "مبيعات جديدة" + +#: core/templates/base.html:73 core/templates/core/customer_payments.html:15 +#: core/templates/core/invoices.html:4 core/templates/core/invoices.html:10 +msgid "Sales Invoices" +msgstr "فواتير المبيعات" + +#: core/templates/base.html:78 core/templates/core/quotation_detail.html:4 +#: core/templates/core/quotation_detail.html:69 +msgid "Quotation" +msgstr "عرض سعر" + +#: core/templates/base.html:83 core/templates/core/sale_return_detail.html:4 +#: core/templates/core/sale_return_detail.html:42 +msgid "Sales Return" +msgstr "مردودات مبيعات" + +#: core/templates/base.html:92 +msgid "Purchases" +msgstr "المشتريات" + +#: core/templates/base.html:98 core/templates/core/purchase_create.html:4 +msgid "New Purchase" +msgstr "مشتريات جديدة" + +#: core/templates/base.html:103 +msgid "Purchase List" +msgstr "قائمة المشتريات" + +#: core/templates/base.html:108 core/templates/core/supplier_payments.html:4 +#: core/templates/core/supplier_payments.html:10 +msgid "Supplier Payments" +msgstr "مدفوعات الموردين" + +#: core/templates/base.html:113 +#: core/templates/core/purchase_return_detail.html:4 +#: core/templates/core/purchase_return_detail.html:42 core/views.py:2096 +msgid "Purchase Return" +msgstr "مردودات مشتريات" + +#: core/templates/base.html:122 +msgid "Inventory" +msgstr "المخزون" + +#: core/templates/base.html:128 +msgid "Products" +msgstr "المنتجات" + +#: core/templates/base.html:133 +msgid "Barcode Printing" +msgstr "طباعة الباركود" + +#: core/templates/base.html:143 core/templates/core/expense_categories.html:14 +#: core/templates/core/expenses.html:4 core/templates/core/expenses.html:10 +#: core/templates/core/expenses.html:14 +msgid "Expenses" +msgstr "المصاريف" + +#: core/templates/base.html:149 +msgid "Expense List" +msgstr "قائمة المصاريف" + +#: core/templates/base.html:163 +msgid "Contacts" +msgstr "جهات الاتصال" + +#: core/templates/base.html:169 core/templates/core/customers.html:4 +#: core/templates/core/customers.html:10 core/templates/core/customers.html:14 +msgid "Customers" +msgstr "العملاء" + +#: core/templates/base.html:174 core/templates/core/suppliers.html:4 +#: core/templates/core/suppliers.html:10 core/templates/core/suppliers.html:14 +msgid "Suppliers" +msgstr "الموردين" + +#: core/templates/base.html:225 +msgid "Reports" +msgstr "التقارير" + +#: core/templates/base.html:231 +msgid "Overview Reports" +msgstr "تقارير عامة" + +#: core/templates/base.html:236 core/templates/core/customer_statement.html:4 +#: core/templates/core/customer_statement.html:10 +msgid "Customer Statement" +msgstr "كشف حساب عميل" + +#: core/templates/base.html:241 core/templates/core/supplier_statement.html:4 +#: core/templates/core/supplier_statement.html:10 +msgid "Supplier Statement" +msgstr "كشف حساب مورد" + +#: core/templates/base.html:246 core/templates/core/cashflow_report.html:4 +#: core/templates/core/cashflow_report.html:19 +#: core/templates/core/cashflow_report.html:28 +msgid "Cashflow Report" +msgstr "تقرير التدفق النقدي" + +#: core/templates/base.html:255 +msgid "System" +msgstr "النظام" + +#: core/templates/base.html:261 +msgid "Settings" +msgstr "الإعدادات" + +#: core/templates/base.html:266 +msgid "User Management" +msgstr "إدارة المستخدمين" + +#: core/templates/base.html:271 +msgid "Django Admin" +msgstr "لوحة مدير ديجانجو" + +#: core/templates/base.html:317 core/templates/core/invoices.html:91 +#: core/templates/core/quotations.html:52 +#: core/templates/core/sales_returns.html:50 core/views.py:2172 +msgid "Guest" +msgstr "ضيف" + +#: core/templates/base.html:335 core/templates/core/profile.html:5 +#: core/templates/core/profile.html:11 +msgid "My Profile" +msgstr "ملفي الشخصي" + +#: core/templates/base.html:337 core/templates/core/settings.html:9 +msgid "System Settings" +msgstr "إعدادات النظام" + +#: core/templates/base.html:344 +msgid "Logout" +msgstr "تسجيل الخروج" + +#: core/templates/base.html:349 core/templates/registration/login.html:4 +msgid "Login" +msgstr "تسجيل الدخول" + +#: core/templates/core/cashflow_report.html:29 +msgid "Detailed summary of all cash inflows and outflows." +msgstr "ملخص مفصل لجميع التدفقات النقدية الداخلة والخارجة." + +#: core/templates/core/cashflow_report.html:43 +#: core/templates/core/expenses.html:56 core/templates/core/invoices.html:34 +msgid "Start Date" +msgstr "تاريخ البدء" + +#: core/templates/core/cashflow_report.html:47 +#: core/templates/core/expenses.html:60 core/templates/core/invoices.html:38 +msgid "End Date" +msgstr "تاريخ الانتهاء" + +#: core/templates/core/cashflow_report.html:52 +#: core/templates/core/customer_payments.html:45 +#: core/templates/core/customer_statement.html:42 +#: core/templates/core/expenses.html:75 core/templates/core/inventory.html:86 +#: core/templates/core/invoices.html:62 +#: core/templates/core/supplier_statement.html:42 +msgid "Filter" +msgstr "تصفية" + +#: core/templates/core/cashflow_report.html:63 +#: core/templates/core/cashflow_report.html:84 +msgid "Total Inflow" +msgstr "إجمالي الداخل" + +#: core/templates/core/cashflow_report.html:67 +#: core/templates/core/cashflow_report.html:93 +msgid "Total Outflow" +msgstr "إجمالي الخارج" + +#: core/templates/core/cashflow_report.html:71 +#: core/templates/core/cashflow_report.html:102 +msgid "Net Cashflow" +msgstr "صافي التدفق النقدي" + +#: core/templates/core/cashflow_report.html:113 +msgid "Transaction History" +msgstr "سجل المعاملات" + +#: core/templates/core/cashflow_report.html:123 +msgid "Contact" +msgstr "جهة الاتصال" + +#: core/templates/core/cashflow_report.html:124 +#: core/templates/core/customer_payments.html:62 +#: core/templates/core/invoice_detail.html:188 +#: core/templates/core/purchase_detail.html:174 +#: core/templates/core/supplier_payments.html:28 +msgid "Method" +msgstr "الطريقة" + +#: core/templates/core/cashflow_report.html:125 +msgid "Inflow" +msgstr "داخل" + +#: core/templates/core/cashflow_report.html:126 +msgid "Outflow" +msgstr "خارج" + +#: core/templates/core/cashflow_report.html:152 +msgid "No transactions found for this period." +msgstr "لم يتم العثور على معاملات لهذه الفترة." + +#: core/templates/core/customer_payment_receipt.html:6 +#: core/templates/core/customer_payment_receipt.html:175 +#: core/templates/core/invoices.html:110 +#: core/templates/core/sale_receipt.html:6 +#: core/templates/core/sale_receipt.html:176 +msgid "Payment Receipt" +msgstr "إيصال دفع" + +#: core/templates/core/customer_payment_receipt.html:158 +#: core/templates/core/sale_receipt.html:158 +msgid "Print Receipt" +msgstr "طباعة الإيصال" + +#: core/templates/core/customer_payment_receipt.html:171 +#: core/templates/core/sale_receipt.html:172 +msgid "VAT No" +msgstr "الرقم الضريبي" + +#: core/templates/core/customer_payment_receipt.html:177 +msgid "Receipt #" +msgstr "إيصال رقم" + +#: core/templates/core/customer_payment_receipt.html:185 +#: core/templates/core/sale_receipt.html:186 +msgid "Received From" +msgstr "استلمت من" + +#: core/templates/core/customer_payment_receipt.html:192 +msgid "In Reference To" +msgstr "بالإشارة إلى" + +#: core/templates/core/customer_payment_receipt.html:193 +msgid "Invoice" +msgstr "فاتورة" + +#: core/templates/core/customer_payment_receipt.html:200 +#: core/templates/core/expenses.html:91 core/templates/core/expenses.html:195 +#: core/templates/core/invoice_create.html:133 +#: core/templates/core/invoice_edit.html:138 +#: core/templates/core/invoices.html:149 core/templates/core/pos.html:348 +#: core/templates/core/purchase_create.html:126 +#: core/templates/core/purchases.html:101 +msgid "Payment Method" +msgstr "طريقة الدفع" + +#: core/templates/core/customer_payment_receipt.html:204 +#: core/templates/core/sale_receipt.html:205 +msgid "Transaction Status" +msgstr "حالة المعاملة" + +#: core/templates/core/customer_payment_receipt.html:205 +#: core/templates/core/index.html:157 +msgid "Completed" +msgstr "مكتمل" + +#: core/templates/core/customer_payment_receipt.html:208 +msgid "Recorded By" +msgstr "سجل بواسطة" + +#: core/templates/core/customer_payment_receipt.html:220 +msgid "Amount Received" +msgstr "المبلغ المستلم" + +#: core/templates/core/customer_payment_receipt.html:225 +#: core/templates/core/invoice_detail.html:174 +#: core/templates/core/purchase_detail.html:160 +#: core/templates/core/quotation_detail.html:184 +#: core/templates/core/sale_receipt.html:226 +msgid "Amount in Words" +msgstr "المبلغ كتابة" + +#: core/templates/core/customer_payment_receipt.html:229 +#: core/templates/core/invoice_detail.html:225 +#: core/templates/core/purchase_detail.html:211 +#: core/templates/core/sale_receipt.html:230 +msgid "Thank you for your business!" +msgstr "شكراً لتعاملكم معنا!" + +#: core/templates/core/customer_payments.html:4 +#: core/templates/core/customer_payments.html:10 +msgid "Customer Receipts" +msgstr "إيصالات العملاء" + +#: core/templates/core/customer_payments.html:11 +msgid "History of payments received from customers" +msgstr "سجل المدفوعات المستلمة من العملاء" + +#: core/templates/core/customer_payments.html:28 +#: core/templates/core/customer_payments.html:60 +#: core/templates/core/customer_statement.html:24 +#: core/templates/core/index.html:137 +#: core/templates/core/invoice_create.html:19 +#: core/templates/core/invoice_edit.html:24 +#: core/templates/core/invoices.html:42 core/templates/core/invoices.html:77 +#: core/templates/core/pos.html:316 +#: core/templates/core/quotation_create.html:19 +#: core/templates/core/quotations.html:37 +#: core/templates/core/sale_return_create.html:19 +#: core/templates/core/sales_returns.html:37 +msgid "Customer" +msgstr "" + +#: core/templates/core/customer_payments.html:30 +#: core/templates/core/invoices.html:44 +msgid "All Customers" +msgstr "جميع العملاء" + +#: core/templates/core/customer_payments.html:37 +#: core/templates/core/customer_statement.html:66 +#: core/templates/core/supplier_statement.html:66 +msgid "From" +msgstr "من" + +#: core/templates/core/customer_payments.html:41 +#: core/templates/core/customer_statement.html:67 +#: core/templates/core/supplier_statement.html:67 +msgid "To" +msgstr "إلى" + +#: core/templates/core/customer_payments.html:46 +#: core/templates/core/pos.html:187 +msgid "Clear" +msgstr "مسح" + +#: core/templates/core/customer_payments.html:59 +#: core/templates/core/invoice_create.html:28 +#: core/templates/core/invoice_edit.html:33 +#: core/templates/core/invoices.html:75 core/templates/core/purchases.html:35 +#: core/templates/core/sale_receipt.html:178 +msgid "Invoice #" +msgstr "رقم الفاتورة" + +#: core/templates/core/customer_payments.html:63 +#: core/templates/core/index.html:140 +#: core/templates/core/invoice_detail.html:190 +#: core/templates/core/invoices.html:79 core/templates/core/profile.html:49 +#: core/templates/core/purchase_detail.html:176 +#: core/templates/core/purchase_returns.html:39 +#: core/templates/core/purchases.html:39 +#: core/templates/core/quotations.html:39 +#: core/templates/core/sales_returns.html:39 +#: core/templates/core/supplier_payments.html:29 +#: core/templates/core/users.html:42 +msgid "User" +msgstr "المستخدم" + +#: core/templates/core/customer_payments.html:64 +msgid "Receipt" +msgstr "إيصال" + +#: core/templates/core/customer_payments.html:91 +msgid "Print" +msgstr "طباعة" + +#: core/templates/core/customer_payments.html:102 +msgid "No customer receipts found." +msgstr "لم يتم العثور على إيصالات عملاء." + +#: core/templates/core/customer_statement.html:11 +msgid "View transaction history and balance for customers." +msgstr "عرض سجل المعاملات والرصيد للعملاء." + +#: core/templates/core/customer_statement.html:15 +#: core/templates/core/supplier_statement.html:15 +msgid "Print Statement" +msgstr "طباعة كشف الحساب" + +#: core/templates/core/customer_statement.html:26 +msgid "Select Customer" +msgstr "اختر العميل" + +#: core/templates/core/customer_statement.html:33 +#: core/templates/core/supplier_statement.html:33 +msgid "From Date" +msgstr "من تاريخ" + +#: core/templates/core/customer_statement.html:37 +#: core/templates/core/supplier_statement.html:37 +msgid "To Date" +msgstr "إلى تاريخ" + +#: core/templates/core/customer_statement.html:62 +msgid "STATEMENT" +msgstr "كشف حساب" + +#: core/templates/core/customer_statement.html:75 +msgid "Bill To" +msgstr "فاتورة إلى" + +#: core/templates/core/customer_statement.html:88 +#: core/templates/core/supplier_statement.html:87 +msgid "Transaction" +msgstr "معاملة" + +#: core/templates/core/customer_statement.html:99 +#: core/templates/core/supplier_statement.html:98 +msgid "Opening Balance" +msgstr "رصيد افتتاحي" + +#: core/templates/core/customer_statement.html:125 +#: core/templates/core/supplier_statement.html:124 +msgid "No transactions found for the selected period." +msgstr "لم يتم العثور على معاملات للفترة المختارة." + +#: core/templates/core/customer_statement.html:131 +#: core/templates/core/supplier_statement.html:130 +msgid "Closing Balance" +msgstr "رصيد إغلاق" + +#: core/templates/core/customer_statement.html:148 +msgid "Select a Customer" +msgstr "اختر عميلاً" + +#: core/templates/core/customer_statement.html:149 +msgid "Please select a customer and date range to view their statement." +msgstr "يرجى اختيار عميل ونطاق زمني لعرض كشف حسابهم." + +#: core/templates/core/customers.html:19 +msgid "Add Customer" +msgstr "إضافة عميل" + +#: core/templates/core/customers.html:43 core/templates/core/index.html:43 +msgid "Total Sales" +msgstr "إجمالي المبيعات" + +#: core/templates/core/customers.html:56 +#: core/templates/core/inventory.html:145 +msgid "View" +msgstr "عرض" + +#: core/templates/core/customers.html:62 +msgid "Are you sure you want to delete this customer?" +msgstr "هل أنت متأكد أنك تريد حذف هذا العميل؟" + +#: core/templates/core/customers.html:62 +#: core/templates/core/expense_categories.html:96 +#: core/templates/core/expenses.html:140 +#: core/templates/core/inventory.html:151 +#: core/templates/core/inventory.html:196 +#: core/templates/core/inventory.html:237 +#: core/templates/core/settings.html:265 core/templates/core/suppliers.html:57 +msgid "Delete" +msgstr "حذف" + +#: core/templates/core/customers.html:82 core/templates/core/pos.html:275 +msgid "Add New Customer" +msgstr "إضافة عميل جديد" + +#: core/templates/core/customers.html:87 core/templates/core/pos.html:281 +msgid "Full Name" +msgstr "الاسم الكامل" + +#: core/templates/core/customers.html:95 core/templates/core/profile.html:121 +#: core/templates/core/settings.html:75 +msgid "Email Address" +msgstr "عنوان البريد الإلكتروني" + +#: core/templates/core/customers.html:104 +#: core/templates/core/inventory.html:279 +#: core/templates/core/inventory.html:312 core/templates/core/pos.html:487 +#: core/templates/core/settings.html:434 core/templates/core/settings.html:465 +#: core/templates/core/suppliers.html:95 +msgid "Close" +msgstr "إغلاق" + +#: core/templates/core/customers.html:105 +#: core/templates/core/inventory.html:280 +#: core/templates/core/inventory.html:313 +#: core/templates/core/settings.html:466 core/templates/core/suppliers.html:96 +msgid "Save & Add Another" +msgstr "حفظ وإضافة آخر" + +#: core/templates/core/customers.html:106 +#: core/templates/core/inventory.html:281 +#: core/templates/core/inventory.html:314 +#: core/templates/core/settings.html:467 core/templates/core/suppliers.html:97 +msgid "Save" +msgstr "حفظ" + +#: core/templates/core/customers.html:136 +msgid "Customer added. You can add another one." +msgstr "تم إضافة العميل. يمكنك إضافة آخر." + +#: core/templates/core/expense_categories.html:20 +#: core/templates/core/inventory.html:26 +msgid "Add Category" +msgstr "إضافة فئة" + +#: core/templates/core/expense_categories.html:40 +#: core/templates/core/inventory.html:179 +msgid "Category Name" +msgstr "اسم الفئة" + +#: core/templates/core/expense_categories.html:42 +msgid "Expenses Count" +msgstr "عدد المصاريف" + +#: core/templates/core/expense_categories.html:80 +#: core/templates/core/expenses.html:131 core/templates/core/settings.html:253 +msgid "Confirm Delete" +msgstr "تأكيد الحذف" + +#: core/templates/core/expense_categories.html:84 +#: core/templates/core/inventory.html:196 +msgid "Are you sure you want to delete this category?" +msgstr "هل أنت متأكد أنك تريد حذف هذه الفئة؟" + +#: core/templates/core/expense_categories.html:89 +msgid "This category has active expenses. Delete them first." +msgstr "هذه الفئة تحتوي على مصاريف نشطة. احذفها أولاً." + +#: core/templates/core/expense_categories.html:107 +#: core/templates/core/inventory.html:204 +msgid "No categories found." +msgstr "لم يتم العثور على فئات." + +#: core/templates/core/expense_categories.html:123 +msgid "Add Expense Category" +msgstr "إضافة فئة مصاريف" + +#: core/templates/core/expense_categories.html:144 +msgid "Save Category" +msgstr "حفظ الفئة" + +#: core/templates/core/expense_categories.html:156 +msgid "Edit Expense Category" +msgstr "تعديل فئة مصاريف" + +#: core/templates/core/expense_categories.html:178 +msgid "Update Category" +msgstr "تحديث الفئة" + +#: core/templates/core/expenses.html:20 +msgid "Record Expense" +msgstr "تسجيل مصروف" + +#: core/templates/core/expenses.html:64 core/templates/core/expenses.html:89 +#: core/templates/core/expenses.html:174 +#: core/templates/core/inventory.html:100 +#: core/templates/core/inventory.html:349 +msgid "Category" +msgstr "الفئة" + +#: core/templates/core/expenses.html:66 core/templates/core/inventory.html:79 +msgid "All Categories" +msgstr "جميع الفئات" + +#: core/templates/core/expenses.html:76 core/templates/core/invoices.html:63 +msgid "Reset" +msgstr "إعادة ضبط" + +#: core/templates/core/expenses.html:116 +msgid "View Attachment" +msgstr "عرض المرفق" + +#: core/templates/core/expenses.html:135 +msgid "Are you sure you want to delete this expense record?" +msgstr "هل أنت متأكد أنك تريد حذف سجل المصروف هذا؟" + +#: core/templates/core/expenses.html:150 +msgid "No expense records found." +msgstr "لم يتم العثور على سجلات مصاريف." + +#: core/templates/core/expenses.html:167 +msgid "Record New Expense" +msgstr "تسجيل مصروف جديد" + +#: core/templates/core/expenses.html:176 +#: core/templates/core/inventory.html:351 +msgid "Select Category" +msgstr "اختر الفئة" + +#: core/templates/core/expenses.html:214 +msgid "Save Expense" +msgstr "حفظ المصروف" + +#: core/templates/core/index.html:4 +msgid "Smart Dashboard" +msgstr "لوحة التحكم الذكية" + +#: core/templates/core/index.html:11 +msgid "Overview" +msgstr "نظرة عامة" + +#: core/templates/core/index.html:12 +msgid "Welcome back! Here's what's happening with your business today." +msgstr "مرحباً بعودتك! إليك ما يحدث في عملك اليوم." + +#: core/templates/core/index.html:16 +msgid "New Sale" +msgstr "بيع جديد" + +#: core/templates/core/index.html:56 +msgid "Total Products" +msgstr "إجمالي المنتجات" + +#: core/templates/core/index.html:69 +msgid "Total Customers" +msgstr "إجمالي العملاء" + +#: core/templates/core/index.html:82 +msgid "Sales Revenue" +msgstr "إيرادات المبيعات" + +#: core/templates/core/index.html:83 +msgid "Last 7 Days" +msgstr "آخر 7 أيام" + +#: core/templates/core/index.html:92 +msgid "Low Stock Alerts" +msgstr "تنبيهات انخفاض المخزون" + +#: core/templates/core/index.html:117 +msgid "All stock levels are healthy!" +msgstr "جميع مستويات المخزون جيدة!" + +#: core/templates/core/index.html:121 +msgid "View Full Inventory" +msgstr "عرض المخزون بالكامل" + +#: core/templates/core/index.html:131 +msgid "Recent Sales" +msgstr "المبيعات الأخيرة" + +#: core/templates/core/index.html:136 +msgid "Sale ID" +msgstr "رقم البيع" + +#: core/templates/core/index.html:142 +msgid "Action" +msgstr "إجراء" + +#: core/templates/core/index.html:166 +msgid "No recent sales found." +msgstr "لا توجد مبيعات أخيرة." + +#: core/templates/core/index.html:187 core/templates/core/reports.html:25 +msgid "Revenue" +msgstr "الإيرادات" + +#: core/templates/core/inventory.html:4 core/templates/core/inventory.html:10 +msgid "Stock Management" +msgstr "إدارة المخزون" + +#: core/templates/core/inventory.html:14 +#: core/templates/core/inventory.html:101 +#: core/templates/core/inventory.html:375 core/templates/core/pos.html:163 +msgid "Stock" +msgstr "المخزون" + +#: core/templates/core/inventory.html:20 +msgid "Add Item" +msgstr "إضافة صنف" + +#: core/templates/core/inventory.html:23 +#: core/templates/core/inventory.html:407 +msgid "Import" +msgstr "استيراد" + +#: core/templates/core/inventory.html:29 +msgid "Add Unit" +msgstr "إضافة وحدة" + +#: core/templates/core/inventory.html:49 core/templates/core/pos.html:317 +msgid "Items" +msgstr "الأصناف" + +#: core/templates/core/inventory.html:59 +msgid "Units" +msgstr "الوحدات" + +#: core/templates/core/inventory.html:74 +msgid "Search by name or SKU..." +msgstr "بحث بالاسم أو الباركود..." + +#: core/templates/core/inventory.html:98 +msgid "Item" +msgstr "صنف" + +#: core/templates/core/inventory.html:99 +msgid "SKU/Barcode" +msgstr "الباركود/SKU" + +#: core/templates/core/inventory.html:102 +msgid "Cost" +msgstr "التكلفة" + +#: core/templates/core/inventory.html:103 +msgid "Price" +msgstr "السعر" + +#: core/templates/core/inventory.html:140 +#: core/templates/core/settings.html:202 core/templates/core/settings.html:532 +#: core/templates/core/users.html:76 +msgid "Inactive" +msgstr "غير نشط" + +#: core/templates/core/inventory.html:151 +msgid "Are you sure you want to delete this item?" +msgstr "هل أنت متأكد أنك تريد حذف هذا الصنف؟" + +#: core/templates/core/inventory.html:161 +msgid "No products found." +msgstr "لم يتم العثور على منتجات." + +#: core/templates/core/inventory.html:180 +#: core/templates/core/inventory.html:221 +msgid "Arabic Name" +msgstr "الاسم العربي" + +#: core/templates/core/inventory.html:181 +msgid "Slug" +msgstr "الرابط" + +#: core/templates/core/inventory.html:220 +msgid "Unit Name" +msgstr "اسم الوحدة" + +#: core/templates/core/inventory.html:237 +msgid "Are you sure you want to delete this unit?" +msgstr "هل أنت متأكد أنك تريد حذف هذه الوحدة؟" + +#: core/templates/core/inventory.html:245 +msgid "No units found." +msgstr "لم يتم العثور على وحدات." + +#: core/templates/core/inventory.html:263 +msgid "Add New Category" +msgstr "إضافة فئة جديدة" + +#: core/templates/core/inventory.html:292 +msgid "Add New Unit" +msgstr "إضافة وحدة جديدة" + +#: core/templates/core/inventory.html:306 +msgid "Short Name (e.g., kg, pcs)" +msgstr "الاسم المختصر (مثلاً: كجم، قطعة)" + +#: core/templates/core/inventory.html:325 +msgid "Add New Item" +msgstr "إضافة صنف جديد" + +#: core/templates/core/inventory.html:332 +msgid "Basic Information" +msgstr "معلومات أساسية" + +#: core/templates/core/inventory.html:342 +msgid "Barcode / SKU" +msgstr "الباركود / SKU" + +#: core/templates/core/inventory.html:358 +msgid "Unit" +msgstr "الوحدة" + +#: core/templates/core/inventory.html:360 +msgid "Select Unit" +msgstr "اختر الوحدة" + +#: core/templates/core/inventory.html:382 +msgid "Save Product" +msgstr "حفظ المنتج" + +#: core/templates/core/inventory.html:394 +msgid "Import Items" +msgstr "استيراد أصناف" + +#: core/templates/core/inventory.html:401 +msgid "Excel File (.xlsx)" +msgstr "ملف إكسل (.xlsx)" + +#: core/templates/core/inventory.html:451 +msgid "Category added. You can add another one." +msgstr "تم إضافة الفئة. يمكنك إضافة أخرى." + +#: core/templates/core/inventory.html:477 +msgid "Unit added. You can add another one." +msgstr "تم إضافة الوحدة. يمكنك إضافة أخرى." + +#: core/templates/core/invoice_create.html:4 +msgid "New Invoice" +msgstr "فاتورة جديدة" + +#: core/templates/core/invoice_create.html:13 +#: core/templates/core/invoices.html:14 +msgid "Create Sales Invoice" +msgstr "إنشاء فاتورة مبيعات" + +#: core/templates/core/invoice_create.html:21 +#: core/templates/core/invoice_edit.html:26 +#: core/templates/core/quotation_create.html:21 +#: core/templates/core/sale_return_create.html:21 +msgid "Walking Customer / Guest" +msgstr "عميل نقدي / ضيف" + +#: core/templates/core/invoice_create.html:29 +#: core/templates/core/invoice_edit.html:34 +msgid "e.g. INV-1001" +msgstr "" + +#: core/templates/core/invoice_create.html:35 +#: core/templates/core/invoice_edit.html:40 +#: core/templates/core/purchase_return_create.html:44 +#: core/templates/core/quotation_create.html:35 +#: core/templates/core/sale_return_create.html:44 +msgid "Search Products" +msgstr "بحث عن منتجات" + +#: core/templates/core/invoice_create.html:38 +#: core/templates/core/invoice_edit.html:43 +#: core/templates/core/purchase_create.html:38 +#: core/templates/core/purchase_return_create.html:47 +#: core/templates/core/quotation_create.html:38 +#: core/templates/core/sale_return_create.html:47 +msgid "Search by Name or SKU..." +msgstr "" + +#: core/templates/core/invoice_create.html:61 +#: core/templates/core/invoice_edit.html:66 +#: core/templates/core/purchase_create.html:61 +#: core/templates/core/purchase_return_create.html:70 +#: core/templates/core/quotation_create.html:61 +#: core/templates/core/sale_return_create.html:70 +msgid "Product" +msgstr "المنتج" + +#: core/templates/core/invoice_create.html:64 +#: core/templates/core/invoice_detail.html:106 +#: core/templates/core/invoice_edit.html:69 +#: core/templates/core/invoices.html:78 core/templates/core/pos.html:241 +#: core/templates/core/pos.html:318 +#: core/templates/core/purchase_create.html:64 +#: core/templates/core/purchase_detail.html:110 +#: core/templates/core/purchase_return_create.html:73 +#: core/templates/core/purchase_return_detail.html:88 +#: core/templates/core/purchases.html:38 +#: core/templates/core/quotation_create.html:64 +#: core/templates/core/quotation_detail.html:132 +#: core/templates/core/quotations.html:38 +#: core/templates/core/sale_return_create.html:73 +#: core/templates/core/sale_return_detail.html:88 +msgid "Total" +msgstr "الإجمالي" + +#: core/templates/core/invoice_create.html:87 +#: core/templates/core/invoice_edit.html:92 +msgid "Search and add products to this invoice." +msgstr "ابحث وأضف منتجات إلى هذه الفاتورة." + +#: core/templates/core/invoice_create.html:101 +#: core/templates/core/invoice_edit.html:106 +msgid "Invoice Summary" +msgstr "ملخص الفاتورة" + +#: core/templates/core/invoice_create.html:104 +#: core/templates/core/invoice_detail.html:128 +#: core/templates/core/invoice_edit.html:109 core/templates/core/pos.html:230 +#: core/templates/core/purchase_create.html:104 +#: core/templates/core/quotation_create.html:113 +#: core/templates/core/quotation_detail.html:154 +msgid "Subtotal" +msgstr "الإجمالي الفرعي" + +#: core/templates/core/invoice_create.html:118 +#: core/templates/core/invoice_detail.html:146 +#: core/templates/core/invoice_edit.html:123 +#: core/templates/core/purchase_create.html:111 +#: core/templates/core/purchase_detail.html:132 +#: core/templates/core/quotation_create.html:127 +#: core/templates/core/quotation_detail.html:172 +msgid "Grand Total" +msgstr "الإجمالي الكلي" + +#: core/templates/core/invoice_create.html:126 +#: core/templates/core/invoice_edit.html:131 +msgid "Cash (Full)" +msgstr "نقدي (كامل)" + +#: core/templates/core/invoice_create.html:127 +#: core/templates/core/invoice_edit.html:132 +msgid "Credit (Unpaid)" +msgstr "آجل (غير مدفوع)" + +#: core/templates/core/invoice_create.html:128 +#: core/templates/core/invoice_edit.html:133 +#: core/templates/core/purchase_create.html:121 +msgid "Partial Payment" +msgstr "دفع جزئي" + +#: core/templates/core/invoice_create.html:152 +#: core/templates/core/invoice_detail.html:219 +#: core/templates/core/invoice_edit.html:157 +#: core/templates/core/quotation_detail.html:200 +msgid "Internal Notes" +msgstr "ملاحظات داخلية" + +#: core/templates/core/invoice_create.html:160 +msgid "Generate Invoice" +msgstr "إصدار الفاتورة" + +#: core/templates/core/invoice_detail.html:4 +msgid "Sales Invoice" +msgstr "فاتورة مبيعات" + +#: core/templates/core/invoice_detail.html:11 +#: core/templates/core/sale_receipt.html:159 +msgid "Back to Invoices" +msgstr "العودة للفواتير" + +#: core/templates/core/invoice_detail.html:15 +#: core/templates/core/purchase_detail.html:15 +#: core/templates/core/purchase_return_detail.html:15 +#: core/templates/core/quotation_detail.html:20 +#: core/templates/core/sale_return_detail.html:15 +msgid "Download PDF" +msgstr "تحميل PDF" + +#: core/templates/core/invoice_detail.html:18 core/templates/core/pos.html:485 +#: core/templates/core/purchase_detail.html:18 +msgid "Print Invoice" +msgstr "طباعة الفاتورة" + +#: core/templates/core/invoice_detail.html:40 +#: core/templates/core/purchase_detail.html:40 +#: core/templates/core/quotation_detail.html:64 +msgid "VAT" +msgstr "" + +#: core/templates/core/invoice_detail.html:45 +msgid "Tax Invoice" +msgstr "فاتورة ضريبية" + +#: core/templates/core/invoice_detail.html:52 +#: core/templates/core/purchase_detail.html:52 +msgid "Issue Date" +msgstr "تاريخ الإصدار" + +#: core/templates/core/invoice_detail.html:56 +#: core/templates/core/purchase_detail.html:56 +msgid "Issued By" +msgstr "أصدرت بواسطة" + +#: core/templates/core/invoice_detail.html:65 +#: core/templates/core/sale_return_detail.html:62 +msgid "Customer Information" +msgstr "معلومات العميل" + +#: core/templates/core/invoice_detail.html:66 +#: core/templates/core/quotation_detail.html:90 +#: core/templates/core/sale_return_detail.html:63 +msgid "Guest Customer" +msgstr "عميل ضيف" + +#: core/templates/core/invoice_detail.html:75 +#: core/templates/core/purchase_detail.html:79 +msgid "Payment Status" +msgstr "حالة الدفع" + +#: core/templates/core/invoice_detail.html:78 +#: core/templates/core/purchase_detail.html:82 +msgid "Fully Paid" +msgstr "مدفوع بالكامل" + +#: core/templates/core/invoice_detail.html:80 +#: core/templates/core/purchase_detail.html:84 +msgid "Partially Paid" +msgstr "مدفوع جزئياً" + +#: core/templates/core/invoice_detail.html:94 +#: core/templates/core/purchase_detail.html:98 +#: core/templates/core/purchase_return_detail.html:76 +#: core/templates/core/quotation_detail.html:120 +#: core/templates/core/sale_return_detail.html:76 +msgid "Item Description" +msgstr "وصف الصنف" + +#: core/templates/core/invoice_detail.html:154 +#: core/templates/core/purchase_detail.html:140 +msgid "Total Paid" +msgstr "إجمالي المدفوع" + +#: core/templates/core/invoice_detail.html:182 +msgid "Payment Records" +msgstr "سجلات الدفع" + +#: core/templates/core/invoice_detail.html:226 +#: core/templates/core/purchase_return_detail.html:129 +#: core/templates/core/quotation_detail.html:207 +#: core/templates/core/sale_return_detail.html:129 +msgid "Software by Meezan" +msgstr "برمجيات الميزان" + +#: core/templates/core/invoice_edit.html:4 +msgid "Edit Invoice" +msgstr "تعديل الفاتورة" + +#: core/templates/core/invoice_edit.html:14 +msgid "Edit Sales Invoice" +msgstr "تعديل فاتورة مبيعات" + +#: core/templates/core/invoice_edit.html:16 +#: core/templates/core/purchase_detail.html:11 +msgid "Back to List" +msgstr "العودة للقائمة" + +#: core/templates/core/invoice_edit.html:165 +msgid "Update Invoice" +msgstr "تحديث الفاتورة" + +#: core/templates/core/invoice_edit.html:254 core/views.py:405 +#: core/views.py:1804 +msgid "Credit or Partial payments are not allowed for Guest customers." +msgstr "الدفع الآجل أو الجزئي غير مسموح للعملاء الضيوف." + +#: core/templates/core/invoices.html:11 +msgid "Track and manage your customer sales" +msgstr "تتبع وإدارة مبيعات العملاء" + +#: core/templates/core/invoices.html:55 +msgid "All Statuses" +msgstr "جميع الحالات" + +#: core/templates/core/invoices.html:114 +#: core/templates/core/purchase_returns.html:59 +#: core/templates/core/purchases.html:69 +#: core/templates/core/quotations.html:75 +#: core/templates/core/sales_returns.html:59 +msgid "View & Print" +msgstr "عرض وطباعة" + +#: core/templates/core/invoices.html:121 core/templates/core/purchases.html:87 +msgid "Record Payment" +msgstr "تسجيل دفعة" + +#: core/templates/core/invoices.html:135 +msgid "Record Customer Payment" +msgstr "تسجيل دفعة عميل" + +#: core/templates/core/invoices.html:142 +msgid "Remaining Balance" +msgstr "الرصيد المتبقي" + +#: core/templates/core/invoices.html:163 +#: core/templates/core/purchases.html:115 +msgid "Save Payment" +msgstr "حفظ الدفعة" + +#: core/templates/core/invoices.html:178 +msgid "Delete Sales Invoice?" +msgstr "حذف فاتورة المبيعات؟" + +#: core/templates/core/invoices.html:179 +msgid "" +"This will restore the product quantities and delete all payment history. " +"This action cannot be undone." +msgstr "" +"سيؤدي هذا إلى استعادة كميات المنتجات وحذف جميع سجلات الدفع. لا يمكن التراجع " +"عن هذا الإجراء." + +#: core/templates/core/invoices.html:181 +#: core/templates/core/purchase_returns.html:78 +#: core/templates/core/purchases.html:133 +#: core/templates/core/quotations.html:118 +#: core/templates/core/sales_returns.html:78 +msgid "Yes, Delete" +msgstr "نعم، احذف" + +#: core/templates/core/invoices.html:194 +msgid "No sales invoices found." +msgstr "لم يتم العثور على فواتير مبيعات." + +#: core/templates/core/pos.html:4 +msgid "POS" +msgstr "نقطة البيع" + +#: core/templates/core/pos.html:130 +msgid "Point of Sale" +msgstr "نقطة البيع" + +#: core/templates/core/pos.html:133 +msgid "Search products..." +msgstr "بحث عن منتجات..." + +#: core/templates/core/pos.html:138 +msgid "All" +msgstr "الكل" + +#: core/templates/core/pos.html:179 +msgid "Current Order" +msgstr "الطلب الحالي" + +#: core/templates/core/pos.html:195 +msgid "Walking Customer" +msgstr "عميل نقدي" + +#: core/templates/core/pos.html:208 +msgid "Loyalty" +msgstr "الولاء" + +#: core/templates/core/pos.html:212 +msgid "Available Points" +msgstr "النقاط المتاحة" + +#: core/templates/core/pos.html:224 +msgid "Your cart is empty" +msgstr "عربة التسوق فارغة" + +#: core/templates/core/pos.html:248 +msgid "PAY NOW" +msgstr "ادفع الآن" + +#: core/templates/core/pos.html:252 +msgid "Hold Order" +msgstr "تعليق الطلب" + +#: core/templates/core/pos.html:265 +msgid "View Cart" +msgstr "عرض العربة" + +#: core/templates/core/pos.html:296 +msgid "Save Customer" +msgstr "حفظ العميل" + +#: core/templates/core/pos.html:307 +msgid "Held Sales" +msgstr "المبيعات المعلقة" + +#: core/templates/core/pos.html:315 +msgid "Time" +msgstr "الوقت" + +#: core/templates/core/pos.html:329 +msgid "No held sales found" +msgstr "لا توجد مبيعات معلقة" + +#: core/templates/core/pos.html:341 +msgid "Complete Payment" +msgstr "إكمال الدفع" + +#: core/templates/core/pos.html:366 +msgid "Total Payable" +msgstr "إجمالي المطلوب" + +#: core/templates/core/pos.html:373 +msgid "Redeem Points" +msgstr "استبدال النقاط" + +#: core/templates/core/pos.html:374 +msgid "Max" +msgstr "الأقصى" + +#: core/templates/core/pos.html:380 +msgid "Points to spend for a discount" +msgstr "نقاط للإنفاق للحصول على خصم" + +#: core/templates/core/pos.html:384 +msgid "Cash Received" +msgstr "المبلغ المستلم" + +#: core/templates/core/pos.html:390 +msgid "Balance / Change" +msgstr "الباقي / الفكة" + +#: core/templates/core/pos.html:397 +msgid "Quick Cash" +msgstr "نقد سريع" + +#: core/templates/core/pos.html:405 +msgid "Exact Amount" +msgstr "المبلغ بالضبط" + +#: core/templates/core/pos.html:406 +msgid "Clear Cash" +msgstr "مسح المبلغ" + +#: core/templates/core/pos.html:413 +msgid "CONFIRM & PRINT" +msgstr "تأكيد وطباعة" + +#: core/templates/core/pos.html:481 +msgid "Success!" +msgstr "نجاح!" + +#: core/templates/core/pos.html:482 +msgid "Transaction completed." +msgstr "اكتملت المعاملة." + +#: core/templates/core/pos.html:549 +msgid "Are you sure you want to clear the current order?" +msgstr "" + +#: core/templates/core/pos.html:695 +msgid "" +"Credit sales are not allowed for Walking Customers. Please select a " +"customer." +msgstr "" + +#: core/templates/core/pos.html:749 +msgid "Processing..." +msgstr "جاري المعالجة..." + +#: core/templates/core/pos.html:865 +msgid "Customer name is required" +msgstr "اسم العميل مطلوب" + +#: core/templates/core/pos.html:953 +msgid "Loading..." +msgstr "جاري التحميل..." + +#: core/templates/core/pos.html:975 +msgid "Recall" +msgstr "استرجاع" + +#: core/templates/core/pos.html:992 +msgid "" +"The current cart is not empty. Recalling a held sale will clear current " +"items. Continue?" +msgstr "" +"العربة الحالية ليست فارغة. استرجاع عملية معلقة سيؤدي لمسح الأصناف الحالية. " +"استمرار؟" + +#: core/templates/core/pos.html:1023 +msgid "Are you sure you want to delete this held sale?" +msgstr "هل أنت متأكد أنك تريد حذف هذه العملية المعلقة؟" + +#: core/templates/core/profile.html:12 +msgid "Manage your personal information and account security." +msgstr "" + +#: core/templates/core/profile.html:55 +msgid "Joined" +msgstr "" + +#: core/templates/core/profile.html:59 core/templates/core/users.html:46 +msgid "Last Login" +msgstr "" + +#: core/templates/core/profile.html:72 +msgid "Security Tip" +msgstr "" + +#: core/templates/core/profile.html:75 +msgid "" +"Always use a strong, unique password for your account. Avoid using the same " +"password across multiple sites." +msgstr "" + +#: core/templates/core/profile.html:87 +msgid "Edit Profile" +msgstr "" + +#: core/templates/core/profile.html:92 +msgid "Security" +msgstr "" + +#: core/templates/core/profile.html:109 +msgid "Recommended: Square image, max 2MB." +msgstr "" + +#: core/templates/core/profile.html:113 +msgid "First Name" +msgstr "" + +#: core/templates/core/profile.html:117 +msgid "Last Name" +msgstr "" + +#: core/templates/core/profile.html:130 +msgid "A little bit about yourself..." +msgstr "" + +#: core/templates/core/profile.html:135 +msgid "Update Profile" +msgstr "" + +#: core/templates/core/profile.html:149 +msgid "Leave password fields blank if you don't want to change your password." +msgstr "" + +#: core/templates/core/profile.html:153 core/templates/core/users.html:225 +msgid "New Password" +msgstr "" + +#: core/templates/core/profile.html:157 +msgid "Confirm New Password" +msgstr "" + +#: core/templates/core/profile.html:163 +msgid "Change Password" +msgstr "" + +#: core/templates/core/purchase_create.html:13 +msgid "Create Purchase Invoice" +msgstr "" + +#: core/templates/core/purchase_create.html:19 +#: core/templates/core/purchase_return_create.html:19 +#: core/templates/core/purchase_returns.html:37 +#: core/templates/core/purchases.html:37 +#: core/templates/core/supplier_payments.html:26 +#: core/templates/core/supplier_statement.html:24 +#: core/templates/core/supplier_statement.html:75 +msgid "Supplier" +msgstr "المورد" + +#: core/templates/core/purchase_create.html:21 +#: core/templates/core/purchase_return_create.html:21 +#: core/templates/core/supplier_statement.html:26 +msgid "Select Supplier" +msgstr "" + +#: core/templates/core/purchase_create.html:28 +msgid "Reference / Invoice #" +msgstr "" + +#: core/templates/core/purchase_create.html:29 +msgid "e.g. INV-2024-001" +msgstr "" + +#: core/templates/core/purchase_create.html:35 +msgid "Add Items to Invoice" +msgstr "" + +#: core/templates/core/purchase_create.html:87 +msgid "No items added yet." +msgstr "" + +#: core/templates/core/purchase_create.html:101 +msgid "Purchase Summary" +msgstr "" + +#: core/templates/core/purchase_create.html:119 +msgid "Full Cash" +msgstr "" + +#: core/templates/core/purchase_create.html:120 +msgid "Full Credit" +msgstr "" + +#: core/templates/core/purchase_create.html:135 +msgid "Amount Paid" +msgstr "" + +#: core/templates/core/purchase_create.html:153 +msgid "Finalize Purchase" +msgstr "" + +#: core/templates/core/purchase_detail.html:4 +msgid "Purchase Detail" +msgstr "" + +#: core/templates/core/purchase_detail.html:45 core/views.py:2088 +msgid "Purchase Invoice" +msgstr "" + +#: core/templates/core/purchase_detail.html:69 +#: core/templates/core/purchase_return_detail.html:62 +msgid "Supplier Information" +msgstr "" + +#: core/templates/core/purchase_detail.html:168 +msgid "Payment History" +msgstr "" + +#: core/templates/core/purchase_return_create.html:4 +#: core/templates/core/purchase_returns.html:14 +msgid "New Purchase Return" +msgstr "" + +#: core/templates/core/purchase_return_create.html:13 +msgid "Create Purchase Return" +msgstr "" + +#: core/templates/core/purchase_return_create.html:28 +msgid "Original Purchase #" +msgstr "" + +#: core/templates/core/purchase_return_create.html:30 +#: core/templates/core/sale_return_create.html:30 +msgid "None / Manual" +msgstr "" + +#: core/templates/core/purchase_return_create.html:37 +#: core/templates/core/purchase_returns.html:35 +#: core/templates/core/sale_return_create.html:37 +#: core/templates/core/sales_returns.html:35 +msgid "Return #" +msgstr "" + +#: core/templates/core/purchase_return_create.html:38 +msgid "e.g. PRET-1001" +msgstr "" + +#: core/templates/core/purchase_return_create.html:96 +#: core/templates/core/sale_return_create.html:96 +msgid "Search and add products to this return." +msgstr "" + +#: core/templates/core/purchase_return_create.html:110 +#: core/templates/core/sale_return_create.html:110 +msgid "Return Summary" +msgstr "" + +#: core/templates/core/purchase_return_create.html:120 +#: core/templates/core/sale_return_create.html:120 +msgid "Reason for Return / Notes" +msgstr "" + +#: core/templates/core/purchase_return_create.html:121 +msgid "e.g. Expired product, incorrect shipment..." +msgstr "" + +#: core/templates/core/purchase_return_create.html:126 +msgid "" +"Completing this return will automatically decrease the stock quantity for " +"the selected items." +msgstr "" + +#: core/templates/core/purchase_return_create.html:133 +msgid "Process Purchase Return" +msgstr "" + +#: core/templates/core/purchase_return_create.html:212 +msgid "" +"Are you sure you want to process this purchase return? This will deduct from" +" stock." +msgstr "" + +#: core/templates/core/purchase_return_detail.html:11 +#: core/templates/core/sale_return_detail.html:11 +msgid "Back to Returns" +msgstr "" + +#: core/templates/core/purchase_return_detail.html:18 +#: core/templates/core/sale_return_detail.html:18 +msgid "Print Return" +msgstr "" + +#: core/templates/core/purchase_return_detail.html:49 +#: core/templates/core/sale_return_detail.html:49 +msgid "Return Date" +msgstr "" + +#: core/templates/core/purchase_return_detail.html:53 +msgid "Original Purchase" +msgstr "" + +#: core/templates/core/purchase_return_detail.html:110 +msgid "Total Credit" +msgstr "" + +#: core/templates/core/purchase_return_detail.html:128 +msgid "Purchase Return Confirmation" +msgstr "" + +#: core/templates/core/purchase_returns.html:4 +#: core/templates/core/purchase_returns.html:10 +msgid "Purchase Returns" +msgstr "" + +#: core/templates/core/purchase_returns.html:11 +msgid "Manage returns to suppliers" +msgstr "" + +#: core/templates/core/purchase_returns.html:75 +msgid "Delete Purchase Return?" +msgstr "" + +#: core/templates/core/purchase_returns.html:76 +msgid "" +"This will restore the quantities to stock. This action cannot be undone." +msgstr "" + +#: core/templates/core/purchase_returns.html:91 +msgid "No purchase returns found." +msgstr "" + +#: core/templates/core/purchases.html:4 +msgid "Stock Purchases" +msgstr "" + +#: core/templates/core/purchases.html:10 +#: core/templates/core/supplier_payments.html:14 +msgid "Purchase Invoices" +msgstr "فواتير المشتريات" + +#: core/templates/core/purchases.html:11 +msgid "Manage and track your stock procurement" +msgstr "" + +#: core/templates/core/purchases.html:14 +msgid "Create Purchase" +msgstr "" + +#: core/templates/core/purchases.html:73 +msgid "Add Payment" +msgstr "" + +#: core/templates/core/purchases.html:130 +msgid "Delete Purchase?" +msgstr "" + +#: core/templates/core/purchases.html:131 +msgid "" +"This will revert the stock changes and delete all payment history. This " +"action cannot be undone." +msgstr "" + +#: core/templates/core/purchases.html:146 +msgid "No purchases recorded yet." +msgstr "" + +#: core/templates/core/quotation_create.html:4 +#: core/templates/core/quotations.html:14 +msgid "New Quotation" +msgstr "" + +#: core/templates/core/quotation_create.html:13 +msgid "Create New Quotation" +msgstr "" + +#: core/templates/core/quotation_create.html:28 +#: core/templates/core/quotations.html:35 +msgid "Quotation #" +msgstr "" + +#: core/templates/core/quotation_create.html:29 +msgid "e.g. QUO-1001" +msgstr "" + +#: core/templates/core/quotation_create.html:87 +msgid "Search and add products to this quotation." +msgstr "" + +#: core/templates/core/quotation_create.html:100 +msgid "Enter quotation terms, delivery info, etc." +msgstr "" + +#: core/templates/core/quotation_create.html:110 +msgid "Quotation Summary" +msgstr "" + +#: core/templates/core/quotation_create.html:145 +msgid "Save Quotation" +msgstr "" + +#: core/templates/core/quotation_detail.html:11 +msgid "Back to Quotations" +msgstr "" + +#: core/templates/core/quotation_detail.html:16 +#: core/templates/core/quotations.html:79 +msgid "Convert to Invoice" +msgstr "" + +#: core/templates/core/quotation_detail.html:23 +msgid "Print Quotation" +msgstr "" + +#: core/templates/core/quotation_detail.html:36 +#: core/templates/core/quotations.html:96 +msgid "Convert to Invoice?" +msgstr "" + +#: core/templates/core/quotation_detail.html:37 +msgid "" +"This will create a sales invoice and deduct items from stock. This action " +"will change the quotation status to Converted." +msgstr "" + +#: core/templates/core/quotation_detail.html:39 +#: core/templates/core/quotations.html:99 +msgid "Yes, Convert to Invoice" +msgstr "" + +#: core/templates/core/quotation_detail.html:89 +msgid "Quote For" +msgstr "" + +#: core/templates/core/quotation_detail.html:102 +#: core/templates/core/quotations.html:67 +msgid "Converted" +msgstr "" + +#: core/templates/core/quotation_detail.html:108 +msgid "Open" +msgstr "" + +#: core/templates/core/quotation_detail.html:193 +msgid "No specific terms provided." +msgstr "" + +#: core/templates/core/quotation_detail.html:206 +msgid "This is a computer generated quotation." +msgstr "" + +#: core/templates/core/quotations.html:4 +#: core/templates/core/quotations.html:10 +msgid "Quotations" +msgstr "" + +#: core/templates/core/quotations.html:11 +msgid "Manage and track your price proposals" +msgstr "" + +#: core/templates/core/quotations.html:97 +msgid "" +"This will create a sales invoice and deduct items from stock. You won't be " +"able to undo this easily." +msgstr "" + +#: core/templates/core/quotations.html:115 +msgid "Delete Quotation?" +msgstr "" + +#: core/templates/core/quotations.html:116 +msgid "" +"Are you sure you want to delete this quotation? This action cannot be " +"undone." +msgstr "" + +#: core/templates/core/quotations.html:131 +msgid "No quotations found." +msgstr "" + +#: core/templates/core/reports.html:4 +msgid "Smart Reports" +msgstr "" + +#: core/templates/core/reports.html:10 +msgid "Analytics & Reports" +msgstr "" + +#: core/templates/core/reports.html:11 +msgid "Deep dive into your business performance." +msgstr "" + +#: core/templates/core/reports.html:24 +msgid "Month" +msgstr "" + +#: core/templates/core/reports.html:36 +msgid "No data available." +msgstr "" + +#: core/templates/core/reports.html:48 +msgid "Top Selling Products" +msgstr "" + +#: core/templates/core/reports.html:56 +msgid "units sold" +msgstr "" + +#: core/templates/core/reports.html:63 +msgid "No sales data." +msgstr "" + +#: core/templates/core/sale_receipt.html:194 +msgid "Paid In Full" +msgstr "" + +#: core/templates/core/sale_receipt.html:195 +msgid "Total Invoice" +msgstr "" + +#: core/templates/core/sale_receipt.html:206 +msgid "Settled" +msgstr "" + +#: core/templates/core/sale_receipt.html:209 +msgid "Sold By" +msgstr "" + +#: core/templates/core/sale_receipt.html:221 +msgid "Total Amount Received" +msgstr "" + +#: core/templates/core/sale_return_create.html:4 +#: core/templates/core/sales_returns.html:14 +msgid "New Sales Return" +msgstr "" + +#: core/templates/core/sale_return_create.html:13 +msgid "Create Sales Return" +msgstr "" + +#: core/templates/core/sale_return_create.html:28 +msgid "Original Sale #" +msgstr "" + +#: core/templates/core/sale_return_create.html:38 +msgid "e.g. RET-1001" +msgstr "" + +#: core/templates/core/sale_return_create.html:121 +msgid "e.g. Damaged product, customer changed mind..." +msgstr "" + +#: core/templates/core/sale_return_create.html:126 +msgid "" +"Completing this return will automatically increase the stock quantity for " +"the selected items." +msgstr "" + +#: core/templates/core/sale_return_create.html:133 +msgid "Process Sales Return" +msgstr "" + +#: core/templates/core/sale_return_create.html:212 +msgid "Are you sure you want to process this return? This will update stock." +msgstr "" + +#: core/templates/core/sale_return_detail.html:53 +msgid "Original Sale" +msgstr "" + +#: core/templates/core/sale_return_detail.html:110 +msgid "Total Refund" +msgstr "" + +#: core/templates/core/sale_return_detail.html:128 +msgid "Sales Return Confirmation" +msgstr "" + +#: core/templates/core/sales_returns.html:4 +#: core/templates/core/sales_returns.html:10 +msgid "Sales Returns" +msgstr "" + +#: core/templates/core/sales_returns.html:11 +msgid "Manage customer product returns" +msgstr "" + +#: core/templates/core/sales_returns.html:75 +msgid "Delete Sales Return?" +msgstr "" + +#: core/templates/core/sales_returns.html:76 +msgid "" +"This will deduct the quantities from stock again. This action cannot be " +"undone." +msgstr "" + +#: core/templates/core/sales_returns.html:91 +msgid "No sales returns found." +msgstr "" + +#: core/templates/core/settings.html:10 +msgid "Manage your business profile, payments, and loyalty system." +msgstr "إدارة ملف عملك، المدفوعات، ونظام الولاء." + +#: core/templates/core/settings.html:30 core/templates/core/settings.html:52 +msgid "Business Profile" +msgstr "ملف العمل" + +#: core/templates/core/settings.html:35 core/templates/core/settings.html:177 +msgid "Payment Methods" +msgstr "طرق الدفع" + +#: core/templates/core/settings.html:40 +msgid "Loyalty System" +msgstr "نظام الولاء" + +#: core/templates/core/settings.html:59 +msgid "Business Logo" +msgstr "شعار الشركة" + +#: core/templates/core/settings.html:97 +msgid "Financial Preferences" +msgstr "التفضيلات المالية" + +#: core/templates/core/settings.html:101 +msgid "e.g., OMR, $, £, SAR" +msgstr "" + +#: core/templates/core/settings.html:104 +#, python-format +msgid "Default Tax Rate (%%)" +msgstr "" + +#: core/templates/core/settings.html:110 +msgid "For price display" +msgstr "لعرض الأسعار" + +#: core/templates/core/settings.html:114 +msgid "Loyalty Configuration" +msgstr "إعدادات الولاء" + +#: core/templates/core/settings.html:126 +msgid "Points per Currency Unit Spent" +msgstr "النقاط لكل وحدة عملة منفق" + +#: core/templates/core/settings.html:128 +msgid "e.g., 1.0 means 1 point for every 1 OMR spent." +msgstr "مثلاً: 1.0 تعني نقطة واحدة لكل 1 ريال منفق." + +#: core/templates/core/settings.html:131 +msgid "Currency Value per Point (Redemption)" +msgstr "قيمة العملة لكل نقطة (استبدال)" + +#: core/templates/core/settings.html:133 +msgid "e.g., 0.010 means 100 points = 1 OMR." +msgstr "مثلاً: 0.010 تعني 100 نقطة = 1 ريال." + +#: core/templates/core/settings.html:139 core/templates/core/settings.html:241 +#: core/templates/core/settings.html:370 core/templates/core/users.html:239 +#: core/templates/core/users.html:318 +msgid "Save Changes" +msgstr "حفظ التغييرات" + +#: core/templates/core/settings.html:150 +msgid "Help & Support" +msgstr "المساعدة والدعم" + +#: core/templates/core/settings.html:154 +msgid "" +"Need help configuring your smart admin? Check our documentation or contact " +"support." +msgstr "" +"هل تحتاج للمساعدة في إعداد لوحة التحكم؟ راجع الوثائق أو تواصل مع الدعم." + +#: core/templates/core/settings.html:157 +msgid "Documentation" +msgstr "الوثائق" + +#: core/templates/core/settings.html:165 +msgid "Smart Admin Version" +msgstr "إصدار لوحة التحكم الذكية" + +#: core/templates/core/settings.html:179 +msgid "Add Method" +msgstr "إضافة طريقة" + +#: core/templates/core/settings.html:187 core/templates/core/settings.html:343 +#: core/templates/core/settings.html:408 +msgid "Name (EN)" +msgstr "الاسم (إنجليزي)" + +#: core/templates/core/settings.html:188 core/templates/core/settings.html:347 +#: core/templates/core/settings.html:412 +msgid "Name (AR)" +msgstr "الاسم (عربي)" + +#: core/templates/core/settings.html:222 +msgid "Edit Payment Method" +msgstr "تعديل طريقة الدفع" + +#: core/templates/core/settings.html:257 +msgid "Are you sure you want to delete" +msgstr "هل أنت متأكد أنك تريد حذف" + +#: core/templates/core/settings.html:260 +msgid "" +"Deleting this will not affect historical records but it will no longer be " +"available for new transactions." +msgstr "" +"حذف هذا لن يؤثر على السجلات التاريخية ولكنه لن يكون متاحاً للمعاملات " +"الجديدة." + +#: core/templates/core/settings.html:275 +msgid "No payment methods found." +msgstr "لم يتم العثور على طرق دفع." + +#: core/templates/core/settings.html:291 +msgid "Loyalty Tiers" +msgstr "فئات الولاء" + +#: core/templates/core/settings.html:293 +msgid "Add Tier" +msgstr "إضافة فئة" + +#: core/templates/core/settings.html:301 +msgid "Tier Name" +msgstr "اسم الفئة" + +#: core/templates/core/settings.html:302 core/templates/core/settings.html:351 +#: core/templates/core/settings.html:416 +msgid "Min. Points" +msgstr "الحد الأدنى للنقاط" + +#: core/templates/core/settings.html:303 +msgid "Multiplier" +msgstr "المضاعف" + +#: core/templates/core/settings.html:337 +msgid "Edit Loyalty Tier" +msgstr "تعديل فئة الولاء" + +#: core/templates/core/settings.html:359 core/templates/core/settings.html:424 +#, python-format +msgid "Discount (%%)" +msgstr "" + +#: core/templates/core/settings.html:381 +msgid "No loyalty tiers defined." +msgstr "لم يتم تحديد فئات ولاء." + +#: core/templates/core/settings.html:402 +msgid "Add Loyalty Tier" +msgstr "إضافة فئة ولاء" + +#: core/templates/core/settings.html:435 +msgid "Save Tier" +msgstr "حفظ الفئة" + +#: core/templates/core/settings.html:447 +msgid "Add Payment Method" +msgstr "" + +#: core/templates/core/settings.html:502 +msgid "Please fill all required fields" +msgstr "" + +#: core/templates/core/settings.html:536 +msgid "Reload to edit" +msgstr "" + +#: core/templates/core/settings.html:541 core/views.py:940 +msgid "Payment method added successfully!" +msgstr "" + +#: core/templates/core/settings.html:555 +msgid "An error occurred. Please try again." +msgstr "" + +#: core/templates/core/supplier_payments.html:11 +msgid "History of payments made to suppliers" +msgstr "" + +#: core/templates/core/supplier_payments.html:25 +msgid "Purchase #" +msgstr "" + +#: core/templates/core/supplier_payments.html:62 +msgid "No purchase payments found." +msgstr "" + +#: core/templates/core/supplier_statement.html:11 +msgid "View transaction history and balance for suppliers." +msgstr "" + +#: core/templates/core/supplier_statement.html:62 +msgid "SUPPLIER STATEMENT" +msgstr "" + +#: core/templates/core/supplier_statement.html:147 +msgid "Select a Supplier" +msgstr "" + +#: core/templates/core/supplier_statement.html:148 +msgid "Please select a supplier and date range to view their statement." +msgstr "" + +#: core/templates/core/suppliers.html:19 +msgid "Add Supplier" +msgstr "" + +#: core/templates/core/suppliers.html:57 +msgid "Are you sure you want to delete this supplier?" +msgstr "" + +#: core/templates/core/suppliers.html:77 +msgid "Add New Supplier" +msgstr "" + +#: core/templates/core/suppliers.html:82 +msgid "Supplier Name" +msgstr "اسم المورد" + +#: core/templates/core/suppliers.html:125 +msgid "Supplier added. You can add another one." +msgstr "" + +#: core/templates/core/users.html:4 core/templates/core/users.html:8 +msgid "User & Role Management" +msgstr "" + +#: core/templates/core/users.html:11 +msgid "Add New Group" +msgstr "" + +#: core/templates/core/users.html:14 +msgid "Add New User" +msgstr "" + +#: core/templates/core/users.html:23 core/templates/core/users.html:133 +msgid "Users" +msgstr "" + +#: core/templates/core/users.html:28 +msgid "Groups & Permissions" +msgstr "" + +#: core/templates/core/users.html:44 +msgid "Groups" +msgstr "" + +#: core/templates/core/users.html:119 core/templates/core/users.html:259 +#: core/templates/core/users.html:299 +msgid "Group Name" +msgstr "" + +#: core/templates/core/users.html:120 +msgid "Permissions Count" +msgstr "" + +#: core/templates/core/users.html:121 +msgid "Users Count" +msgstr "" + +#: core/templates/core/users.html:130 core/templates/core/users.html:302 +msgid "Permissions" +msgstr "" + +#: core/templates/core/users.html:143 +msgid "Are you sure you want to delete this group?" +msgstr "" + +#: core/templates/core/users.html:168 +msgid "Create New User" +msgstr "" + +#: core/templates/core/users.html:176 +#: core/templates/registration/login.html:24 +msgid "Username" +msgstr "" + +#: core/templates/core/users.html:184 +#: core/templates/registration/login.html:31 +msgid "Password" +msgstr "" + +#: core/templates/core/users.html:188 core/templates/core/users.html:229 +msgid "Assign Groups" +msgstr "" + +#: core/templates/core/users.html:199 +msgid "Create User" +msgstr "" + +#: core/templates/core/users.html:211 +msgid "Edit User" +msgstr "" + +#: core/templates/core/users.html:251 +msgid "Create New Role/Group" +msgstr "" + +#: core/templates/core/users.html:262 +msgid "Assign Permissions" +msgstr "" + +#: core/templates/core/users.html:278 +msgid "Create Group" +msgstr "" + +#: core/templates/core/users.html:290 +msgid "Edit Role/Group" +msgstr "" + +#: core/templates/registration/login.html:10 +msgid "Welcome Back" +msgstr "" + +#: core/templates/registration/login.html:11 +msgid "Please login to access your dashboard" +msgstr "" + +#: core/templates/registration/login.html:16 +msgid "Your username and password didn't match. Please try again." +msgstr "" + +#: core/templates/registration/login.html:27 +msgid "Enter username" +msgstr "" + +#: core/templates/registration/login.html:34 +msgid "Enter password" +msgstr "" + +#: core/templates/registration/login.html:38 +msgid "Sign In" +msgstr "" + +#: core/templates/registration/login.html:44 +msgid "Need help? Contact your administrator." +msgstr "" + +#: core/views.py:281 core/views.py:556 +msgid "Payment added successfully!" +msgstr "تم إضافة الدفعة بنجاح!" + +#: core/views.py:292 +msgid "Purchase deleted successfully!" +msgstr "تم حذف المشتريات بنجاح!" + +#: core/views.py:566 +msgid "Sale deleted successfully!" +msgstr "تم حذف المبيعات بنجاح!" + +#: core/views.py:645 +msgid "This quotation has already been converted to an invoice." +msgstr "" + +#: core/views.py:678 +msgid "Quotation converted to Invoice successfully!" +msgstr "" + +#: core/views.py:685 +msgid "Quotation deleted successfully!" +msgstr "" + +#: core/views.py:774 +msgid "Sale return deleted successfully!" +msgstr "" + +#: core/views.py:864 +msgid "Purchase return deleted successfully!" +msgstr "" + +#: core/views.py:921 +msgid "Settings updated successfully!" +msgstr "تم تحديث الإعدادات بنجاح!" + +#: core/views.py:951 +msgid "Payment method updated successfully!" +msgstr "" + +#: core/views.py:958 +msgid "Payment method deleted successfully!" +msgstr "" + +#: core/views.py:969 +msgid "Customer added successfully!" +msgstr "تم إضافة العميل بنجاح!" + +#: core/views.py:981 +msgid "Customer updated successfully!" +msgstr "تم تحديث العميل بنجاح!" + +#: core/views.py:988 +msgid "Customer deleted successfully!" +msgstr "تم حذف العميل بنجاح!" + +#: core/views.py:998 +msgid "Supplier added successfully!" +msgstr "" + +#: core/views.py:1009 +msgid "Supplier updated successfully!" +msgstr "" + +#: core/views.py:1016 +msgid "Supplier deleted successfully!" +msgstr "" + +#: core/views.py:1075 +msgid "Product added successfully!" +msgstr "تم إضافة المنتج بنجاح!" + +#: core/views.py:1104 +msgid "Product updated successfully!" +msgstr "تم تحديث المنتج بنجاح!" + +#: core/views.py:1112 +msgid "Product deleted successfully!" +msgstr "تم حذف المنتج بنجاح!" + +#: core/views.py:1122 +msgid "Category added successfully!" +msgstr "" + +#: core/views.py:1133 +msgid "Category updated successfully!" +msgstr "" + +#: core/views.py:1140 +msgid "Category deleted successfully!" +msgstr "" + +#: core/views.py:1150 +msgid "Unit added successfully!" +msgstr "" + +#: core/views.py:1161 +msgid "Unit updated successfully!" +msgstr "" + +#: core/views.py:1168 +msgid "Unit deleted successfully!" +msgstr "" + +#: core/views.py:1187 +msgid "Please upload a valid .xlsx file." +msgstr "" + +#: core/views.py:1330 +msgid "Access denied." +msgstr "" + +#: core/views.py:1350 +msgid "Username already exists." +msgstr "" + +#: core/views.py:1379 +msgid "Group name already exists." +msgstr "" + +#: core/views.py:1401 +#, fuzzy +#| msgid "Completed" +msgid "Group deleted." +msgstr "مكتمل" + +#: core/views.py:1407 +msgid "You cannot deactivate yourself." +msgstr "" + +#: core/views.py:1557 +msgid "Loyalty tier added successfully!" +msgstr "" + +#: core/views.py:1571 +msgid "Loyalty tier updated successfully!" +msgstr "" + +#: core/views.py:1578 +msgid "Loyalty tier deleted successfully!" +msgstr "" + +#: core/views.py:1635 +msgid "Profile and password updated successfully!" +msgstr "" + +#: core/views.py:1637 +msgid "Passwords do not match." +msgstr "" + +#: core/views.py:1639 +msgid "Profile updated successfully!" +msgstr "" + +#: core/views.py:1709 +msgid "Expense recorded successfully!" +msgstr "" + +#: core/views.py:1720 +msgid "Expense deleted successfully!" +msgstr "" + +#: core/views.py:1740 +msgid "Expense category updated successfully!" +msgstr "" + +#: core/views.py:1747 +msgid "Expense category created successfully!" +msgstr "" + +#: core/views.py:1760 +msgid "Expense category deleted successfully!" +msgstr "" + +#: core/views.py:2006 +msgid "Sale Invoice" +msgstr "" + +#: core/views.py:2014 +msgid "Sale Return" +msgstr "" + +#: core/views.py:2022 core/views.py:2104 +msgid "Payment" +msgstr "" + +#: core/views.py:2023 +msgid "Payment Received" +msgstr "" + +#: core/views.py:2105 +msgid "Payment Sent" +msgstr "" + +#: core/views.py:2170 +msgid "Sale Payment" +msgstr "" + +#: core/views.py:2181 +msgid "Purchase Payment" +msgstr "" + +#: core/views.py:2194 +msgid "Various" +msgstr "" + +#: core/views.py:2197 +msgid "N/A" +msgstr ""