diff --git a/.github/workflows/update-translations.yml b/.github/workflows/update-translations.yml new file mode 100644 index 00000000..7cadb80a --- /dev/null +++ b/.github/workflows/update-translations.yml @@ -0,0 +1,148 @@ +name: Update Translation Template + +on: + push: + branches: [develop, main] + paths: + - "**.py" + - "**.js" + - "**.vue" + - "**.html" + - "**.json" + - "!pos_next/locale/**" + - "!pos_next/translations/**" + workflow_dispatch: + inputs: + force_update: + description: "Force update even if no changes" + required: false + default: "false" + +jobs: + update-pot: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install gettext tools + run: sudo apt-get update && sudo apt-get install -y gettext + + - name: Extract translatable strings + run: | + # Create locale directory if it doesn't exist + mkdir -p pos_next/locale + + # Extract strings from Python files + find pos_next -name "*.py" -type f | xargs xgettext \ + --language=Python \ + --keyword=_ \ + --keyword=_lt \ + --from-code=UTF-8 \ + --output=pos_next/locale/main_py.pot \ + --package-name="POS Next" \ + --package-version="1.13.0" \ + --msgid-bugs-address="support@brainwise.me" \ + 2>/dev/null || true + + # Extract strings from JavaScript/Vue files using a simple regex approach + # This catches __("string") and __('string') patterns + python3 << 'EOF' + import os + import re + from datetime import datetime + + def extract_js_strings(directory): + """Extract translatable strings from JS/Vue files.""" + strings = set() + pattern = re.compile(r'__\(["\']([^"\']+)["\']\s*(?:,|\))') + + for root, dirs, files in os.walk(directory): + # Skip node_modules + dirs[:] = [d for d in dirs if d != 'node_modules'] + + for file in files: + if file.endswith(('.js', '.vue', '.ts')): + filepath = os.path.join(root, file) + try: + with open(filepath, 'r', encoding='utf-8') as f: + content = f.read() + matches = pattern.findall(content) + strings.update(matches) + except Exception: + pass + return strings + + # Extract from POS directory + strings = extract_js_strings('POS/src') + + # Write to POT file + now = datetime.now().strftime("%Y-%m-%d %H:%M%z") + with open('pos_next/locale/main_js.pot', 'w', encoding='utf-8') as f: + f.write(f'''# JavaScript/Vue translatable strings for POS Next. + # Copyright (C) {datetime.now().year} BrainWise + # + msgid "" + msgstr "" + "Project-Id-Version: POS Next 1.13.0\\n" + "Report-Msgid-Bugs-To: support@brainwise.me\\n" + "POT-Creation-Date: {now}\\n" + "Content-Type: text/plain; charset=UTF-8\\n" + + ''') + for s in sorted(strings): + escaped = s.replace('\\', '\\\\').replace('"', '\\"') + f.write(f'msgid "{escaped}"\n') + f.write('msgstr ""\n\n') + + print(f"Extracted {len(strings)} strings from JavaScript/Vue files") + EOF + + # Merge Python and JS POT files + if [ -f pos_next/locale/main_py.pot ] && [ -f pos_next/locale/main_js.pot ]; then + msgcat pos_next/locale/main_py.pot pos_next/locale/main_js.pot -o pos_next/locale/main.pot + rm pos_next/locale/main_py.pot pos_next/locale/main_js.pot + elif [ -f pos_next/locale/main_py.pot ]; then + mv pos_next/locale/main_py.pot pos_next/locale/main.pot + elif [ -f pos_next/locale/main_js.pot ]; then + mv pos_next/locale/main_js.pot pos_next/locale/main.pot + fi + + echo "POT file generated successfully" + + - name: Update PO files from POT + run: | + # Update existing PO files with new strings from POT + for po_file in pos_next/locale/*.po; do + if [ -f "$po_file" ]; then + echo "Updating $po_file..." + msgmerge --update --no-fuzzy-matching "$po_file" pos_next/locale/main.pot || true + fi + done + + - name: Check for changes + id: check_changes + run: | + git add pos_next/locale/ + if git diff --staged --quiet; then + echo "has_changes=false" >> $GITHUB_OUTPUT + else + echo "has_changes=true" >> $GITHUB_OUTPUT + fi + + - name: Commit and push changes + if: steps.check_changes.outputs.has_changes == 'true' + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + git commit -m "chore(i18n): update translation template + + Auto-generated from source code changes" + git push diff --git a/POS/src/composables/useLocale.js b/POS/src/composables/useLocale.js index 27fc9d1a..99fc581c 100644 --- a/POS/src/composables/useLocale.js +++ b/POS/src/composables/useLocale.js @@ -43,12 +43,18 @@ export const SUPPORTED_LOCALES = { countryCode: "eg", dir: "rtl", }, - "pt-br": { + pt_br: { name: "Portuguese (Brazil)", - nativeName: "Portugues (Brasil)", + nativeName: "Português (Brasil)", countryCode: "br", dir: "ltr", - } + }, + fr: { + name: "French", + nativeName: "Français", + countryCode: "fr", + dir: "ltr", + }, } /** diff --git a/POS/src/index.css b/POS/src/index.css index 2491328c..59755abf 100644 --- a/POS/src/index.css +++ b/POS/src/index.css @@ -9,9 +9,9 @@ --z-dropdown: 10000; } -/* Apply Saudi Riyal symbol font to body for currency support */ +/* Apply fonts - Inter first for text, Saudi Riyal for currency symbol */ body { - font-family: "SaudiRiyalSymbol", "Inter", sans-serif; + font-family: "Inter", "SaudiRiyalSymbol", sans-serif; } /* Ensure all text elements inherit the font stack with Saudi Riyal support */ diff --git a/docs/LOCALIZATION.md b/docs/LOCALIZATION.md index becd9f3f..3147055c 100644 --- a/docs/LOCALIZATION.md +++ b/docs/LOCALIZATION.md @@ -23,7 +23,7 @@ POS Next supports the following languages out of the box: |----------|------|-----------| | English | en | Left-to-Right | | Arabic | ar | Right-to-Left | -| Portuguese (Brazil) | pt-br | Left-to-Right | +| Portuguese (Brazil) | pt_br | Left-to-Right | ### Default Behavior diff --git a/docs/Translation-Migration-Guide.md b/docs/Translation-Migration-Guide.md new file mode 100644 index 00000000..495ea822 --- /dev/null +++ b/docs/Translation-Migration-Guide.md @@ -0,0 +1,241 @@ +# Translation System Migration Guide + +This guide documents the migration from CSV-based translations to the PO/MO (gettext) format. + +## Overview + +POS Next has migrated from Frappe's legacy CSV translation format to the standard gettext PO/MO format. + +### Benefits of PO/MO Format + +| Feature | CSV (Legacy) | PO/MO (New) | +|---------|--------------|-------------| +| **Tools** | Manual editing | Poedit, Weblate, Crowdin, Transifex | +| **Context** | Limited | Full support (comments, references) | +| **Plurals** | No | Yes | +| **Performance** | Parsed at runtime | Compiled binary (MO) | +| **Industry Standard** | Frappe-specific | GNU gettext (universal) | +| **Fuzzy Matching** | No | Yes | +| **Translator Notes** | No | Yes | + +## File Structure + +``` +pos_next/ +├── locale/ # New PO/MO translations +│ ├── main.pot # Template (source strings only) +│ ├── ar.po # Arabic translations +│ ├── pt_br.po # Brazilian Portuguese translations +│ └── *.mo # Compiled binaries (generated) +│ +└── translations/ # Legacy CSV (can be deleted) + ├── ar.csv + └── pt-br.csv +``` + +## Workflow + +### For Developers + +#### 1. Adding New Translatable Strings + +**Python (Backend):** +```python +from frappe import _ + +# Simple string +message = _("Hello World") + +# With variables +message = _("Hello {0}").format(user_name) + +# With context +message = _("Change", context="Coins") # Distinguishes from "Change" (verb) +``` + +**JavaScript/Vue (Frontend):** +```javascript +// Simple string +const message = __("Hello World") + +// With variables (positional) +const message = __("Hello {0}", [userName]) + +// With context +const message = __("Change", null, "Coins") +``` + +#### 2. Updating Translation Template + +After adding new strings, regenerate the POT file: + +```bash +# Option 1: Using bench (recommended) +cd ~/frappe-bench +bench generate-pot-file --app pos_next + +# Option 2: Using the migration script +cd ~/frappe-bench/apps/pos_next +python scripts/migrate_translations.py +``` + +The GitHub Action will also automatically update the POT file when you push changes. + +#### 3. Compiling Translations for Production + +```bash +cd ~/frappe-bench +bench compile-po-to-mo --app pos_next +``` + +This creates `.mo` files in `sites/assets/locale/`. + +### For Translators + +#### Using Poedit (Recommended) + +1. Download [Poedit](https://poedit.net/) (free) +2. Open the `.po` file (e.g., `pos_next/locale/ar.po`) +3. Translate strings +4. Save (Poedit auto-compiles to `.mo`) + +#### Using Weblate/Crowdin (For Teams) + +1. Connect repository to translation platform +2. Platform syncs with `locale/*.po` files +3. Translators work in web interface +4. Changes are committed back to repository + +#### Manual Editing + +PO files are plain text: + +```po +#. Context comment for translators +#: pos_next/api/invoices.py:123 +msgid "Invoice created successfully" +msgstr "تم إنشاء الفاتورة بنجاح" + +#, fuzzy +msgid "This translation needs review" +msgstr "هذه الترجمة تحتاج مراجعة" +``` + +## Adding a New Language + +### Step 1: Create PO File + +```bash +cd ~/frappe-bench/apps/pos_next + +# Copy template to new locale +cp pos_next/locale/main.pot pos_next/locale/fr.po +``` + +### Step 2: Edit Header + +Open `fr.po` and update the header: + +```po +"Language: fr\n" +"Language-Team: French Translation Team\n" +``` + +### Step 3: Add Translations + +Translate the `msgstr` values: + +```po +msgid "Hello" +msgstr "Bonjour" +``` + +### Step 4: Register in Frontend + +Update `POS/src/composables/useLocale.js`: + +```javascript +export const SUPPORTED_LOCALES = { + en: { name: "English", nativeName: "English", countryCode: "us", dir: "ltr" }, + ar: { name: "Arabic", nativeName: "العربية", countryCode: "eg", dir: "rtl" }, + "pt-br": { name: "Portuguese (Brazil)", nativeName: "Português", countryCode: "br", dir: "ltr" }, + // Add new locale: + fr: { name: "French", nativeName: "Français", countryCode: "fr", dir: "ltr" }, +} +``` + +### Step 5: Compile and Test + +```bash +bench compile-po-to-mo --app pos_next --locale fr +bench --site [site] clear-cache +``` + +## Bench Commands Reference + +| Command | Description | +|---------|-------------| +| `bench generate-pot-file --app pos_next` | Extract strings from code to POT template | +| `bench migrate-csv-to-po --app pos_next` | Convert legacy CSV to PO format | +| `bench update-po-files --app pos_next` | Sync PO files with latest POT | +| `bench compile-po-to-mo --app pos_next` | Compile PO to binary MO files | + +### Options + +- `--locale [code]` - Process specific locale only (e.g., `--locale ar`) +- `--force` - Force recompilation even if unchanged + +## GitHub Actions + +The repository includes automatic translation template updates: + +- **Trigger:** Push to `develop` or `main` with code changes +- **Action:** Extracts new strings and updates `main.pot` +- **PO Updates:** Existing PO files are merged with new strings + +### Manual Trigger + +Go to Actions → "Update Translation Template" → Run workflow + +## Migration Script + +For one-time migration or environments where bench isn't available: + +```bash +cd ~/frappe-bench/apps/pos_next +python scripts/migrate_translations.py +``` + +This script: +1. Reads CSV files from `translations/` +2. Converts to PO format in `locale/` +3. Creates POT template + +## Troubleshooting + +### "ModuleNotFoundError" when running bench commands + +Your bench has broken app references. Check `apps.txt` matches actual apps in `apps/` folder. + +### Translations not appearing + +1. Ensure MO files are compiled: `bench compile-po-to-mo --app pos_next` +2. Clear cache: `bench --site [site] clear-cache` +3. Check browser cache (hard refresh) + +### Fuzzy translations + +Strings marked `#, fuzzy` need review. Remove the fuzzy flag after verification: + +```po +#, fuzzy # Remove this line after review +msgid "Original" +msgstr "Translation" +``` + +## Resources + +- [GNU gettext Manual](https://www.gnu.org/software/gettext/manual/) +- [Frappe Translation Docs](https://docs.frappe.io/framework/user/en/translations) +- [Poedit](https://poedit.net/) - Free PO editor +- [Weblate](https://weblate.org/) - Web-based translation platform diff --git a/pos_next/api/localization.py b/pos_next/api/localization.py index d7d6d3ee..50d2b78d 100644 --- a/pos_next/api/localization.py +++ b/pos_next/api/localization.py @@ -2,6 +2,7 @@ # Copyright (c) 2024, POS Next and contributors # For license information, please see license.txt +import os import frappe from frappe import translate @@ -59,16 +60,42 @@ def get_allowed_locales(): } +def get_supported_locales(): + """ + Get all supported locales by scanning available .po translation files. + Always includes 'en' as the base language. + + Returns: + set: Set of supported locale codes + """ + supported = {'en'} # English is always supported as base language + + try: + # Get the locale directory path for pos_next app + locale_path = frappe.get_app_path('pos_next', 'locale') + + if os.path.exists(locale_path): + for filename in os.listdir(locale_path): + if filename.endswith('.po'): + # Extract locale code from filename (e.g., 'fr.po' -> 'fr') + locale_code = filename[:-3] # Remove '.po' extension + if locale_code != 'main': # Skip template file + supported.add(locale_code.lower()) + except Exception: + # Fallback to known locales if directory scan fails + supported = {'en', 'ar', 'pt_br', 'fr'} + + return supported + + def get_allowed_locales_from_settings(): """ Get allowed locales from POS Settings. - Falls back to default locales if not configured. + Returns empty set if not configured (frontend will show all languages). Returns: - set: Set of allowed locale codes + set: Set of allowed locale codes, or empty set for all languages """ - default_locales = {'ar', 'en'} - try: # Get the first POS Settings (or we could use a specific one based on user's profile) pos_settings_list = frappe.get_all( @@ -79,16 +106,16 @@ def get_allowed_locales_from_settings(): ) if not pos_settings_list: - return default_locales + return set() # Empty = all languages allowed pos_settings = frappe.get_doc("POS Settings", pos_settings_list[0].name) if pos_settings.allowed_locales and len(pos_settings.allowed_locales) > 0: - return {row.language.lower() for row in pos_settings.allowed_locales} + return {row.locale.lower() for row in pos_settings.allowed_locales} - return default_locales + return set() # Empty = all languages allowed except Exception: - return default_locales + return set() # Empty = all languages allowed @frappe.whitelist() @@ -121,8 +148,14 @@ def change_user_language(locale): # Normalize locale to lowercase locale = locale.lower() + # Get dynamically supported locales from translation files + all_supported_locales = get_supported_locales() + allowed_locales = get_allowed_locales_from_settings() - if locale not in allowed_locales: + # If allowed_locales is empty, all supported locales are allowed + effective_allowed = allowed_locales if allowed_locales else all_supported_locales + + if locale not in effective_allowed: frappe.throw(f"Locale '{locale}' is not supported", frappe.ValidationError) # Update user's language preference diff --git a/pos_next/locale/ar.po b/pos_next/locale/ar.po new file mode 100644 index 00000000..fae62800 --- /dev/null +++ b/pos_next/locale/ar.po @@ -0,0 +1,3989 @@ +# Translations template for POS Next. +# Copyright (C) 2026 BrainWise +# This file is distributed under the same license as the POS Next project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: POS Next VERSION\n" +"Report-Msgid-Bugs-To: support@brainwise.me\n" +"POT-Creation-Date: 2026-01-12 12:13+0000\n" +"PO-Revision-Date: 2026-01-12 11:54+0034\n" +"Last-Translator: support@brainwise.me\n" +"Language-Team: support@brainwise.me\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.13.1\n" + +#: pos_next/api/bootstrap.py:36 pos_next/api/utilities.py:24 +msgid "Authentication required" +msgstr "" + +#: pos_next/api/branding.py:204 +msgid "Insufficient permissions" +msgstr "" + +#: pos_next/api/sales_invoice_hooks.py:140 +msgid "" +"Warning: Some credit journal entries may not have been cancelled. Please " +"check manually." +msgstr "" + +#: pos_next/api/shifts.py:108 +#, python-brace-format +msgid "You already have an open shift: {0}" +msgstr "" + +#: pos_next/api/shifts.py:163 +#, python-brace-format +msgid "Error getting closing shift data: {0}" +msgstr "" + +#: pos_next/api/shifts.py:181 +#, python-brace-format +msgid "Error submitting closing shift: {0}" +msgstr "" + +#: pos_next/api/utilities.py:27 +msgid "User is disabled" +msgstr "" + +#: pos_next/api/utilities.py:30 +msgid "Invalid session" +msgstr "" + +#: pos_next/api/utilities.py:35 +msgid "Failed to generate CSRF token" +msgstr "" + +#: pos_next/api/utilities.py:59 +#, python-brace-format +msgid "Could not parse '{0}' as JSON: {1}" +msgstr "" + +#: pos_next/api/items.py:324 pos_next/api/items.py:1290 +#: pos_next/api/credit_sales.py:470 pos_next/api/credit_sales.py:510 +#: pos_next/api/partial_payments.py:563 pos_next/api/partial_payments.py:640 +#: pos_next/api/partial_payments.py:924 pos_next/api/partial_payments.py:987 +#: pos_next/api/invoices.py:1104 pos_next/api/pos_profile.py:35 +#: pos_next/api/pos_profile.py:129 pos_next/api/pos_profile.py:253 +msgid "POS Profile is required" +msgstr "" + +#: pos_next/api/items.py:340 +#, python-brace-format +msgid "Item with barcode {0} not found" +msgstr "" + +#: pos_next/api/items.py:347 +#, python-brace-format +msgid "Warehouse not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:349 +#, python-brace-format +msgid "Selling Price List not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:351 +#, python-brace-format +msgid "Company not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:358 pos_next/api/items.py:1297 +#, python-brace-format +msgid "Item {0} is not allowed for sales" +msgstr "" + +#: pos_next/api/items.py:384 +#, python-brace-format +msgid "Error searching by barcode: {0}" +msgstr "" + +#: pos_next/api/items.py:414 +#, python-brace-format +msgid "Error fetching item stock: {0}" +msgstr "" + +#: pos_next/api/items.py:465 +#, python-brace-format +msgid "Error fetching batch/serial details: {0}" +msgstr "" + +#: pos_next/api/items.py:502 +#, python-brace-format +msgid "" +"No variants created for template item '{template_item}'. Please create " +"variants first." +msgstr "" + +#: pos_next/api/items.py:601 +#, python-brace-format +msgid "Error fetching item variants: {0}" +msgstr "" + +#: pos_next/api/items.py:1271 +#, python-brace-format +msgid "Error fetching items: {0}" +msgstr "" + +#: pos_next/api/items.py:1321 +#, python-brace-format +msgid "Error fetching item details: {0}" +msgstr "" + +#: pos_next/api/items.py:1353 +#, python-brace-format +msgid "Error fetching item groups: {0}" +msgstr "" + +#: pos_next/api/items.py:1460 +#, python-brace-format +msgid "Error fetching stock quantities: {0}" +msgstr "" + +#: pos_next/api/items.py:1574 +msgid "Either item_code or item_codes must be provided" +msgstr "" + +#: pos_next/api/items.py:1655 +#, python-brace-format +msgid "Error fetching warehouse availability: {0}" +msgstr "" + +#: pos_next/api/items.py:1746 +#, python-brace-format +msgid "Error fetching bundle availability for {0}: {1}" +msgstr "" + +#: pos_next/api/offers.py:504 +msgid "Coupons are not enabled" +msgstr "" + +#: pos_next/api/offers.py:518 +msgid "Invalid coupon code" +msgstr "" + +#: pos_next/api/offers.py:521 +msgid "This coupon is disabled" +msgstr "" + +#: pos_next/api/offers.py:526 +msgid "This gift card has already been used" +msgstr "" + +#: pos_next/api/offers.py:530 +msgid "This coupon has reached its usage limit" +msgstr "" + +#: pos_next/api/offers.py:534 +msgid "This coupon is not yet valid" +msgstr "" + +#: pos_next/api/offers.py:537 +msgid "This coupon has expired" +msgstr "" + +#: pos_next/api/offers.py:541 +msgid "This coupon is not valid for this customer" +msgstr "" + +#: pos_next/api/credit_sales.py:34 pos_next/api/credit_sales.py:149 +#: pos_next/api/customers.py:196 +msgid "Customer is required" +msgstr "" + +#: pos_next/api/credit_sales.py:152 pos_next/api/promotions.py:235 +#: pos_next/api/promotions.py:673 +msgid "Company is required" +msgstr "" + +#: pos_next/api/credit_sales.py:156 +msgid "Credit sale is not enabled for this POS Profile" +msgstr "" + +#: pos_next/api/credit_sales.py:238 pos_next/api/partial_payments.py:710 +#: pos_next/api/partial_payments.py:796 pos_next/api/invoices.py:1076 +msgid "Invoice name is required" +msgstr "" + +#: pos_next/api/credit_sales.py:247 +msgid "Invoice must be submitted to redeem credit" +msgstr "" + +#: pos_next/api/credit_sales.py:346 +#, python-brace-format +msgid "Journal Entry {0} created for credit redemption" +msgstr "" + +#: pos_next/api/credit_sales.py:372 +#, python-brace-format +msgid "Payment Entry {0} has insufficient unallocated amount" +msgstr "" + +#: pos_next/api/credit_sales.py:394 +#, python-brace-format +msgid "Payment Entry {0} allocated to invoice" +msgstr "" + +#: pos_next/api/credit_sales.py:451 +#, python-brace-format +msgid "Cancelled {0} credit redemption journal entries" +msgstr "" + +#: pos_next/api/credit_sales.py:519 pos_next/api/partial_payments.py:571 +#: pos_next/api/partial_payments.py:647 pos_next/api/partial_payments.py:931 +#: pos_next/api/partial_payments.py:994 pos_next/api/invoices.py:1113 +#: pos_next/api/pos_profile.py:44 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:93 +msgid "You don't have access to this POS Profile" +msgstr "" + +#: pos_next/api/promotions.py:24 +msgid "You don't have permission to view promotions" +msgstr "" + +#: pos_next/api/promotions.py:27 +msgid "You don't have permission to create or modify promotions" +msgstr "" + +#: pos_next/api/promotions.py:30 +msgid "You don't have permission to delete promotions" +msgstr "" + +#: pos_next/api/promotions.py:199 +#, python-brace-format +msgid "Promotion or Pricing Rule {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:233 +msgid "Promotion name is required" +msgstr "" + +#: pos_next/api/promotions.py:237 +msgid "Apply On is required" +msgstr "" + +#: pos_next/api/promotions.py:293 +msgid "Discount Rule" +msgstr "" + +#: pos_next/api/promotions.py:312 +msgid "Free Item Rule" +msgstr "" + +#: pos_next/api/promotions.py:330 +#, python-brace-format +msgid "Promotion {0} created successfully" +msgstr "" + +#: pos_next/api/promotions.py:337 +msgid "Promotion Creation Failed" +msgstr "" + +#: pos_next/api/promotions.py:340 +#, python-brace-format +msgid "Failed to create promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:356 pos_next/api/promotions.py:428 +#: pos_next/api/promotions.py:462 +#, python-brace-format +msgid "Promotional Scheme {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:410 +#, python-brace-format +msgid "Promotion {0} updated successfully" +msgstr "" + +#: pos_next/api/promotions.py:416 +msgid "Promotion Update Failed" +msgstr "" + +#: pos_next/api/promotions.py:419 +#, python-brace-format +msgid "Failed to update promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:443 +#, python-brace-format +msgid "Promotion {0} {1}" +msgstr "" + +#: pos_next/api/promotions.py:450 +msgid "Promotion Toggle Failed" +msgstr "" + +#: pos_next/api/promotions.py:453 +#, python-brace-format +msgid "Failed to toggle promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:470 +#, python-brace-format +msgid "Promotion {0} deleted successfully" +msgstr "" + +#: pos_next/api/promotions.py:476 +msgid "Promotion Deletion Failed" +msgstr "" + +#: pos_next/api/promotions.py:479 +#, python-brace-format +msgid "Failed to delete promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:513 +msgid "Too many search requests. Please wait a moment." +msgstr "" + +#: pos_next/api/promotions.py:626 pos_next/api/promotions.py:744 +#: pos_next/api/promotions.py:799 pos_next/api/promotions.py:834 +#, python-brace-format +msgid "Coupon {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:667 +msgid "Coupon name is required" +msgstr "" + +#: pos_next/api/promotions.py:669 +msgid "Coupon type is required" +msgstr "" + +#: pos_next/api/promotions.py:671 +msgid "Discount type is required" +msgstr "" + +#: pos_next/api/promotions.py:678 +msgid "Discount percentage is required when discount type is Percentage" +msgstr "" + +#: pos_next/api/promotions.py:680 +msgid "Discount percentage must be between 0 and 100" +msgstr "" + +#: pos_next/api/promotions.py:683 +msgid "Discount amount is required when discount type is Amount" +msgstr "" + +#: pos_next/api/promotions.py:685 +msgid "Discount amount must be greater than 0" +msgstr "" + +#: pos_next/api/promotions.py:689 +msgid "Customer is required for Gift Card coupons" +msgstr "" + +#: pos_next/api/promotions.py:717 +#, python-brace-format +msgid "Coupon {0} created successfully" +msgstr "" + +#: pos_next/api/promotions.py:725 +msgid "Coupon Creation Failed" +msgstr "" + +#: pos_next/api/promotions.py:728 +#, python-brace-format +msgid "Failed to create coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:781 +#, python-brace-format +msgid "Coupon {0} updated successfully" +msgstr "" + +#: pos_next/api/promotions.py:787 +msgid "Coupon Update Failed" +msgstr "" + +#: pos_next/api/promotions.py:790 +#, python-brace-format +msgid "Failed to update coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:815 +#, python-brace-format +msgid "Coupon {0} {1}" +msgstr "" + +#: pos_next/api/promotions.py:822 +msgid "Coupon Toggle Failed" +msgstr "" + +#: pos_next/api/promotions.py:825 +#, python-brace-format +msgid "Failed to toggle coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:840 +#, python-brace-format +msgid "Cannot delete coupon {0} as it has been used {1} times" +msgstr "" + +#: pos_next/api/promotions.py:848 +msgid "Coupon deleted successfully" +msgstr "تم حذف الكوبون بنجاح" + +#: pos_next/api/promotions.py:854 +msgid "Coupon Deletion Failed" +msgstr "" + +#: pos_next/api/promotions.py:857 +#, python-brace-format +msgid "Failed to delete coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:882 +msgid "Referral code applied successfully! You've received a welcome coupon." +msgstr "" + +#: pos_next/api/promotions.py:889 +msgid "Apply Referral Code Failed" +msgstr "" + +#: pos_next/api/promotions.py:892 +#, python-brace-format +msgid "Failed to apply referral code: {0}" +msgstr "" + +#: pos_next/api/promotions.py:927 +#, python-brace-format +msgid "Referral Code {0} not found" +msgstr "" + +#: pos_next/api/partial_payments.py:87 pos_next/api/partial_payments.py:389 +msgid "Invalid invoice name provided" +msgstr "" + +#: pos_next/api/partial_payments.py:393 +msgid "Payment amount must be greater than zero" +msgstr "" + +#: pos_next/api/partial_payments.py:399 pos_next/api/partial_payments.py:720 +#: pos_next/api/partial_payments.py:820 pos_next/api/invoices.py:1079 +#: pos_next/api/invoices.py:1208 pos_next/api/invoices.py:1311 +#, python-brace-format +msgid "Invoice {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:403 +msgid "Invoice must be submitted before adding payments" +msgstr "" + +#: pos_next/api/partial_payments.py:406 +msgid "Cannot add payment to cancelled invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:411 +#, python-brace-format +msgid "Payment amount {0} exceeds outstanding amount {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:421 +#, python-brace-format +msgid "Payment date {0} cannot be before invoice date {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:428 +#, python-brace-format +msgid "Mode of Payment {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:445 +#, python-brace-format +msgid "Payment account {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:457 +#, python-brace-format +msgid "" +"Could not determine payment account for {0}. Please specify payment_account " +"parameter." +msgstr "" + +#: pos_next/api/partial_payments.py:468 +msgid "" +"Could not determine payment account. Please specify payment_account " +"parameter." +msgstr "" + +#: pos_next/api/partial_payments.py:532 +#, python-brace-format +msgid "Failed to create payment entry: {0}" +msgstr "" + +#: pos_next/api/partial_payments.py:567 pos_next/api/partial_payments.py:644 +#: pos_next/api/partial_payments.py:928 pos_next/api/partial_payments.py:991 +#, python-brace-format +msgid "POS Profile {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:714 pos_next/api/invoices.py:1083 +msgid "You don't have permission to view this invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:803 +msgid "Invalid payments payload: malformed JSON" +msgstr "" + +#: pos_next/api/partial_payments.py:807 +msgid "Payments must be a list" +msgstr "" + +#: pos_next/api/partial_payments.py:810 +msgid "At least one payment is required" +msgstr "" + +#: pos_next/api/partial_payments.py:814 +msgid "You don't have permission to add payments to this invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:825 +#, python-brace-format +msgid "Total payment amount {0} exceeds outstanding amount {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:870 +#, python-brace-format +msgid "Rolled back Payment Entry {0}" +msgstr "" + +#: pos_next/api/partial_payments.py:888 +#, python-brace-format +msgid "Failed to create payment entry: {0}. All changes have been rolled back." +msgstr "" + +#: pos_next/api/customers.py:55 +#, python-brace-format +msgid "Error fetching customers: {0}" +msgstr "" + +#: pos_next/api/customers.py:76 +msgid "You don't have permission to create customers" +msgstr "" + +#: pos_next/api/customers.py:79 +msgid "Customer name is required" +msgstr "" + +#: pos_next/api/invoices.py:141 +#, python-brace-format +msgid "" +"Please set default Cash or Bank account in Mode of Payment {0} or set " +"default accounts in Company {1}" +msgstr "" + +#: pos_next/api/invoices.py:143 +msgid "Missing Account" +msgstr "" + +#: pos_next/api/invoices.py:280 +#, python-brace-format +msgid "No batches available in {0} for {1}." +msgstr "" + +#: pos_next/api/invoices.py:350 +#, python-brace-format +msgid "You are trying to return more quantity for item {0} than was sold." +msgstr "" + +#: pos_next/api/invoices.py:389 +#, python-brace-format +msgid "Unable to load POS Profile {0}" +msgstr "" + +#: pos_next/api/invoices.py:678 +msgid "This invoice is currently being processed. Please wait." +msgstr "" + +#: pos_next/api/invoices.py:849 +#, python-brace-format +msgid "Missing invoice parameter. Received data: {0}" +msgstr "" + +#: pos_next/api/invoices.py:854 +msgid "Missing invoice parameter" +msgstr "" + +#: pos_next/api/invoices.py:856 +msgid "Both invoice and data parameters are missing" +msgstr "" + +#: pos_next/api/invoices.py:866 +msgid "Invalid invoice format" +msgstr "" + +#: pos_next/api/invoices.py:912 +msgid "Failed to create invoice draft" +msgstr "" + +#: pos_next/api/invoices.py:915 +msgid "Failed to get invoice name from draft" +msgstr "" + +#: pos_next/api/invoices.py:1026 +msgid "" +"Invoice submitted successfully but credit redemption failed. Please contact " +"administrator." +msgstr "" + +#: pos_next/api/invoices.py:1212 +#, python-brace-format +msgid "Cannot delete submitted invoice {0}" +msgstr "" + +#: pos_next/api/invoices.py:1215 +#, python-brace-format +msgid "Invoice {0} Deleted" +msgstr "" + +#: pos_next/api/invoices.py:1910 +#, python-brace-format +msgid "Error applying offers: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:151 +#, python-brace-format +msgid "Error fetching payment methods: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:256 +msgid "Warehouse is required" +msgstr "" + +#: pos_next/api/pos_profile.py:265 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:141 +msgid "You don't have permission to update this POS Profile" +msgstr "" + +#: pos_next/api/pos_profile.py:273 +#, python-brace-format +msgid "Warehouse {0} is disabled" +msgstr "" + +#: pos_next/api/pos_profile.py:278 +#, python-brace-format +msgid "Warehouse {0} belongs to {1}, but POS Profile belongs to {2}" +msgstr "" + +#: pos_next/api/pos_profile.py:287 +msgid "Warehouse updated successfully" +msgstr "" + +#: pos_next/api/pos_profile.py:292 +#, python-brace-format +msgid "Error updating warehouse: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:345 pos_next/api/pos_profile.py:467 +msgid "User must have a company assigned" +msgstr "" + +#: pos_next/api/pos_profile.py:424 +#, python-brace-format +msgid "Error getting create POS profile: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:476 +msgid "At least one payment method is required" +msgstr "" + +#: pos_next/api/wallet.py:33 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:37 +#, python-brace-format +msgid "Insufficient wallet balance. Available: {0}, Requested: {1}" +msgstr "" + +#: pos_next/api/wallet.py:37 +msgid "Wallet Balance Error" +msgstr "" + +#: pos_next/api/wallet.py:100 +#, python-brace-format +msgid "Loyalty points conversion from {0}: {1} points = {2}" +msgstr "" + +#: pos_next/api/wallet.py:111 +#, python-brace-format +msgid "Loyalty points converted to wallet: {0} points = {1}" +msgstr "" + +#: pos_next/api/wallet.py:458 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:29 +msgid "Amount must be greater than zero" +msgstr "" + +#: pos_next/api/wallet.py:464 +#, python-brace-format +msgid "Could not create wallet for customer {0}" +msgstr "" + +#: pos_next/api/wallet.py:472 +msgid "Manual wallet credit" +msgstr "" + +#: pos_next/realtime_events.py:98 +msgid "Real-time Stock Update Event Error" +msgstr "" + +#: pos_next/realtime_events.py:135 +msgid "Real-time Invoice Created Event Error" +msgstr "" + +#: pos_next/realtime_events.py:183 +msgid "Real-time POS Profile Update Event Error" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:56 +#, python-brace-format +msgid "" +"POS Closing Shift already exists against {0} between " +"selected period" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:60 +msgid "Invalid Period" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:65 +msgid "Selected POS Opening Shift should be open." +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:66 +msgid "Invalid Opening Entry" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:21 +msgid "Wallet Account must be a Receivable type account" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:32 +#, python-brace-format +msgid "A wallet already exists for customer {0} in company {1}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:200 +#, python-brace-format +msgid "Please configure a default wallet account for company {0}" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:25 +msgid "Referrer Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:29 +msgid "Referrer Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:31 +msgid "Referrer Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:34 +msgid "Referrer Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:36 +msgid "Referrer Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:40 +msgid "Referee Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:44 +msgid "Referee Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:46 +msgid "Referee Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:49 +msgid "Referee Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:51 +msgid "Referee Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:104 +msgid "Invalid referral code" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:110 +msgid "This referral code has been disabled" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:120 +msgid "You have already used this referral code" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:154 +msgid "Failed to generate your welcome coupon" +msgstr "" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:20 +msgid "POS Profile {} does not belongs to company {}" +msgstr "" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:24 +msgid "User {} has been disabled. Please select valid user/cashier" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:20 +msgid "Wallet is required" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:24 +#, python-brace-format +msgid "Wallet {0} is not active" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:83 +#, python-brace-format +msgid "Wallet {0} does not have an account configured" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:89 +msgid "Source account is required for wallet transaction" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:106 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:117 +#, python-brace-format +msgid "Wallet Credit: {0}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:132 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:141 +#, python-brace-format +msgid "Wallet Debit: {0}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:282 +#, python-brace-format +msgid "Loyalty points conversion: {0} points = {1}" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:28 +msgid "Please select the customer for Gift Card." +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:32 +msgid "Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:36 +msgid "Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:38 +msgid "Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:41 +msgid "Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:43 +msgid "Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:47 +msgid "Minimum Amount cannot be negative" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:51 +msgid "Maximum Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:56 +msgid "Valid From date cannot be after Valid Until date" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:65 +msgid "Sorry, this coupon code does not exist" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:72 +msgid "Sorry, this coupon has been disabled" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:78 +msgid "Sorry, this coupon code's validity has not started" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:83 +msgid "Sorry, this coupon code has expired" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:88 +msgid "Sorry, this coupon code has been fully redeemed" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:93 +msgid "Sorry, this coupon is not valid for this company" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:99 +msgid "Sorry, this gift card is assigned to a specific customer" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:111 +msgid "Sorry, you have already used this coupon code" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:132 +#, python-brace-format +msgid "Minimum cart amount of {0} is required" +msgstr "" + +msgid "<strong>Company:<strong>" +msgstr "" + +msgid "<strong>Items Tracked:<strong> {0}" +msgstr "" + +msgid "<strong>Last Sync:<strong> Never" +msgstr "" + +msgid "<strong>Last Sync:<strong> {0}" +msgstr "" + +msgid "" +"<strong>Note:<strong> When enabled, the system will allow sales " +"even when stock quantity is zero or negative. This is useful for handling " +"stock sync delays or backorders. All transactions are tracked in the stock " +"ledger." +msgstr "" + +msgid "<strong>Opened:</strong> {0}" +msgstr "" + +msgid "<strong>Opened:<strong>" +msgstr "" + +msgid "<strong>POS Profile:</strong> {0}" +msgstr "" + +msgid "<strong>POS Profile:<strong> {0}" +msgstr "" + +msgid "<strong>Status:<strong> Running" +msgstr "" + +msgid "<strong>Status:<strong> Stopped" +msgstr "" + +msgid "<strong>Warehouse:<strong> {0}" +msgstr "" + +msgid "" +"<strong>{0}</strong> of <strong>{1}</strong> " +"invoice(s)" +msgstr "" + +msgid "(FREE)" +msgstr "(مجاني)" + +msgid "(Max Discount: {0})" +msgstr "(الحد الأقصى للخصم: {0})" + +msgid "(Min: {0})" +msgstr "(الحد الأدنى: {0})" + +msgid "+ Add Payment" +msgstr "+ إضافة طريقة دفع" + +msgid "+ Create New Customer" +msgstr "+ إنشاء عميل جديد" + +msgid "+ Free Item" +msgstr "+ منتج مجاني" + +msgid "+{0} FREE" +msgstr "+{0} مجاني" + +msgid "+{0} more" +msgstr "+{0} أخرى" + +msgid "-- No Campaign --" +msgstr "-- بدون حملة --" + +msgid "-- Select --" +msgstr "-- اختر --" + +msgid "1 item" +msgstr "صنف واحد" + +msgid "1 {0} = {1} {2}" +msgstr "" + +msgid "" +"1. Go to <strong>Item Master<strong> → <strong>{0}<" +"strong>" +msgstr "" + +msgid "2. Click <strong>"Make Variants"<strong> button" +msgstr "" + +msgid "3. Select attribute combinations" +msgstr "3. اختر تركيبات الخصائص" + +msgid "4. Click <strong>"Create"<strong>" +msgstr "" + +msgid "APPLIED" +msgstr "مُطبَّق" + +msgid "Access your point of sale system" +msgstr "الدخول لنظام نقاط البيع" + +msgid "Active" +msgstr "نشط" + +msgid "Active Only" +msgstr "النشطة فقط" + +msgid "Active Shift Detected" +msgstr "تنبيه: الوردية مفتوحة" + +msgid "Active Warehouse" +msgstr "المستودع النشط" + +msgid "Actual Amount *" +msgstr "المبلغ الفعلي *" + +msgid "Actual Stock" +msgstr "الرصيد الفعلي" + +msgid "Add" +msgstr "إضافة" + +msgid "Add Payment" +msgstr "إضافة دفعة" + +msgid "Add items to the cart before applying an offer." +msgstr "أضف أصنافاً للسلة قبل تطبيق العرض." + +msgid "Add items to your cart to see eligible offers" +msgstr "أضف منتجات للسلة لرؤية العروض المؤهلة" + +msgid "Add to Cart" +msgstr "إضافة للسلة" + +msgid "Add {0} more to unlock" +msgstr "أضف {0} للحصول على العرض" + +msgid "Additional Discount" +msgstr "خصم إضافي" + +msgid "Adjust return quantities before submitting.\\n\\n{0}" +msgstr "عدّل كميات الإرجاع قبل الإرسال.\\n\\n{0}" + +msgid "After returns" +msgstr "بعد المرتجعات" + +msgid "Against: {0}" +msgstr "مقابل: {0}" + +msgid "All ({0})" +msgstr "الكل ({0})" + +msgid "All Items" +msgstr "جميع المنتجات" + +msgid "All Status" +msgstr "جميع الحالات" + +msgid "All Territories" +msgstr "جميع المناطق" + +msgid "All Types" +msgstr "جميع الأنواع" + +msgid "All cached data has been cleared successfully" +msgstr "تم تنظيف الذاكرة المؤقتة بنجاح" + +msgid "All draft invoices deleted" +msgstr "" + +msgid "All invoices are either fully paid or unpaid" +msgstr "جميع الفواتير إما مدفوعة بالكامل أو غير مدفوعة" + +msgid "All invoices are fully paid" +msgstr "جميع الفواتير مدفوعة بالكامل" + +msgid "All items from this invoice have already been returned" +msgstr "تم إرجاع جميع المنتجات من هذه الفاتورة بالفعل" + +msgid "All items loaded" +msgstr "تم تحميل جميع المنتجات" + +msgid "All items removed from cart" +msgstr "تم إفراغ السلة" + +msgid "" +"All stock operations will use this warehouse. Stock quantities will refresh " +"after saving." +msgstr "" +"جميع عمليات المخزون ستستخدم هذا المستودع. سيتم تحديث كميات المخزون بعد الحفظ." + +msgid "Allow Additional Discount" +msgstr "السماح بخصم إضافي" + +msgid "Allow Credit Sale" +msgstr "السماح بالبيع بالآجل" + +msgid "Allow Item Discount" +msgstr "السماح بخصم المنتج" + +msgid "Allow Negative Stock" +msgstr "السماح بالمخزون السالب" + +msgid "Allow Partial Payment" +msgstr "السماح بالدفع الجزئي" + +msgid "Allow Return" +msgstr "السماح بالإرجاع" + +msgid "Allow Write Off Change" +msgstr "السماح بشطب الباقي" + +msgid "Amount" +msgstr "المبلغ" + +msgid "Amount in {0}" +msgstr "المبلغ بـ {0}" + +msgid "Amount:" +msgstr "" + +msgid "An error occurred" +msgstr "حدث خطأ" + +msgid "An unexpected error occurred" +msgstr "حدث خطأ غير متوقع" + +msgid "An unexpected error occurred." +msgstr "حدث خطأ غير متوقع." + +msgid "Applied" +msgstr "مُطبَّق" + +msgid "Apply" +msgstr "تطبيق" + +msgid "Apply Discount On" +msgstr "تطبيق الخصم على" + +msgid "Apply On" +msgstr "تطبيق على" + +msgid "Apply coupon code" +msgstr "تطبيق رمز الكوبون" + +msgid "" +"Are you sure you want to delete <strong>"{0}"<strong>?" +msgstr "" + +msgid "Are you sure you want to delete this offline invoice?" +msgstr "هل أنت متأكد من حذف هذه الفاتورة غير المتصلة؟" + +msgid "Are you sure you want to sign out of POS Next?" +msgstr "هل أنت متأكد من تسجيل الخروج من POS Next؟" + +msgid "At least {0} eligible items required" +msgstr "" + +msgid "Auto" +msgstr "تلقائي" + +msgid "Auto-Add ON - Type or scan barcode" +msgstr "الإضافة التلقائية مفعلة - اكتب أو امسح الباركود" + +msgid "Auto-Add: OFF - Click to enable automatic cart addition on Enter" +msgstr "الإضافة التلقائية: معطلة - انقر لتفعيل الإضافة التلقائية عند Enter" + +msgid "Auto-Add: ON - Press Enter to add items to cart" +msgstr "الإضافة التلقائية: مفعلة - اضغط Enter لإضافة منتجات للسلة" + +msgid "Auto-Sync:" +msgstr "مزامنة تلقائية:" + +msgid "Auto-generated if empty" +msgstr "يتم إنشاؤه تلقائياً إذا كان فارغاً" + +msgid "Available" +msgstr "متاح" + +msgid "Available Offers" +msgstr "العروض المتاحة" + +msgid "BALANCE DUE:" +msgstr "المبلغ المستحق:" + +msgid "Back" +msgstr "رجوع" + +msgid "Background Stock Sync" +msgstr "مزامنة المخزون في الخلفية" + +msgid "Barcode Scanner: OFF (Click to enable)" +msgstr "ماسح الباركود: معطل (انقر للتفعيل)" + +msgid "Barcode Scanner: ON (Click to disable)" +msgstr "ماسح الباركود: مفعل (انقر للتعطيل)" + +msgid "Basic Information" +msgstr "المعلومات الأساسية" + +msgid "Brands" +msgstr "العلامات التجارية" + +msgid "Cache" +msgstr "الذاكرة المؤقتة" + +msgid "Cache empty" +msgstr "الذاكرة فارغة" + +msgid "Cache ready" +msgstr "البيانات جاهزة" + +msgid "Cache syncing" +msgstr "مزامنة الذاكرة" + +msgid "Calculating totals and reconciliation..." +msgstr "جاري حساب الإجماليات والتسوية..." + +msgid "Campaign" +msgstr "الحملة" + +msgid "Cancel" +msgstr "إلغاء" + +msgid "Cannot create return against a return invoice" +msgstr "لا يمكن إنشاء إرجاع مقابل فاتورة إرجاع" + +msgid "Cannot delete coupon as it has been used {0} times" +msgstr "لا يمكن حذف الكوبون لأنه تم استخدامه {0} مرات" + +msgid "Cannot remove last serial" +msgstr "لا يمكن إزالة آخر رقم تسلسلي" + +msgid "Cannot save an empty cart as draft" +msgstr "لا يمكن حفظ سلة فارغة كمسودة" + +msgid "Cannot sync while offline" +msgstr "لا يمكن المزامنة (لا يوجد اتصال)" + +msgid "Cart" +msgstr "السلة" + +msgid "Cart Items" +msgstr "محتويات السلة" + +msgid "Cart does not contain eligible items for this offer" +msgstr "السلة لا تحتوي على منتجات مؤهلة لهذا العرض" + +msgid "Cart does not contain items from eligible brands" +msgstr "" + +msgid "Cart does not contain items from eligible groups" +msgstr "السلة لا تحتوي على منتجات من المجموعات المؤهلة" + +msgid "Cart is empty" +msgstr "" + +msgid "Cart subtotal BEFORE tax - used for discount calculations" +msgstr "المجموع الفرعي للسلة قبل الضريبة - يستخدم لحساب الخصم" + +msgid "Cash" +msgstr "نقدي" + +msgid "Cash Over" +msgstr "زيادة نقدية" + +msgid "Cash Refund:" +msgstr "استرداد نقدي:" + +msgid "Cash Short" +msgstr "نقص نقدي" + +msgid "Change Due" +msgstr "الباقي" + +msgid "Change Profile" +msgstr "تغيير الحساب" + +msgid "Change:" +msgstr "الباقي:" + +msgid "Check Availability in All Wherehouses" +msgstr "التحقق من التوفر في كل المستودعات" + +msgid "Check availability in other warehouses" +msgstr "التحقق من التوفر في مستودعات أخرى" + +msgid "Checking Stock..." +msgstr "جاري فحص المخزون..." + +msgid "Checking warehouse availability..." +msgstr "جاري التحقق من توفر المستودعات..." + +msgid "Checkout" +msgstr "الدفع وإنهاء الطلب" + +msgid "" +"Choose a coupon from the list to view and edit, or create a new one to get " +"started" +msgstr "اختر كوبوناً من القائمة لعرضه وتعديله، أو أنشئ واحداً جديداً للبدء" + +msgid "" +"Choose a promotion from the list to view and edit, or create a new one to " +"get started" +msgstr "اختر عرضاً من القائمة لعرضه وتعديله، أو أنشئ واحداً جديداً للبدء" + +msgid "Choose a variant of this item:" +msgstr "اختر نوعاً من هذا الصنف:" + +msgid "Clear" +msgstr "مسح" + +msgid "Clear All" +msgstr "حذف الكل" + +msgid "Clear All Drafts?" +msgstr "" + +msgid "Clear Cache" +msgstr "مسح الذاكرة المؤقتة" + +msgid "Clear Cache?" +msgstr "مسح الذاكرة المؤقتة؟" + +msgid "Clear Cart?" +msgstr "إفراغ السلة؟" + +msgid "Clear all" +msgstr "مسح الكل" + +msgid "Clear all items" +msgstr "مسح جميع المنتجات" + +msgid "Clear all payments" +msgstr "" + +msgid "Clear search" +msgstr "مسح البحث" + +msgid "Clear selection" +msgstr "مسح الاختيار" + +msgid "Clearing Cache..." +msgstr "جاري مسح الذاكرة..." + +msgid "Click to change unit" +msgstr "انقر لتغيير الوحدة" + +msgid "Close" +msgstr "إغلاق" + +msgid "Close & Open New" +msgstr "إغلاق وفتح جديد" + +msgid "Close (shows again next session)" +msgstr "إغلاق (يظهر مجدداً في الجلسة القادمة)" + +msgid "Close POS Shift" +msgstr "إغلاق وردية نقطة البيع" + +msgid "Close Shift" +msgstr "إغلاق الوردية" + +msgid "Close Shift & Sign Out" +msgstr "إغلاق الوردية والخروج" + +msgid "Close current shift" +msgstr "إغلاق الوردية الحالية" + +msgid "Close your shift first to save all transactions properly" +msgstr "يجب إغلاق الوردية أولاً لضمان ترحيل كافة العمليات بشكل صحيح." + +msgid "Closing Shift..." +msgstr "جاري إغلاق الوردية..." + +msgid "Code" +msgstr "الرمز" + +msgid "Code is case-insensitive" +msgstr "الرمز غير حساس لحالة الأحرف" + +msgid "Company" +msgstr "الشركة" + +msgid "Complete Payment" +msgstr "إتمام الدفع" + +msgid "Complete Sales Order" +msgstr "" + +msgid "Configure pricing, discounts, and sales operations" +msgstr "إعدادات التسعير والخصومات وعمليات البيع" + +msgid "Configure warehouse and inventory settings" +msgstr "إعدادات المستودع والمخزون" + +msgid "Confirm" +msgstr "تأكيد" + +msgid "Confirm Sign Out" +msgstr "تأكيد الخروج" + +msgid "Connection Error" +msgstr "خطأ في الاتصال" + +msgid "Count & enter" +msgstr "عد وأدخل" + +msgid "Coupon" +msgstr "الكوبون" + +msgid "Coupon Applied Successfully!" +msgstr "تم تطبيق الكوبون بنجاح!" + +msgid "Coupon Code" +msgstr "كود الخصم" + +msgid "Coupon Details" +msgstr "تفاصيل الكوبون" + +msgid "Coupon Name" +msgstr "اسم الكوبون" + +msgid "Coupon Status & Info" +msgstr "حالة الكوبون والمعلومات" + +msgid "Coupon Type" +msgstr "نوع الكوبون" + +msgid "Coupon created successfully" +msgstr "تم إنشاء الكوبون بنجاح" + +msgid "Coupon status updated successfully" +msgstr "تم تحديث حالة الكوبون بنجاح" + +msgid "Coupon updated successfully" +msgstr "تم تحديث الكوبون بنجاح" + +msgid "Coupons" +msgstr "الكوبونات" + +msgid "Create" +msgstr "إنشاء" + +msgid "Create Customer" +msgstr "عميل جديد" + +msgid "Create New Coupon" +msgstr "إنشاء كوبون جديد" + +msgid "Create New Customer" +msgstr "إنشاء عميل جديد" + +msgid "Create New Promotion" +msgstr "إنشاء عرض جديد" + +msgid "Create Return" +msgstr "إنشاء الإرجاع" + +msgid "Create Return Invoice" +msgstr "إنشاء فاتورة إرجاع" + +msgid "Create new customer" +msgstr "إنشاء عميل جديد" + +msgid "Create new customer: {0}" +msgstr "إنشاء عميل جديد: {0}" + +msgid "Create permission required" +msgstr "إذن الإنشاء مطلوب" + +msgid "Create your first customer to get started" +msgstr "قم بإنشاء أول عميل للبدء" + +msgid "Created On" +msgstr "تاريخ الإنشاء" + +msgid "Creating return for invoice {0}" +msgstr "جاري إنشاء مرتجع للفاتورة {0}" + +msgid "Credit Adjustment:" +msgstr "تسوية الرصيد:" + +msgid "Credit Balance" +msgstr "" + +msgid "Credit Sale" +msgstr "بيع آجل" + +msgid "Credit Sale Return" +msgstr "مرتجع مبيعات آجلة" + +msgid "Current Discount:" +msgstr "الخصم الحالي:" + +msgid "Current Status" +msgstr "الحالة الحالية" + +msgid "Custom" +msgstr "" + +msgid "Customer" +msgstr "العميل" + +msgid "Customer Credit:" +msgstr "رصيد العميل:" + +msgid "Customer Error" +msgstr "خطأ في العميل" + +msgid "Customer Group" +msgstr "مجموعة العملاء" + +msgid "Customer Name" +msgstr "اسم العميل" + +msgid "Customer Name is required" +msgstr "اسم العميل مطلوب" + +msgid "Customer {0} created successfully" +msgstr "تم إنشاء العميل {0} بنجاح" + +msgid "Customer {0} updated successfully" +msgstr "" + +msgid "Customer:" +msgstr "العميل:" + +msgid "Customer: {0}" +msgstr "العميل: {0}" + +msgid "Dashboard" +msgstr "لوحة التحكم" + +msgid "Data is ready for offline use" +msgstr "البيانات جاهزة للعمل دون اتصال" + +msgid "Date" +msgstr "التاريخ" + +msgid "Date & Time" +msgstr "التاريخ والوقت" + +msgid "Date:" +msgstr "التاريخ:" + +msgid "Decrease quantity" +msgstr "تقليل الكمية" + +msgid "Default" +msgstr "افتراضي" + +msgid "Delete" +msgstr "حذف" + +msgid "Delete Coupon" +msgstr "حذف الكوبون" + +msgid "Delete Draft?" +msgstr "" + +msgid "Delete Invoice" +msgstr "حذف الفاتورة" + +msgid "Delete Offline Invoice" +msgstr "" + +msgid "Delete Promotion" +msgstr "حذف العرض" + +msgid "Delete draft" +msgstr "حذف المسودة" + +msgid "Delivery Date" +msgstr "" + +msgid "Deselect All" +msgstr "إلغاء التحديد" + +msgid "Disable" +msgstr "" + +msgid "Disable Rounded Total" +msgstr "تعطيل التقريب" + +msgid "Disable auto-add" +msgstr "تعطيل الإضافة التلقائية" + +msgid "Disable barcode scanner" +msgstr "تعطيل ماسح الباركود" + +msgid "Disabled" +msgstr "معطّل" + +msgid "Disabled Only" +msgstr "المعطلة فقط" + +msgid "Discount" +msgstr "خصم" + +msgid "Discount (%)" +msgstr "" + +msgid "Discount Amount" +msgstr "قيمة الخصم" + +msgid "Discount Configuration" +msgstr "إعدادات الخصم" + +msgid "Discount Details" +msgstr "تفاصيل الخصم" + +msgid "Discount Percentage (%)" +msgstr "" + +msgid "Discount Type" +msgstr "نوع الخصم" + +msgid "Discount has been removed" +msgstr "تمت إزالة الخصم" + +msgid "Discount has been removed from cart" +msgstr "تم إلغاء الخصم" + +msgid "Discount settings changed. Cart recalculated." +msgstr "تغيرت إعدادات الخصم. تمت إعادة حساب السلة." + +msgid "Discount:" +msgstr "الخصم:" + +msgid "Dismiss" +msgstr "إغلاق" + +msgid "Draft Invoices" +msgstr "مسودات" + +msgid "Draft deleted successfully" +msgstr "" + +msgid "Draft invoice deleted" +msgstr "تم حذف مسودة الفاتورة" + +msgid "Draft invoice loaded successfully" +msgstr "تم تحميل مسودة الفاتورة بنجاح" + +msgid "Drafts" +msgstr "المسودات" + +msgid "Duplicate Entry" +msgstr "إدخال مكرر" + +msgid "Duration" +msgstr "المدة" + +msgid "ENTER-CODE-HERE" +msgstr "أدخل-الرمز-هنا" + +msgid "Edit Customer" +msgstr "" + +msgid "Edit Invoice" +msgstr "تعديل الفاتورة" + +msgid "Edit Item Details" +msgstr "تعديل تفاصيل المنتج" + +msgid "Edit Promotion" +msgstr "تعديل العرض" + +msgid "Edit customer details" +msgstr "" + +msgid "Edit serials" +msgstr "تعديل الأرقام التسلسلية" + +msgid "Email" +msgstr "البريد الإلكتروني" + +msgid "Empty" +msgstr "فارغ" + +msgid "Enable" +msgstr "تفعيل" + +msgid "Enable Automatic Stock Sync" +msgstr "تمكين مزامنة المخزون التلقائية" + +msgid "Enable auto-add" +msgstr "تفعيل الإضافة التلقائية" + +msgid "Enable barcode scanner" +msgstr "تفعيل ماسح الباركود" + +msgid "Enable invoice-level discount" +msgstr "تفعيل خصم على مستوى الفاتورة" + +msgid "Enable item-level discount in edit dialog" +msgstr "تفعيل خصم على مستوى المنتج في نافذة التعديل" + +msgid "Enable partial payment for invoices" +msgstr "تفعيل الدفع الجزئي للفواتير" + +msgid "Enable product returns" +msgstr "تفعيل إرجاع المنتجات" + +msgid "Enable sales on credit" +msgstr "تفعيل البيع بالآجل" + +msgid "" +"Enable selling items even when stock reaches zero or below. Integrates with " +"ERPNext stock settings." +msgstr "" +"تمكين بيع المنتجات حتى عندما يصل المخزون إلى الصفر أو أقل. يتكامل مع إعدادات " +"مخزون ERPNext." + +msgid "Enter" +msgstr "إدخال" + +msgid "Enter actual amount for {0}" +msgstr "أدخل المبلغ الفعلي لـ {0}" + +msgid "Enter customer name" +msgstr "أدخل اسم العميل" + +msgid "Enter email address" +msgstr "أدخل البريد الإلكتروني" + +msgid "Enter phone number" +msgstr "أدخل رقم الهاتف" + +msgid "" +"Enter reason for return (e.g., defective product, wrong item, customer " +"request)..." +msgstr "أدخل سبب الإرجاع (مثل: منتج معيب، منتج خاطئ، طلب العميل)..." + +msgid "Enter your password" +msgstr "أدخل كلمة المرور" + +msgid "Enter your promotional or gift card code below" +msgstr "أدخل رمز العرض الترويجي أو بطاقة الهدايا أدناه" + +msgid "Enter your username or email" +msgstr "أدخل اسم المستخدم أو البريد الإلكتروني" + +msgid "Entire Transaction" +msgstr "المعاملة بالكامل" + +msgid "Error" +msgstr "خطأ" + +msgid "Error Closing Shift" +msgstr "خطأ في إغلاق الوردية" + +msgid "Error Report - POS Next" +msgstr "تقرير الخطأ - POS Next" + +msgid "Esc" +msgstr "خروج" + +msgid "Exception: {0}" +msgstr "" + +msgid "Exhausted" +msgstr "مستنفد" + +msgid "Existing Shift Found" +msgstr "تم العثور على وردية موجودة" + +msgid "Exp: {0}" +msgstr "تنتهي: {0}" + +msgid "Expected" +msgstr "المتوقع" + +msgid "Expected: <span class="font-medium">{0}</span>" +msgstr "" + +msgid "Expired" +msgstr "منتهي الصلاحية" + +msgid "Expired Only" +msgstr "المنتهية فقط" + +msgid "Failed to Load Shift Data" +msgstr "فشل في تحميل بيانات الوردية" + +msgid "Failed to add payment" +msgstr "فشل في إضافة الدفعة" + +msgid "Failed to apply coupon. Please try again." +msgstr "فشل في تطبيق الكوبون. يرجى المحاولة مرة أخرى." + +msgid "Failed to apply offer. Please try again." +msgstr "فشل تطبيق العرض. حاول مجدداً." + +msgid "Failed to clear cache. Please try again." +msgstr "فشل مسح الذاكرة المؤقتة." + +msgid "Failed to clear drafts" +msgstr "" + +msgid "Failed to create coupon" +msgstr "فشل في إنشاء الكوبون" + +msgid "Failed to create customer" +msgstr "فشل في إنشاء العميل" + +msgid "Failed to create promotion" +msgstr "فشل في إنشاء العرض" + +msgid "Failed to create return invoice" +msgstr "فشل في إنشاء فاتورة الإرجاع" + +msgid "Failed to delete coupon" +msgstr "فشل في حذف الكوبون" + +msgid "Failed to delete draft" +msgstr "" + +msgid "Failed to delete offline invoice" +msgstr "فشل حذف الفاتورة" + +msgid "Failed to delete promotion" +msgstr "فشل في حذف العرض" + +msgid "Failed to load brands" +msgstr "فشل في تحميل العلامات التجارية" + +msgid "Failed to load coupon details" +msgstr "فشل في تحميل تفاصيل الكوبون" + +msgid "Failed to load coupons" +msgstr "فشل في تحميل الكوبونات" + +msgid "Failed to load draft" +msgstr "فشل في تحميل المسودة" + +msgid "Failed to load draft invoices" +msgstr "" + +msgid "Failed to load invoice details" +msgstr "فشل في تحميل تفاصيل الفاتورة" + +msgid "Failed to load invoices" +msgstr "فشل في تحميل الفواتير" + +msgid "Failed to load item groups" +msgstr "فشل في تحميل مجموعات المنتجات" + +msgid "Failed to load partial payments" +msgstr "فشل في تحميل الدفعات الجزئية" + +msgid "Failed to load promotion details" +msgstr "فشل في تحميل تفاصيل العرض" + +msgid "Failed to load recent invoices" +msgstr "فشل في تحميل الفواتير الأخيرة" + +msgid "Failed to load settings" +msgstr "فشل في تحميل الإعدادات" + +msgid "Failed to load unpaid invoices" +msgstr "فشل في تحميل الفواتير غير المدفوعة" + +msgid "Failed to load variants" +msgstr "" + +msgid "Failed to load warehouse availability" +msgstr "تعذر تحميل بيانات التوفر" + +msgid "Failed to print draft" +msgstr "" + +msgid "Failed to process selection. Please try again." +msgstr "فشل الاختيار. يرجى المحاولة مرة أخرى." + +msgid "Failed to save draft" +msgstr "فشل في حفظ المسودة" + +msgid "Failed to save settings" +msgstr "فشل في حفظ الإعدادات" + +msgid "Failed to toggle coupon status" +msgstr "فشل في تبديل حالة الكوبون" + +msgid "Failed to update UOM. Please try again." +msgstr "فشل تغيير وحدة القياس." + +msgid "Failed to update cart after removing offer." +msgstr "فشل تحديث السلة بعد حذف العرض." + +msgid "Failed to update coupon" +msgstr "فشل في تحديث الكوبون" + +msgid "Failed to update customer" +msgstr "" + +msgid "Failed to update item." +msgstr "" + +msgid "Failed to update promotion" +msgstr "فشل في تحديث العرض" + +msgid "Failed to update promotion status" +msgstr "فشل في تحديث حالة العرض" + +msgid "Faster access and offline support" +msgstr "وصول أسرع ودعم بدون اتصال" + +msgid "Fill in the details to create a new coupon" +msgstr "أملأ التفاصيل لإنشاء كوبون جديد" + +msgid "Fill in the details to create a new promotional scheme" +msgstr "أملأ التفاصيل لإنشاء مخطط ترويجي جديد" + +msgid "Final Amount" +msgstr "المبلغ النهائي" + +msgid "First" +msgstr "الأول" + +msgid "Fixed Amount" +msgstr "مبلغ ثابت" + +msgid "Free Item" +msgstr "منتج مجاني" + +msgid "Free Quantity" +msgstr "الكمية المجانية" + +msgid "Frequent Customers" +msgstr "العملاء المتكررون" + +msgid "From Date" +msgstr "من تاريخ" + +msgid "From {0}" +msgstr "من {0}" + +msgid "Fully Paid" +msgstr "مدفوع بالكامل" + +msgid "Generate" +msgstr "توليد" + +msgid "Gift" +msgstr "هدية" + +msgid "Gift Card" +msgstr "بطاقة هدايا" + +msgid "Go to first page" +msgstr "الذهاب للصفحة الأولى" + +msgid "Go to last page" +msgstr "الذهاب للصفحة الأخيرة" + +msgid "Go to next page" +msgstr "الذهاب للصفحة التالية" + +msgid "Go to page {0}" +msgstr "الذهاب للصفحة {0}" + +msgid "Go to previous page" +msgstr "الذهاب للصفحة السابقة" + +msgid "Grand Total" +msgstr "المجموع الكلي" + +msgid "Grand Total:" +msgstr "المجموع الكلي:" + +msgid "Grid View" +msgstr "عرض شبكي" + +msgid "Gross Sales" +msgstr "إجمالي المبيعات الكلي" + +msgid "Have a coupon code?" +msgstr "هل لديك رمز كوبون؟" + +msgid "Hello" +msgstr "" + +msgid "Hello {0}" +msgstr "" + +msgid "Hide password" +msgstr "إخفاء كلمة المرور" + +msgid "Hold" +msgstr "" + +msgid "Hold order as draft" +msgstr "تعليق الطلب كمسودة" + +msgid "How often to check server for stock updates (minimum 10 seconds)" +msgstr "كم مرة يتم فحص الخادم لتحديثات المخزون (الحد الأدنى 10 ثواني)" + +msgid "Hr" +msgstr "س" + +msgid "Image" +msgstr "صورة" + +msgid "In Stock" +msgstr "متوفر" + +msgid "Inactive" +msgstr "غير نشط" + +msgid "Increase quantity" +msgstr "زيادة الكمية" + +msgid "Individual" +msgstr "فرد" + +msgid "Install" +msgstr "تثبيت" + +msgid "Install POSNext" +msgstr "تثبيت POSNext" + +msgid "Insufficient Stock" +msgstr "الرصيد غير كافٍ" + +msgid "Invoice" +msgstr "فاتورة" + +msgid "Invoice #:" +msgstr "رقم الفاتورة:" + +msgid "Invoice - {0}" +msgstr "فاتورة - {0}" + +msgid "Invoice Created Successfully" +msgstr "تم إنشاء الفاتورة" + +msgid "Invoice Details" +msgstr "تفاصيل الفاتورة" + +msgid "Invoice History" +msgstr "سجل الفواتير" + +msgid "Invoice ID: {0}" +msgstr "رقم الفاتورة: {0}" + +msgid "Invoice Management" +msgstr "إدارة الفواتير" + +msgid "Invoice Summary" +msgstr "ملخص الفاتورة" + +msgid "Invoice loaded to cart for editing" +msgstr "تم تحميل الفاتورة للسلة للتعديل" + +msgid "Invoice must be submitted to create a return" +msgstr "يجب اعتماد الفاتورة لإنشاء إرجاع" + +msgid "Invoice saved as draft successfully" +msgstr "تم حفظ الفاتورة كمسودة بنجاح" + +msgid "Invoice saved offline. Will sync when online" +msgstr "حُفظت الفاتورة محلياً (بدون اتصال). ستتم المزامنة لاحقاً." + +msgid "Invoice {0} created and sent to printer" +msgstr "تم إنشاء الفاتورة {0} وإرسالها للطابعة" + +msgid "Invoice {0} created but print failed" +msgstr "تم إنشاء الفاتورة {0} لكن فشلت الطباعة" + +msgid "Invoice {0} created successfully" +msgstr "تم إنشاء الفاتورة {0} بنجاح" + +msgid "Invoice {0} created successfully!" +msgstr "تم إنشاء الفاتورة {0} بنجاح!" + +msgid "Item" +msgstr "الصنف" + +msgid "Item Code" +msgstr "رمز الصنف" + +msgid "Item Discount" +msgstr "خصم المنتج" + +msgid "Item Group" +msgstr "مجموعة الأصناف" + +msgid "Item Groups" +msgstr "مجموعات المنتجات" + +msgid "Item Not Found: No item found with barcode: {0}" +msgstr "المنتج غير موجود: لم يتم العثور على منتج بالباركود: {0}" + +msgid "Item: {0}" +msgstr "الصنف: {0}" + +msgid "Items" +msgstr "الأصناف" + +msgid "Items to Return:" +msgstr "المنتجات للإرجاع:" + +msgid "Items:" +msgstr "عدد الأصناف:" + +msgid "Just now" +msgstr "الآن" + +msgid "Language" +msgstr "اللغة" + +msgid "Last" +msgstr "الأخير" + +msgid "Last 30 Days" +msgstr "آخر 30 يوم" + +msgid "Last 7 Days" +msgstr "آخر 7 أيام" + +msgid "Last Modified" +msgstr "آخر تعديل" + +msgid "Last Sync:" +msgstr "آخر مزامنة:" + +msgid "List View" +msgstr "عرض قائمة" + +msgid "Load More" +msgstr "تحميل المزيد" + +msgid "Load more ({0} remaining)" +msgstr "تحميل المزيد ({0} متبقي)" + +msgid "Loading customers for offline use..." +msgstr "تجهيز بيانات العملاء للعمل دون اتصال..." + +msgid "Loading customers..." +msgstr "جاري تحميل العملاء..." + +msgid "Loading invoice details..." +msgstr "جاري تحميل تفاصيل الفاتورة..." + +msgid "Loading invoices..." +msgstr "جاري تحميل الفواتير..." + +msgid "Loading items..." +msgstr "جاري تحميل المنتجات..." + +msgid "Loading more items..." +msgstr "جاري تحميل المزيد من المنتجات..." + +msgid "Loading offers..." +msgstr "جاري تحميل العروض..." + +msgid "Loading options..." +msgstr "جاري تحميل الخيارات..." + +msgid "Loading serial numbers..." +msgstr "جاري تحميل الأرقام التسلسلية..." + +msgid "Loading settings..." +msgstr "جاري تحميل الإعدادات..." + +msgid "Loading shift data..." +msgstr "جاري تحميل بيانات الوردية..." + +msgid "Loading stock information..." +msgstr "" + +msgid "Loading variants..." +msgstr "" + +msgid "Loading warehouses..." +msgstr "جاري تحميل المستودعات..." + +msgid "Loading {0}..." +msgstr "" + +msgid "Loading..." +msgstr "جاري التحميل..." + +msgid "Login Failed" +msgstr "فشل تسجيل الدخول" + +msgid "Logout" +msgstr "تسجيل خروج" + +msgid "Low Stock" +msgstr "رصيد منخفض" + +msgid "Manage all your invoices in one place" +msgstr "إدارة جميع فواتيرك في مكان واحد" + +msgid "Manage invoices with pending payments" +msgstr "إدارة الفواتير ذات الدفعات المعلقة" + +msgid "Manage promotional schemes and coupons" +msgstr "إدارة مخططات العروض الترويجية والكوبونات" + +msgid "Max Discount (%)" +msgstr "" + +msgid "Maximum Amount ({0})" +msgstr "الحد الأقصى للمبلغ ({0})" + +msgid "Maximum Discount Amount" +msgstr "الحد الأقصى للخصم" + +msgid "Maximum Quantity" +msgstr "الحد الأقصى للكمية" + +msgid "Maximum Use" +msgstr "الحد الأقصى للاستخدام" + +msgid "Maximum allowed discount is {0}%" +msgstr "" + +msgid "Maximum allowed discount is {0}% ({1} {2})" +msgstr "" + +msgid "Maximum cart value exceeded ({0})" +msgstr "تجاوزت السلة الحد الأقصى للقيمة ({0})" + +msgid "Maximum discount per item" +msgstr "الحد الأقصى للخصم لكل منتج" + +msgid "Maximum {0} eligible items allowed for this offer" +msgstr "" + +msgid "Merged into {0} (Total: {1})" +msgstr "" + +msgid "Message: {0}" +msgstr "الرسالة: {0}" + +msgid "Min" +msgstr "د" + +msgid "Min Purchase" +msgstr "الحد الأدنى للشراء" + +msgid "Min Quantity" +msgstr "الحد الأدنى للكمية" + +msgid "Minimum Amount ({0})" +msgstr "الحد الأدنى للمبلغ ({0})" + +msgid "Minimum Cart Amount" +msgstr "الحد الأدنى لقيمة السلة" + +msgid "Minimum Quantity" +msgstr "الحد الأدنى للكمية" + +msgid "Minimum cart value of {0} required" +msgstr "الحد الأدنى المطلوب لقيمة السلة هو {0}" + +msgid "Mobile" +msgstr "الجوال" + +msgid "Mobile Number" +msgstr "رقم الهاتف" + +msgid "More" +msgstr "المزيد" + +msgid "Multiple Items Found: {0} items match barcode. Please refine search." +msgstr "" +"تم العثور على منتجات متعددة: {0} منتج يطابق الباركود. يرجى تحسين البحث." + +msgid "Multiple Items Found: {0} items match. Please select one." +msgstr "تم العثور على منتجات متعددة: {0} منتج. يرجى اختيار واحد." + +msgid "My Gift Cards ({0})" +msgstr "بطاقات الهدايا الخاصة بي ({0})" + +msgid "N/A" +msgstr "غير متوفر" + +msgid "Name" +msgstr "الاسم" + +msgid "Naming Series Error" +msgstr "خطأ في سلسلة التسمية" + +msgid "Navigate" +msgstr "التنقل" + +msgid "Negative Stock" +msgstr "مخزون بالسالب" + +msgid "Negative stock sales are now allowed" +msgstr "البيع بالسالب مسموح الآن" + +msgid "Negative stock sales are now restricted" +msgstr "البيع بالسالب غير مسموح" + +msgid "Net Sales" +msgstr "صافي المبيعات" + +msgid "Net Total" +msgstr "صافي الإجمالي" + +msgid "Net Total:" +msgstr "الإجمالي الصافي:" + +msgid "Net Variance" +msgstr "صافي الفرق" + +msgid "Net tax" +msgstr "صافي الضريبة" + +msgid "Network Usage:" +msgstr "استخدام الشبكة:" + +msgid "Never" +msgstr "أبداً" + +msgid "Next" +msgstr "التالي" + +msgid "No Active Shift" +msgstr "لا توجد وردية مفتوحة" + +msgid "No Options Available" +msgstr "لا توجد خيارات متاحة" + +msgid "No POS Profile Selected" +msgstr "لم يتم اختيار ملف نقطة البيع" + +msgid "No POS Profiles available. Please contact your administrator." +msgstr "لا توجد ملفات نقطة بيع متاحة. يرجى التواصل مع المسؤول." + +msgid "No Partial Payments" +msgstr "لا توجد دفعات جزئية" + +msgid "No Sales During This Shift" +msgstr "لا مبيعات خلال هذه الوردية" + +msgid "No Sorting" +msgstr "بدون ترتيب" + +msgid "No Stock Available" +msgstr "لا يوجد مخزون متاح" + +msgid "No Unpaid Invoices" +msgstr "لا توجد فواتير غير مدفوعة" + +msgid "No Variants Available" +msgstr "لا توجد أنواع متاحة" + +msgid "No additional units of measurement configured for this item." +msgstr "لم يتم تكوين وحدات قياس إضافية لهذا الصنف." + +msgid "No countries found" +msgstr "لم يتم العثور على دول" + +msgid "No coupons found" +msgstr "لم يتم العثور على كوبونات" + +msgid "No customers available" +msgstr "لا يوجد عملاء متاحين" + +msgid "No draft invoices" +msgstr "لا توجد مسودات فواتير" + +msgid "No expiry" +msgstr "بدون انتهاء" + +msgid "No invoices found" +msgstr "لم يتم العثور على فواتير" + +msgid "No invoices were created. Closing amounts should match opening amounts." +msgstr "لم يتم إنشاء فواتير. يجب أن تتطابق مبالغ الإغلاق مع مبالغ الافتتاح." + +msgid "No items" +msgstr "" + +msgid "No items available" +msgstr "لا توجد منتجات متاحة" + +msgid "No items available for return" +msgstr "لا توجد منتجات متاحة للإرجاع" + +msgid "No items found" +msgstr "لم يتم العثور على منتجات" + +msgid "No offers available" +msgstr "لا توجد عروض متاحة" + +msgid "No options available" +msgstr "لا توجد خيارات متاحة" + +msgid "No payment methods available" +msgstr "" + +msgid "No payment methods configured for this POS Profile" +msgstr "لم يتم تكوين طرق دفع لملف نقطة البيع هذا" + +msgid "No pending invoices to sync" +msgstr "لا توجد فواتير معلقة للمزامنة" + +msgid "No pending offline invoices" +msgstr "لا توجد فواتير معلقة غير متصلة" + +msgid "No promotions found" +msgstr "لم يتم العثور على عروض" + +msgid "No redeemable points available" +msgstr "لا توجد نقاط متاحة للاستبدال" + +msgid "No results for {0}" +msgstr "لا توجد نتائج لـ {0}" + +msgid "No results for {0} in {1}" +msgstr "لا توجد نتائج لـ {0} في {1}" + +msgid "No results found" +msgstr "لا توجد نتائج" + +msgid "No results in {0}" +msgstr "لا توجد نتائج في {0}" + +msgid "No return invoices" +msgstr "لا توجد فواتير إرجاع" + +msgid "No sales" +msgstr "لا مبيعات" + +msgid "No sales persons found" +msgstr "لم يتم العثور على مندوبي مبيعات" + +msgid "No serial numbers available" +msgstr "لا توجد أرقام تسلسلية متاحة" + +msgid "No serial numbers match your search" +msgstr "لا توجد أرقام تسلسلية تطابق بحثك" + +msgid "No stock available" +msgstr "الكمية نفدت" + +msgid "No variants found" +msgstr "" + +msgid "Nos" +msgstr "قطعة" + +msgid "Not Found" +msgstr "غير موجود" + +msgid "Not Started" +msgstr "لم تبدأ بعد" + +msgid "" +"Not enough stock available in the warehouse.\\n\\nPlease reduce the quantity " +"or check stock availability." +msgstr "" + +msgid "OK" +msgstr "حسناً" + +msgid "Offer applied: {0}" +msgstr "تم تطبيق العرض: {0}" + +msgid "Offer has been removed from cart" +msgstr "تم حذف العرض من السلة" + +msgid "Offer removed: {0}. Cart no longer meets requirements." +msgstr "تم إزالة العرض: {0}. السلة لم تعد تستوفي المتطلبات." + +msgid "Offers" +msgstr "العروض" + +msgid "Offers applied: {0}" +msgstr "" + +msgid "Offline ({0} pending)" +msgstr "غير متصل ({0} معلقة)" + +msgid "Offline Invoices" +msgstr "فواتير غير مرحلة" + +msgid "Offline invoice deleted successfully" +msgstr "تم حذف الفاتورة (غير المرحلة) بنجاح" + +msgid "Offline mode active" +msgstr "أنت تعمل في وضع \"عدم الاتصال\"" + +msgid "Offline: {0} applied" +msgstr "" + +msgid "On Account" +msgstr "بالآجل" + +msgid "Online - Click to sync" +msgstr "متصل - اضغط للمزامنة" + +msgid "Online mode active" +msgstr "تم الاتصال بالإنترنت" + +msgid "Only One Use Per Customer" +msgstr "استخدام واحد فقط لكل عميل" + +msgid "Only one unit available" +msgstr "وحدة واحدة متاحة فقط" + +msgid "Open POS Shift" +msgstr "فتح وردية نقطة البيع" + +msgid "Open Shift" +msgstr "فتح وردية" + +msgid "Open a shift before creating a return invoice." +msgstr "" + +msgid "Opening" +msgstr "الافتتاح" + +msgid "Opening Balance (Optional)" +msgstr "الرصيد الافتتاحي (اختياري)" + +msgid "Optional cap in {0}" +msgstr "الحد الأقصى الاختياري بـ {0}" + +msgid "Optional minimum in {0}" +msgstr "الحد الأدنى الاختياري بـ {0}" + +msgid "Order" +msgstr "طلب" + +msgid "Out of Stock" +msgstr "نفدت الكمية" + +msgid "Outstanding" +msgstr "المستحقات" + +msgid "Outstanding Balance" +msgstr "مديونية العميل" + +msgid "Outstanding Payments" +msgstr "المدفوعات المستحقة" + +msgid "Outstanding:" +msgstr "المستحق:" + +msgid "Over {0}" +msgstr "فائض {0}" + +msgid "Overdue" +msgstr "مستحق / متأخر" + +msgid "Overdue ({0})" +msgstr "متأخر السداد ({0})" + +msgid "PARTIAL PAYMENT" +msgstr "سداد جزئي" + +msgid "POS Next" +msgstr "POS Next" + +msgid "POS Profile not found" +msgstr "لم يتم العثور على ملف نقطة البيع" + +msgid "POS Profile: {0}" +msgstr "ملف نقطة البيع: {0}" + +msgid "POS Settings" +msgstr "إعدادات نقطة البيع" + +msgid "POS is offline without cached data. Please connect to sync." +msgstr "النظام غير متصل ولا توجد بيانات محفوظة. يرجى الاتصال بالإنترنت." + +msgid "PRICING RULE" +msgstr "قاعدة تسعير" + +msgid "PROMO SCHEME" +msgstr "مخطط ترويجي" + +msgid "Paid" +msgstr "مدفوع" + +msgid "Paid Amount" +msgstr "المبلغ المدفوع" + +msgid "Paid Amount:" +msgstr "المبلغ المدفوع:" + +msgid "Paid: {0}" +msgstr "المدفوع: {0}" + +msgid "Partial" +msgstr "جزئي" + +msgid "Partial Payment" +msgstr "سداد جزئي" + +msgid "Partial Payments" +msgstr "الدفعات الجزئية" + +msgid "Partially Paid ({0})" +msgstr "مدفوع جزئياً ({0})" + +msgid "Partially Paid Invoice" +msgstr "فاتورة مسددة جزئياً" + +msgid "Partly Paid" +msgstr "مدفوع جزئياً" + +msgid "Password" +msgstr "كلمة المرور" + +msgid "Pay" +msgstr "" + +msgid "Pay on Account" +msgstr "الدفع بالآجل" + +msgid "Payment Error" +msgstr "خطأ في الدفع" + +msgid "Payment History" +msgstr "سجل الدفعات" + +msgid "Payment Method" +msgstr "طريقة الدفع" + +msgid "Payment Reconciliation" +msgstr "تسوية الدفعات" + +msgid "Payment Total:" +msgstr "إجمالي المدفوع:" + +msgid "Payment added successfully" +msgstr "تمت إضافة الدفعة بنجاح" + +msgid "Payments" +msgstr "المدفوعات" + +msgid "Payments:" +msgstr "الدفعات:" + +msgid "Percentage" +msgstr "نسبة مئوية" + +msgid "Percentage (%)" +msgstr "" + +msgid "" +"Periodically sync stock quantities from server in the background (runs in " +"Web Worker)" +msgstr "مزامنة كميات المخزون دورياً من الخادم في الخلفية (تعمل في Web Worker)" + +msgid "Permanently delete all {0} draft invoices?" +msgstr "" + +msgid "Permanently delete this draft invoice?" +msgstr "" + +msgid "Permission Denied" +msgstr "غير مصرح لك" + +msgid "Permission Required" +msgstr "إذن مطلوب" + +msgid "Please add items to cart before proceeding to payment" +msgstr "يرجى إضافة أصناف للسلة قبل الدفع" + +msgid "Please enter a coupon code" +msgstr "يرجى إدخال رمز الكوبون" + +msgid "Please enter a coupon name" +msgstr "يرجى إدخال اسم الكوبون" + +msgid "Please enter a promotion name" +msgstr "يرجى إدخال اسم العرض" + +msgid "Please enter a valid discount amount" +msgstr "يرجى إدخال مبلغ خصم صالح" + +msgid "Please enter a valid discount percentage (1-100)" +msgstr "يرجى إدخال نسبة خصم صالحة (1-100)" + +msgid "Please enter all closing amounts" +msgstr "يرجى إدخال جميع مبالغ الإغلاق" + +msgid "Please open a shift to start making sales" +msgstr "يرجى فتح وردية لبدء البيع" + +msgid "Please select a POS Profile to configure settings" +msgstr "يرجى اختيار ملف نقطة البيع لتكوين الإعدادات" + +msgid "Please select a customer" +msgstr "يرجى اختيار العميل أولاً" + +msgid "Please select a customer before proceeding" +msgstr "يرجى اختيار العميل أولاً" + +msgid "Please select a customer for gift card" +msgstr "يرجى اختيار عميل لبطاقة الهدايا" + +msgid "Please select a discount type" +msgstr "يرجى اختيار نوع الخصم" + +msgid "Please select at least one variant" +msgstr "" + +msgid "Please select at least one {0}" +msgstr "يرجى اختيار {0} واحد على الأقل" + +msgid "Please wait while we clear your cached data" +msgstr "يرجى الانتظار، جاري مسح البيانات المؤقتة" + +msgid "Points applied: {0}. Please pay remaining {1} with {2}" +msgstr "تم تطبيق النقاط: {0}. يرجى دفع المبلغ المتبقي {1} باستخدام {2}" + +msgid "Previous" +msgstr "السابق" + +msgid "Price" +msgstr "السعر" + +msgid "Pricing & Discounts" +msgstr "التسعير والخصومات" + +msgid "Pricing Error" +msgstr "خطأ في التسعير" + +msgid "Pricing Rule" +msgstr "قاعدة التسعير" + +msgid "Print" +msgstr "طباعة" + +msgid "Print Invoice" +msgstr "طباعة الفاتورة" + +msgid "Print Receipt" +msgstr "طباعة الإيصال" + +msgid "Print draft" +msgstr "" + +msgid "Print without confirmation" +msgstr "الطباعة بدون تأكيد" + +msgid "Proceed to payment" +msgstr "المتابعة للدفع" + +msgid "Process Return" +msgstr "معالجة الإرجاع" + +msgid "Process return invoice" +msgstr "معالجة فاتورة الإرجاع" + +msgid "Processing..." +msgstr "جاري المعالجة..." + +msgid "Product" +msgstr "منتج" + +msgid "Products" +msgstr "منتجات" + +msgid "Promotion & Coupon Management" +msgstr "إدارة العروض والكوبونات" + +msgid "Promotion Name" +msgstr "اسم العرض" + +msgid "Promotion created successfully" +msgstr "تم إنشاء العرض بنجاح" + +msgid "Promotion deleted successfully" +msgstr "تم حذف العرض بنجاح" + +msgid "Promotion saved successfully" +msgstr "تم حفظ العرض الترويجي بنجاح" + +msgid "Promotion status updated successfully" +msgstr "تم تحديث حالة العرض بنجاح" + +msgid "Promotion updated successfully" +msgstr "تم تحديث العرض بنجاح" + +msgid "Promotional" +msgstr "ترويجي" + +msgid "Promotional Scheme" +msgstr "المخطط الترويجي" + +msgid "Promotional Schemes" +msgstr "المخططات الترويجية" + +msgid "Promotions" +msgstr "العروض الترويجية" + +msgid "Qty" +msgstr "الكمية" + +msgid "Qty: {0}" +msgstr "الكمية: {0}" + +msgid "Quantity" +msgstr "الكمية" + +msgid "Quick amounts for {0}" +msgstr "مبالغ سريعة لـ {0}" + +msgid "Rate" +msgstr "السعر" + +msgid "Read-only: Edit in ERPNext" +msgstr "للقراءة فقط: عدّل في ERPNext" + +msgid "Ready" +msgstr "جاهز" + +msgid "Recent & Frequent" +msgstr "الأحدث والأكثر تكراراً" + +msgid "Referral Code" +msgstr "رمز الدعوة" + +msgid "Refresh" +msgstr "تنشيط" + +msgid "Refresh Items" +msgstr "تحديث البيانات" + +msgid "Refresh items list" +msgstr "تحديث قائمة الأصناف" + +msgid "Refreshing items..." +msgstr "جاري تحديث الأصناف..." + +msgid "Refreshing..." +msgstr "جاري التحديث..." + +msgid "Refund Payment Methods" +msgstr "طرق استرداد الدفع" + +msgid "Refundable Amount:" +msgstr "المبلغ القابل للاسترداد:" + +msgid "Remaining" +msgstr "المتبقي" + +msgid "Remarks" +msgstr "ملاحظات" + +msgid "Remove" +msgstr "حذف" + +msgid "Remove all {0} items from cart?" +msgstr "إزالة جميع أصناف {0} من السلة؟" + +msgid "Remove customer" +msgstr "إزالة العميل" + +msgid "Remove item" +msgstr "إزالة المنتج" + +msgid "Remove serial" +msgstr "إزالة الرقم التسلسلي" + +msgid "Remove {0}" +msgstr "إزالة {0}" + +msgid "Reports" +msgstr "التقارير" + +msgid "Requested quantity ({0}) exceeds available stock ({1})" +msgstr "الكمية المطلوبة ({0}) تتجاوز المخزون المتاح ({1})" + +msgid "Required" +msgstr "مطلوب" + +msgid "Resume Shift" +msgstr "استئناف الوردية" + +msgid "Return" +msgstr "مرتجع" + +msgid "Return Against:" +msgstr "إرجاع مقابل:" + +msgid "Return Invoice" +msgstr "مرتجع فاتورة" + +msgid "Return Qty:" +msgstr "كمية الإرجاع:" + +msgid "Return Reason" +msgstr "سبب الإرجاع" + +msgid "Return Summary" +msgstr "ملخص الإرجاع" + +msgid "Return Value:" +msgstr "قيمة الإرجاع:" + +msgid "Return against {0}" +msgstr "إرجاع مقابل {0}" + +msgid "Return invoice {0} created successfully" +msgstr "تم إنشاء فاتورة المرتجع {0} بنجاح" + +msgid "Return invoices will appear here" +msgstr "ستظهر فواتير الإرجاع هنا" + +msgid "Returns" +msgstr "المرتجعات" + +msgid "Rule" +msgstr "قاعدة" + +msgid "Sale" +msgstr "بيع" + +msgid "Sales Controls" +msgstr "عناصر تحكم المبيعات" + +msgid "Sales Invoice" +msgstr "" + +msgid "Sales Management" +msgstr "إدارة المبيعات" + +msgid "Sales Operations" +msgstr "عمليات البيع" + +msgid "Sales Order" +msgstr "" + +msgid "Save" +msgstr "حفظ" + +msgid "Save Changes" +msgstr "حفظ التغييرات" + +msgid "Save invoices as drafts to continue later" +msgstr "احفظ الفواتير كمسودات للمتابعة لاحقاً" + +msgid "Save these filters as..." +msgstr "حفظ هذه الفلاتر كـ..." + +msgid "Saved Filters" +msgstr "الفلاتر المحفوظة" + +msgid "Scanner ON - Enable Auto for automatic addition" +msgstr "الماسح مفعل - فعّل التلقائي للإضافة التلقائية" + +msgid "Scheme" +msgstr "مخطط" + +msgid "Search Again" +msgstr "إعادة البحث" + +msgid "Search and select a customer for the transaction" +msgstr "البحث واختيار عميل للمعاملة" + +msgid "Search by email: {0}" +msgstr "بحث بالبريد: {0}" + +msgid "Search by invoice number or customer name..." +msgstr "البحث برقم الفاتورة أو اسم العميل..." + +msgid "Search by invoice number or customer..." +msgstr "البحث برقم الفاتورة أو العميل..." + +msgid "Search by item code, name or scan barcode" +msgstr "البحث برمز المنتج أو الاسم أو مسح الباركود" + +msgid "Search by item name, code, or scan barcode" +msgstr "البحث بالاسم، الرمز، أو قراءة الباركود" + +msgid "Search by name or code..." +msgstr "البحث بالاسم أو الكود..." + +msgid "Search by phone: {0}" +msgstr "بحث بالهاتف: {0}" + +msgid "Search countries..." +msgstr "البحث عن الدول..." + +msgid "Search country or code..." +msgstr "البحث عن دولة أو رمز..." + +msgid "Search coupons..." +msgstr "البحث عن الكوبونات..." + +msgid "Search customer by name or mobile..." +msgstr "" + +msgid "Search customer in cart" +msgstr "البحث عن العميل في السلة" + +msgid "Search customers" +msgstr "البحث عن العملاء" + +msgid "Search customers by name, mobile, or email..." +msgstr "البحث عن العملاء بالاسم أو الهاتف أو البريد..." + +msgid "Search customers..." +msgstr "" + +msgid "Search for an item" +msgstr "البحث عن صنف" + +msgid "Search for items across warehouses" +msgstr "البحث عن الأصناف عبر المستودعات" + +msgid "Search invoices..." +msgstr "البحث عن الفواتير..." + +msgid "Search item... (min 2 characters)" +msgstr "البحث عن منتج... (حرفين كحد أدنى)" + +msgid "Search items" +msgstr "البحث عن منتجات" + +msgid "Search items by name or code..." +msgstr "البحث عن الأصناف بالاسم أو الكود..." + +msgid "Search or add customer..." +msgstr "البحث أو إضافة عميل..." + +msgid "Search products..." +msgstr "البحث عن المنتجات..." + +msgid "Search promotions..." +msgstr "البحث عن العروض..." + +msgid "Search sales person..." +msgstr "بحث عن بائع..." + +msgid "Search serial numbers..." +msgstr "البحث عن الأرقام التسلسلية..." + +msgid "Search..." +msgstr "بحث..." + +msgid "Searching..." +msgstr "جاري البحث..." + +msgid "Sec" +msgstr "ث" + +msgid "Select" +msgstr "" + +msgid "Select All" +msgstr "تحديد الكل" + +msgid "Select Batch Number" +msgstr "اختر رقم الدفعة" + +msgid "Select Batch Numbers" +msgstr "اختر أرقام الدفعات" + +msgid "Select Brand" +msgstr "اختر العلامة التجارية" + +msgid "Select Customer" +msgstr "اختيار عميل" + +msgid "Select Customer Group" +msgstr "اختر مجموعة العملاء" + +msgid "Select Invoice to Return" +msgstr "اختر الفاتورة للإرجاع" + +msgid "Select Item" +msgstr "اختر الصنف" + +msgid "Select Item Group" +msgstr "اختر مجموعة المنتجات" + +msgid "Select Item Variant" +msgstr "اختيار نوع الصنف" + +msgid "Select Items to Return" +msgstr "اختر المنتجات للإرجاع" + +msgid "Select POS Profile" +msgstr "اختيار ملف نقطة البيع" + +msgid "Select Serial Numbers" +msgstr "اختر الأرقام التسلسلية" + +msgid "Select Territory" +msgstr "اختر المنطقة" + +msgid "Select Unit of Measure" +msgstr "اختيار وحدة القياس" + +msgid "Select Variants" +msgstr "" + +msgid "Select a Coupon" +msgstr "اختر كوبون" + +msgid "Select a Promotion" +msgstr "اختر عرضاً" + +msgid "Select a payment method" +msgstr "" + +msgid "Select a payment method to start" +msgstr "" + +msgid "Select items to start or choose a quick action" +msgstr "اختر المنتجات للبدء أو اختر إجراءً سريعاً" + +msgid "Select method..." +msgstr "اختر الطريقة..." + +msgid "Select option" +msgstr "اختر خياراً" + +msgid "Select the unit of measure for this item:" +msgstr "اختر وحدة القياس لهذا الصنف:" + +msgid "Select {0}" +msgstr "اختر {0}" + +msgid "Selected" +msgstr "اختيار" + +msgid "Serial No:" +msgstr "الرقم التسلسلي:" + +msgid "Serial Numbers" +msgstr "الأرقام التسلسلية" + +msgid "Server Error" +msgstr "خطأ في الخادم" + +msgid "Settings" +msgstr "الإعدادات" + +msgid "Settings saved and warehouse updated. Reloading stock..." +msgstr "تم حفظ الإعدادات وتحديث المستودع. جاري إعادة تحميل المخزون..." + +msgid "Settings saved successfully" +msgstr "تم حفظ الإعدادات بنجاح" + +msgid "" +"Settings saved, warehouse updated, and tax mode changed. Cart will be " +"recalculated." +msgstr "" +"تم حفظ الإعدادات وتحديث المستودع وتغيير وضع الضريبة. سيتم إعادة حساب السلة." + +msgid "Shift Open" +msgstr "الوردية مفتوحة" + +msgid "Shift Open:" +msgstr "وقت بداية الوردية:" + +msgid "Shift Status" +msgstr "حالة الوردية" + +msgid "Shift closed successfully" +msgstr "تم إغلاق الوردية بنجاح" + +msgid "Shift is Open" +msgstr "الوردية مفتوحة" + +msgid "Shift start" +msgstr "بداية الوردية" + +msgid "Short {0}" +msgstr "عجز {0}" + +msgid "Show discounts as percentages" +msgstr "عرض الخصومات كنسب مئوية" + +msgid "Show exact totals without rounding" +msgstr "عرض الإجماليات الدقيقة بدون تقريب" + +msgid "Show password" +msgstr "إظهار كلمة المرور" + +msgid "Sign Out" +msgstr "خروج" + +msgid "Sign Out Confirmation" +msgstr "تأكيد الخروج" + +msgid "Sign Out Only" +msgstr "تسجيل الخروج فقط" + +msgid "Sign Out?" +msgstr "تسجيل الخروج؟" + +msgid "Sign in" +msgstr "تسجيل الدخول" + +msgid "Sign in to POS Next" +msgstr "تسجيل الدخول إلى POS Next" + +msgid "Sign out" +msgstr "تسجيل الخروج" + +msgid "Signing Out..." +msgstr "جاري الخروج..." + +msgid "Signing in..." +msgstr "جاري تسجيل الدخول..." + +msgid "Signing out..." +msgstr "جاري الخروج..." + +msgid "Silent Print" +msgstr "طباعة مباشرة" + +msgid "Skip & Sign Out" +msgstr "خروج دون إغلاق" + +msgid "Snooze for 7 days" +msgstr "تأجيل لمدة 7 أيام" + +msgid "Some data may not be available offline" +msgstr "بعض البيانات قد لا تتوفر دون اتصال" + +msgid "Sort Items" +msgstr "ترتيب المنتجات" + +msgid "Sort items" +msgstr "ترتيب المنتجات" + +msgid "Sorted by {0} A-Z" +msgstr "مرتب حسب {0} أ-ي" + +msgid "Sorted by {0} Z-A" +msgstr "مرتب حسب {0} ي-أ" + +msgid "Special Offer" +msgstr "عرض خاص" + +msgid "Specific Items" +msgstr "منتجات محددة" + +msgid "Start Sale" +msgstr "بدء البيع" + +msgid "Start typing to see suggestions" +msgstr "ابدأ الكتابة لإظهار الاقتراحات" + +msgid "Status:" +msgstr "الحالة:" + +msgid "Status: {0}" +msgstr "الحالة: {0}" + +msgid "Stock Controls" +msgstr "عناصر تحكم المخزون" + +msgid "Stock Lookup" +msgstr "الاستعلام عن المخزون" + +msgid "Stock Management" +msgstr "إدارة المخزون" + +msgid "Stock Validation Policy" +msgstr "سياسة التحقق من المخزون" + +msgid "Stock unit" +msgstr "وحدة المخزون" + +msgid "Stock: {0}" +msgstr "المخزون: {0}" + +msgid "Subtotal" +msgstr "المجموع الفرعي" + +msgid "Subtotal (before tax)" +msgstr "المجموع الفرعي (قبل الضريبة)" + +msgid "Subtotal:" +msgstr "المجموع الفرعي:" + +msgid "Summary" +msgstr "" + +msgid "Switch to grid view" +msgstr "التبديل إلى العرض الشبكي" + +msgid "Switch to list view" +msgstr "التبديل إلى عرض القائمة" + +msgid "Switched to {0}. Stock quantities refreshed." +msgstr "تم التبديل إلى {0}. تم تحديث كميات المخزون." + +msgid "Sync All" +msgstr "مزامنة الكل" + +msgid "Sync Interval (seconds)" +msgstr "فترة المزامنة (ثواني)" + +msgid "Syncing" +msgstr "جاري المزامنة" + +msgid "Syncing catalog in background... {0} items cached" +msgstr "جاري مزامنة الكتالوج في الخلفية... {0} عنصر مخزن" + +msgid "Syncing..." +msgstr "جاري المزامنة..." + +msgid "System Test" +msgstr "فحص النظام" + +msgid "TAX INVOICE" +msgstr "فاتورة ضريبية" + +msgid "TOTAL:" +msgstr "الإجمالي:" + +msgid "Tabs" +msgstr "" + +msgid "Tax" +msgstr "ضريبة" + +msgid "Tax Collected" +msgstr "الضريبة المحصلة" + +msgid "Tax Configuration Error" +msgstr "خطأ في إعداد الضريبة" + +msgid "Tax Inclusive" +msgstr "شامل الضريبة" + +msgid "Tax Summary" +msgstr "ملخص الضريبة" + +msgid "Tax mode updated. Cart recalculated with new tax settings." +msgstr "تم تحديث نظام الضرائب. تمت إعادة حساب السلة." + +msgid "Tax:" +msgstr "الضريبة:" + +msgid "Taxes:" +msgstr "الضرائب:" + +msgid "Technical: {0}" +msgstr "تقني: {0}" + +msgid "Territory" +msgstr "المنطقة" + +msgid "Test Connection" +msgstr "فحص الاتصال" + +msgid "Thank you for your business!" +msgstr "شكراً لتعاملكم معنا!" + +msgid "The coupon code you entered is not valid" +msgstr "رمز الكوبون الذي أدخلته غير صالح" + +msgid "This Month" +msgstr "هذا الشهر" + +msgid "This Week" +msgstr "هذا الأسبوع" + +msgid "This action cannot be undone." +msgstr "لا يمكن التراجع عن هذا الإجراء." + +msgid "This combination is not available" +msgstr "هذا التركيب غير متوفر" + +msgid "This coupon requires a minimum purchase of " +msgstr "هذا الكوبون يتطلب حد أدنى للشراء بقيمة " + +msgid "" +"This invoice was paid on account (credit sale). The return will reverse the " +"accounts receivable balance. No cash refund will be processed." +msgstr "" +"تم بيع هذه الفاتورة \"على الحساب\". سيتم خصم القيمة من مديونية العميل (تسوية " +"الرصيد) ولن يتم صرف أي مبلغ نقدي." + +msgid "" +"This invoice was partially paid. The refund will be split proportionally." +msgstr "هذه الفاتورة مسددة جزئياً. سيتم تقسيم المبلغ المسترد بشكل متناسب." + +msgid "This invoice was sold on credit. The customer owes the full amount." +msgstr "تم تسجيل هذه الفاتورة كبيع آجل. المبلغ بالكامل مستحق على العميل." + +msgid "This item is out of stock in all warehouses" +msgstr "هذا الصنف نفذ من جميع المستودعات" + +msgid "" +"This item template <strong>{0}<strong> has no variants created " +"yet." +msgstr "" + +msgid "" +"This return was against a Pay on Account invoice. The accounts receivable " +"balance has been reversed. No cash refund was processed." +msgstr "" +"هذا المرتجع يخص فاتورة آجلة. تم تعديل رصيد العميل تلقائياً، ولم يتم دفع أي " +"مبلغ نقدي." + +msgid "" +"This will also delete all associated pricing rules. This action cannot be " +"undone." +msgstr "" +"سيؤدي هذا أيضاً إلى حذف جميع قواعد التسعير المرتبطة. لا يمكن التراجع عن هذا " +"الإجراء." + +msgid "" +"This will clear all cached items, customers, and stock data. Invoices and " +"drafts will be preserved." +msgstr "" +"سيتم مسح جميع الأصناف والعملاء وبيانات المخزون المخزنة مؤقتاً. سيتم الاحتفاظ " +"بالفواتير والمسودات." + +msgid "Time" +msgstr "الوقت" + +msgid "Times Used" +msgstr "مرات الاستخدام" + +msgid "Timestamp: {0}" +msgstr "الطابع الزمني: {0}" + +msgid "Title: {0}" +msgstr "العنوان: {0}" + +msgid "To Date" +msgstr "إلى تاريخ" + +msgid "To create variants:" +msgstr "لإنشاء الأنواع:" + +msgid "Today" +msgstr "اليوم" + +msgid "Total" +msgstr "الإجمالي" + +msgid "Total Actual" +msgstr "إجمالي الفعلي" + +msgid "Total Amount" +msgstr "إجمالي المبلغ" + +msgid "Total Available" +msgstr "إجمالي الكمية المتوفرة" + +msgid "Total Expected" +msgstr "إجمالي المتوقع" + +msgid "Total Paid:" +msgstr "إجمالي المدفوع:" + +msgid "Total Quantity" +msgstr "إجمالي الكمية" + +msgid "Total Refund:" +msgstr "إجمالي الاسترداد:" + +msgid "Total Tax Collected" +msgstr "إجمالي الضريبة المحصلة" + +msgid "Total Variance" +msgstr "إجمالي الفرق" + +msgid "Total:" +msgstr "الإجمالي:" + +msgid "Try Again" +msgstr "حاول مرة أخرى" + +msgid "Try a different search term" +msgstr "جرب كلمة بحث أخرى" + +msgid "Try a different search term or create a new customer" +msgstr "جرب مصطلح بحث مختلف أو أنشئ عميلاً جديداً" + +msgid "Type" +msgstr "النوع" + +msgid "Type to search items..." +msgstr "اكتب للبحث عن صنف..." + +msgid "Type: {0}" +msgstr "النوع: {0}" + +msgid "UOM" +msgstr "وحدة القياس" + +msgid "Unable to connect to server. Check your internet connection." +msgstr "تعذر الاتصال بالخادم. تحقق من اتصالك بالإنترنت." + +msgid "Unit changed to {0}" +msgstr "تم تغيير الوحدة إلى {0}" + +msgid "Unit of Measure" +msgstr "وحدة القياس" + +msgid "Unknown" +msgstr "غير معروف" + +msgid "Unlimited" +msgstr "غير محدود" + +msgid "Unpaid" +msgstr "غير مدفوع" + +msgid "Unpaid ({0})" +msgstr "غير مدفوع ({0})" + +msgid "Until {0}" +msgstr "حتى {0}" + +msgid "Update" +msgstr "تحديث" + +msgid "Update Item" +msgstr "تحديث المنتج" + +msgid "Update the promotion details below" +msgstr "تحديث تفاصيل العرض أدناه" + +msgid "Use Percentage Discount" +msgstr "استخدام خصم نسبي" + +msgid "Used: {0}" +msgstr "مستخدم: {0}" + +msgid "Used: {0}/{1}" +msgstr "مستخدم: {0}/{1}" + +msgid "User ID / Email" +msgstr "اسم المستخدم / البريد الإلكتروني" + +msgid "User: {0}" +msgstr "المستخدم: {0}" + +msgid "Valid From" +msgstr "صالح من" + +msgid "Valid Until" +msgstr "صالح حتى" + +msgid "Validation Error" +msgstr "خطأ في البيانات" + +msgid "Validity & Usage" +msgstr "الصلاحية والاستخدام" + +msgid "View" +msgstr "عرض" + +msgid "View Details" +msgstr "عرض التفاصيل" + +msgid "View Shift" +msgstr "عرض الوردية" + +msgid "View all available offers" +msgstr "عرض جميع العروض المتاحة" + +msgid "View and update coupon information" +msgstr "عرض وتحديث معلومات الكوبون" + +msgid "View cart" +msgstr "عرض السلة" + +msgid "View cart with {0} items" +msgstr "عرض السلة ({0} أصناف)" + +msgid "View current shift details" +msgstr "عرض تفاصيل الوردية الحالية" + +msgid "View draft invoices" +msgstr "عرض مسودات الفواتير" + +msgid "View invoice history" +msgstr "عرض سجل الفواتير" + +msgid "View items" +msgstr "عرض المنتجات" + +msgid "View pricing rule details (read-only)" +msgstr "عرض تفاصيل قاعدة التسعير (للقراءة فقط)" + +msgid "Walk-in Customer" +msgstr "عميل عابر" + +msgid "Warehouse" +msgstr "المستودع" + +msgid "Warehouse Selection" +msgstr "اختيار المستودع" + +msgid "Warehouse not set" +msgstr "لم يتم تعيين المستودع" + +msgid "Warehouse updated but failed to reload stock. Please refresh manually." +msgstr "تم تحديث المستودع لكن فشل تحميل المخزون. يرجى التحديث يدوياً." + +msgid "Welcome to POS Next" +msgstr "مرحباً بك في POS Next" + +msgid "Welcome to POS Next!" +msgstr "مرحباً بك في POS Next!" + +msgid "" +"When enabled, displayed prices include tax. When disabled, tax is calculated " +"separately. Changes apply immediately to your cart when you save." +msgstr "" +"عند التفعيل، الأسعار المعروضة تشمل الضريبة. عند التعطيل، يتم حساب الضريبة " +"بشكل منفصل. التغييرات تطبق فوراً على السلة عند الحفظ." + +msgid "Will apply when eligible" +msgstr "" + +msgid "Write Off Change" +msgstr "شطب الكسور / الفكة" + +msgid "Write off small change amounts" +msgstr "شطب المبالغ الصغيرة المتبقية" + +msgid "Yesterday" +msgstr "أمس" + +msgid "You can now start making sales" +msgstr "يمكنك البدء بالبيع الآن" + +msgid "You have an active shift open. Would you like to:" +msgstr "لديك وردية نشطة حالياً. ماذا تريد أن تفعل؟" + +msgid "" +"You have an open shift. Would you like to resume it or close it and open a " +"new one?" +msgstr "لديك وردية مفتوحة. هل تريد استئنافها أم إغلاقها وفتح وردية جديدة؟" + +msgid "You have less than expected." +msgstr "لديك أقل من المتوقع." + +msgid "You have more than expected." +msgstr "لديك أكثر من المتوقع." + +msgid "You need to open a shift before you can start making sales." +msgstr "يجب فتح وردية قبل البدء في عمليات البيع." + +msgid "You will be logged out of POS Next" +msgstr "سيتم تسجيل خروجك من POS Next" + +msgid "Your Shift is Still Open!" +msgstr "الوردية لا تزال مفتوحة!" + +msgid "Your cart is empty" +msgstr "السلة فارغة" + +msgid "Your point of sale system is ready to use." +msgstr "النظام جاهز للاستخدام." + +msgid "discount ({0})" +msgstr "الخصم ({0})" + +msgid "e.g., 20" +msgstr "مثال: 20" + +msgid "e.g., Summer Sale 2025" +msgstr "مثال: تخفيضات الصيف 2025" + +msgid "e.g., Summer Sale Coupon 2025" +msgstr "مثال: كوبون تخفيضات الصيف 2025" + +msgid "in 1 warehouse" +msgstr "في مستودع واحد" + +msgid "in {0} warehouses" +msgstr "في {0} مستودعات" + +msgid "of {0}" +msgstr "" + +msgid "optional" +msgstr "اختياري" + +msgid "per {0}" +msgstr "لكل {0}" + +msgid "variant" +msgstr "" + +msgid "variants" +msgstr "" + +msgid "{0} ({1}) added to cart" +msgstr "تمت إضافة {0} ({1}) للسلة" + +msgid "{0} - {1} of {2}" +msgstr "" + +msgid "{0} OFF" +msgstr "خصم {0}" + +msgid "{0} Pending Invoice(s)" +msgstr "{0} فاتورة(فواتير) معلقة" + +msgid "{0} added to cart" +msgstr "تمت إضافة {0} للسلة" + +msgid "{0} applied successfully" +msgstr "تم تطبيق {0} بنجاح" + +msgid "{0} created and selected" +msgstr "تم إنشاء {0} وتحديده" + +msgid "{0} failed" +msgstr "فشل {0}" + +msgid "{0} free item(s) included" +msgstr "يتضمن {0} منتج(منتجات) مجانية" + +msgid "{0} hours ago" +msgstr "منذ {0} ساعات" + +msgid "{0} invoice - {1} outstanding" +msgstr "{0} فاتورة - {1} مستحق" + +msgid "{0} invoice(s) failed to sync" +msgstr "فشلت مزامنة {0} فاتورة" + +msgid "{0} invoice(s) synced successfully" +msgstr "تمت مزامنة {0} فاتورة بنجاح" + +msgid "{0} invoices" +msgstr "{0} فواتير" + +msgid "{0} invoices - {1} outstanding" +msgstr "{0} فواتير - {1} مستحق" + +msgid "{0} item(s)" +msgstr "{0} منتج(منتجات)" + +msgid "{0} item(s) selected" +msgstr "تم اختيار {0} منتج(منتجات)" + +msgid "{0} items" +msgstr "{0} منتجات" + +msgid "{0} items found" +msgstr "تم العثور على {0} منتج" + +msgid "{0} minutes ago" +msgstr "منذ {0} دقائق" + +msgid "{0} of {1} customers" +msgstr "{0} من {1} عميل" + +msgid "{0} off {1}" +msgstr "خصم {0} على {1}" + +msgid "{0} paid" +msgstr "تم دفع {0}" + +msgid "{0} returns" +msgstr "{0} مرتجعات" + +msgid "{0} selected" +msgstr "{0} محدد" + +msgid "{0} settings applied immediately" +msgstr "تم تطبيق إعدادات {0} فوراً" + +msgid "{0} transactions • {1}" +msgstr "" + +msgid "{0} updated" +msgstr "" + +msgid "{0}%" +msgstr "" + +msgid "{0}% OFF" +msgstr "" + +msgid "{0}% off {1}" +msgstr "" + +msgid "{0}: maximum {1}" +msgstr "{0}: الحد الأقصى {1}" + +msgid "{0}h {1}m" +msgstr "{0}س {1}د" + +msgid "{0}m" +msgstr "{0}د" + +msgid "{0}m ago" +msgstr "منذ {0}د" + +msgid "{0}s ago" +msgstr "منذ {0}ث" + +msgid "~15 KB per sync cycle" +msgstr "~15 كيلوبايت لكل دورة مزامنة" + +msgid "~{0} MB per hour" +msgstr "~{0} ميجابايت في الساعة" + +msgid "• Use ↑↓ to navigate, Enter to select" +msgstr "• استخدم ↑↓ للتنقل، Enter للاختيار" + +msgid "⚠️ Payment total must equal refund amount" +msgstr "⚠️ يجب أن يساوي إجمالي الدفع مبلغ الاسترداد" + +msgid "⚠️ Payment total must equal refundable amount" +msgstr "⚠️ يجب أن يساوي إجمالي الدفع المبلغ القابل للاسترداد" + +msgid "⚠️ {0} already returned" +msgstr "⚠️ تم إرجاع {0} مسبقاً" + +msgid "✓ Balanced" +msgstr "✓ متوازن" + +msgid "✓ Connection successful: {0}" +msgstr "✓ الاتصال ناجح: {0}" + +msgid "✓ Shift Closed" +msgstr "✓ تم إغلاق الوردية" + +msgid "✓ Shift closed successfully" +msgstr "✓ تم إغلاق الوردية بنجاح" + +msgid "✗ Connection failed: {0}" +msgstr "✗ فشل الاتصال: {0}" + +#~ msgid "Account" +#~ msgstr "الحساب" + +#~ msgid "Brand" +#~ msgstr "العلامة التجارية" + +#~ msgid "Cancelled" +#~ msgstr "ملغي" + +#~ msgid "Cashier" +#~ msgstr "أمين الصندوق" + +#~ msgid "Closing Amount" +#~ msgstr "نقدية الإغلاق" + +#~ msgid "Description" +#~ msgstr "الوصف" + +#~ msgid "Difference" +#~ msgstr "العجز / الزيادة" + +#~ msgid "Draft" +#~ msgstr "مسودة" + +#~ msgid "Enabled" +#~ msgstr "مفعّل" + +#~ msgctxt "Error" +#~ msgid "Exception: {0}" +#~ msgstr "استثناء: {0}" + +#~ msgid "Expected Amount" +#~ msgstr "المبلغ المتوقع" + +#~ msgid "Help" +#~ msgstr "مساعدة" + +#~ msgctxt "order" +#~ msgid "Hold" +#~ msgstr "تعليق" + +#~ msgid "Loyalty Points" +#~ msgstr "نقاط الولاء" + +#~ msgctxt "UOM" +#~ msgid "Nos" +#~ msgstr "قطعة" + +#~ msgid "Offer Applied" +#~ msgstr "تم تطبيق العرض" + +#~ msgid "Opening Amount" +#~ msgstr "عهدة الفتح" + +#~ msgid "POS Profile" +#~ msgstr "ملف نقطة البيع" + +#~ msgid "Pending" +#~ msgstr "قيد الانتظار" + +#~ msgid "" +#~ "Prices are now tax-exclusive. This will apply to new items added to cart." +#~ msgstr "الأسعار الآن غير شاملة الضريبة (للأصناف الجديدة)." + +#~ msgid "" +#~ "Prices are now tax-inclusive. This will apply to new items added to cart." +#~ msgstr "الأسعار الآن شاملة الضريبة (للأصناف الجديدة)." + +#~ msgid "Refund" +#~ msgstr "استرداد" + +#~ msgid "Status" +#~ msgstr "الحالة" + +#~ msgid "Synced" +#~ msgstr "تمت المزامنة" + +#~ msgid "These invoices will be submitted when you're back online" +#~ msgstr "سيتم إرسال هذه الفواتير عند عودتك للاتصال" + +#~ msgid "Transaction" +#~ msgstr "المعاملة" + +#~ msgid "Wallet" +#~ msgstr "محفظة إلكترونية" + +#~ msgid "You don't have permission to create coupons" +#~ msgstr "ليس لديك إذن لإنشاء كوبونات" + +#~ msgid "" +#~ "You don't have permission to create customers. Contact your administrator." +#~ msgstr "ليس لديك إذن لإنشاء عملاء. تواصل مع المسؤول." + +#~ msgid "You don't have permission to create promotions" +#~ msgstr "ليس لديك إذن لإنشاء العروض" + +#~ msgid "Your cart doesn't meet the requirements for this offer." +#~ msgstr "سلتك لا تستوفي متطلبات هذا العرض." + +#~ msgctxt "item qty" +#~ msgid "of {0}" +#~ msgstr "من {0}" + +#~ msgid "{0} reserved" +#~ msgstr "{0} محجوزة" diff --git a/pos_next/locale/fr.po b/pos_next/locale/fr.po new file mode 100644 index 00000000..95736fb4 --- /dev/null +++ b/pos_next/locale/fr.po @@ -0,0 +1,4937 @@ +# Translations template for POS Next. +# Copyright (C) 2026 BrainWise +# This file is distributed under the same license as the POS Next project. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: POS Next VERSION\n" +"Report-Msgid-Bugs-To: support@brainwise.me\n" +"POT-Creation-Date: 2026-01-12 12:13+0000\n" +"PO-Revision-Date: 2026-01-12 11:54+0034\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.13.1\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: pos_next/api/bootstrap.py:36 pos_next/api/utilities.py:24 +msgid "Authentication required" +msgstr "Authentification requise" + +#: pos_next/api/branding.py:204 +msgid "Insufficient permissions" +msgstr "Permissions insuffisantes" + +#: pos_next/api/sales_invoice_hooks.py:140 +msgid "" +"Warning: Some credit journal entries may not have been cancelled. Please " +"check manually." +msgstr "" +"Avertissement : Certaines écritures de crédit n'ont peut-être pas été " +"annulées. Veuillez vérifier manuellement." + +#: pos_next/api/shifts.py:108 +#, python-brace-format +msgid "You already have an open shift: {0}" +msgstr "Vous avez déjà une session ouverte : {0}" + +#: pos_next/api/shifts.py:163 +#, python-brace-format +msgid "Error getting closing shift data: {0}" +msgstr "Erreur lors de la récupération des données de clôture de session : {0}" + +#: pos_next/api/shifts.py:181 +#, python-brace-format +msgid "Error submitting closing shift: {0}" +msgstr "Erreur lors de la soumission de la clôture de session : {0}" + +#: pos_next/api/utilities.py:27 +msgid "User is disabled" +msgstr "L'utilisateur est désactivé" + +#: pos_next/api/utilities.py:30 +msgid "Invalid session" +msgstr "Session invalide" + +#: pos_next/api/utilities.py:35 +msgid "Failed to generate CSRF token" +msgstr "Échec de la génération du jeton CSRF" + +#: pos_next/api/utilities.py:59 +#, python-brace-format +msgid "Could not parse '{0}' as JSON: {1}" +msgstr "Impossible d'analyser '{0}' en JSON : {1}" + +#: pos_next/api/items.py:324 pos_next/api/items.py:1290 +#: pos_next/api/credit_sales.py:470 pos_next/api/credit_sales.py:510 +#: pos_next/api/partial_payments.py:563 pos_next/api/partial_payments.py:640 +#: pos_next/api/partial_payments.py:924 pos_next/api/partial_payments.py:987 +#: pos_next/api/invoices.py:1104 pos_next/api/pos_profile.py:35 +#: pos_next/api/pos_profile.py:129 pos_next/api/pos_profile.py:253 +msgid "POS Profile is required" +msgstr "Le profil POS est requis" + +#: pos_next/api/items.py:340 +#, python-brace-format +msgid "Item with barcode {0} not found" +msgstr "Article avec le code-barres {0} non trouvé" + +#: pos_next/api/items.py:347 +#, python-brace-format +msgid "Warehouse not set in POS Profile {0}" +msgstr "Entrepôt non défini dans le profil POS {0}" + +#: pos_next/api/items.py:349 +#, python-brace-format +msgid "Selling Price List not set in POS Profile {0}" +msgstr "Liste de prix de vente non définie dans le profil POS {0}" + +#: pos_next/api/items.py:351 +#, python-brace-format +msgid "Company not set in POS Profile {0}" +msgstr "Société non définie dans le profil POS {0}" + +#: pos_next/api/items.py:358 pos_next/api/items.py:1297 +#, python-brace-format +msgid "Item {0} is not allowed for sales" +msgstr "L'article {0} n'est pas autorisé à la vente" + +#: pos_next/api/items.py:384 +#, python-brace-format +msgid "Error searching by barcode: {0}" +msgstr "Erreur lors de la recherche par code-barres : {0}" + +#: pos_next/api/items.py:414 +#, python-brace-format +msgid "Error fetching item stock: {0}" +msgstr "Erreur lors de la récupération du stock de l'article : {0}" + +#: pos_next/api/items.py:465 +#, python-brace-format +msgid "Error fetching batch/serial details: {0}" +msgstr "Erreur lors de la récupération des détails lot/série : {0}" + +#: pos_next/api/items.py:502 +#, python-brace-format +msgid "" +"No variants created for template item '{template_item}'. Please create " +"variants first." +msgstr "" +"Aucune variante créée pour l'article modèle '{template_item}'. Veuillez " +"d'abord créer des variantes." + +#: pos_next/api/items.py:601 +#, python-brace-format +msgid "Error fetching item variants: {0}" +msgstr "Erreur lors de la récupération des variantes de l'article : {0}" + +#: pos_next/api/items.py:1271 +#, python-brace-format +msgid "Error fetching items: {0}" +msgstr "Erreur lors de la récupération des articles : {0}" + +#: pos_next/api/items.py:1321 +#, python-brace-format +msgid "Error fetching item details: {0}" +msgstr "Erreur lors de la récupération des détails de l'article : {0}" + +#: pos_next/api/items.py:1353 +#, python-brace-format +msgid "Error fetching item groups: {0}" +msgstr "Erreur lors de la récupération des groupes d'articles : {0}" + +#: pos_next/api/items.py:1460 +#, python-brace-format +msgid "Error fetching stock quantities: {0}" +msgstr "Erreur lors de la récupération des quantités en stock : {0}" + +#: pos_next/api/items.py:1574 +msgid "Either item_code or item_codes must be provided" +msgstr "item_code ou item_codes doit être fourni" + +#: pos_next/api/items.py:1655 +#, python-brace-format +msgid "Error fetching warehouse availability: {0}" +msgstr "Erreur lors de la récupération de la disponibilité en entrepôt : {0}" + +#: pos_next/api/items.py:1746 +#, python-brace-format +msgid "Error fetching bundle availability for {0}: {1}" +msgstr "Erreur lors de la récupération de la disponibilité du lot pour {0} : {1}" + +#: pos_next/api/offers.py:504 +msgid "Coupons are not enabled" +msgstr "Les coupons ne sont pas activés" + +#: pos_next/api/offers.py:518 +msgid "Invalid coupon code" +msgstr "Code coupon invalide" + +#: pos_next/api/offers.py:521 +msgid "This coupon is disabled" +msgstr "Ce coupon est désactivé" + +#: pos_next/api/offers.py:526 +msgid "This gift card has already been used" +msgstr "Cette carte cadeau a déjà été utilisée" + +#: pos_next/api/offers.py:530 +msgid "This coupon has reached its usage limit" +msgstr "Ce coupon a atteint sa limite d'utilisation" + +#: pos_next/api/offers.py:534 +msgid "This coupon is not yet valid" +msgstr "Ce coupon n'est pas encore valide" + +#: pos_next/api/offers.py:537 +msgid "This coupon has expired" +msgstr "Ce coupon a expiré" + +#: pos_next/api/offers.py:541 +msgid "This coupon is not valid for this customer" +msgstr "Ce coupon n'est pas valide pour ce client" + +#: pos_next/api/credit_sales.py:34 pos_next/api/credit_sales.py:149 +#: pos_next/api/customers.py:196 +msgid "Customer is required" +msgstr "Le client est requis" + +#: pos_next/api/credit_sales.py:152 pos_next/api/promotions.py:235 +#: pos_next/api/promotions.py:673 +msgid "Company is required" +msgstr "La société est requise" + +#: pos_next/api/credit_sales.py:156 +msgid "Credit sale is not enabled for this POS Profile" +msgstr "La vente à crédit n'est pas activée pour ce profil POS" + +#: pos_next/api/credit_sales.py:238 pos_next/api/partial_payments.py:710 +#: pos_next/api/partial_payments.py:796 pos_next/api/invoices.py:1076 +msgid "Invoice name is required" +msgstr "Le nom de la facture est requis" + +#: pos_next/api/credit_sales.py:247 +msgid "Invoice must be submitted to redeem credit" +msgstr "La facture doit être soumise pour utiliser le crédit" + +#: pos_next/api/credit_sales.py:346 +#, python-brace-format +msgid "Journal Entry {0} created for credit redemption" +msgstr "Écriture comptable {0} créée pour l'utilisation du crédit" + +#: pos_next/api/credit_sales.py:372 +#, python-brace-format +msgid "Payment Entry {0} has insufficient unallocated amount" +msgstr "L'entrée de paiement {0} a un montant non alloué insuffisant" + +#: pos_next/api/credit_sales.py:394 +#, python-brace-format +msgid "Payment Entry {0} allocated to invoice" +msgstr "Entrée de paiement {0} allouée à la facture" + +#: pos_next/api/credit_sales.py:451 +#, python-brace-format +msgid "Cancelled {0} credit redemption journal entries" +msgstr "Annulé {0} écritures comptables de remboursement de crédit" + +#: pos_next/api/credit_sales.py:519 pos_next/api/partial_payments.py:571 +#: pos_next/api/partial_payments.py:647 pos_next/api/partial_payments.py:931 +#: pos_next/api/partial_payments.py:994 pos_next/api/invoices.py:1113 +#: pos_next/api/pos_profile.py:44 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:93 +msgid "You don't have access to this POS Profile" +msgstr "Vous n'avez pas accès à ce profil POS" + +#: pos_next/api/promotions.py:24 +msgid "You don't have permission to view promotions" +msgstr "Vous n'avez pas la permission de voir les promotions" + +#: pos_next/api/promotions.py:27 +msgid "You don't have permission to create or modify promotions" +msgstr "Vous n'avez pas la permission de créer ou modifier des promotions" + +#: pos_next/api/promotions.py:30 +msgid "You don't have permission to delete promotions" +msgstr "Vous n'avez pas la permission de supprimer des promotions" + +#: pos_next/api/promotions.py:199 +#, python-brace-format +msgid "Promotion or Pricing Rule {0} not found" +msgstr "Promotion ou règle de tarification {0} non trouvée" + +#: pos_next/api/promotions.py:233 +msgid "Promotion name is required" +msgstr "Le nom de la promotion est requis" + +#: pos_next/api/promotions.py:237 +msgid "Apply On is required" +msgstr "Le champ \"Appliquer sur\" est requis" + +#: pos_next/api/promotions.py:293 +msgid "Discount Rule" +msgstr "Règle de remise" + +#: pos_next/api/promotions.py:312 +msgid "Free Item Rule" +msgstr "Règle article gratuit" + +#: pos_next/api/promotions.py:330 +#, python-brace-format +msgid "Promotion {0} created successfully" +msgstr "Promotion {0} créée avec succès" + +#: pos_next/api/promotions.py:337 +msgid "Promotion Creation Failed" +msgstr "Échec de création de la promotion" + +#: pos_next/api/promotions.py:340 +#, python-brace-format +msgid "Failed to create promotion: {0}" +msgstr "Échec de la création de la promotion : {0}" + +#: pos_next/api/promotions.py:356 pos_next/api/promotions.py:428 +#: pos_next/api/promotions.py:462 +#, python-brace-format +msgid "Promotional Scheme {0} not found" +msgstr "Règle promotionnelle {0} non trouvée" + +#: pos_next/api/promotions.py:410 +#, python-brace-format +msgid "Promotion {0} updated successfully" +msgstr "Promotion {0} mise à jour avec succès" + +#: pos_next/api/promotions.py:416 +msgid "Promotion Update Failed" +msgstr "Échec de mise à jour de la promotion" + +#: pos_next/api/promotions.py:419 +#, python-brace-format +msgid "Failed to update promotion: {0}" +msgstr "Échec de la mise à jour de la promotion : {0}" + +#: pos_next/api/promotions.py:443 +#, python-brace-format +msgid "Promotion {0} {1}" +msgstr "Promotion {0} {1}" + +#: pos_next/api/promotions.py:450 +msgid "Promotion Toggle Failed" +msgstr "Échec d'activation/désactivation de la promotion" + +#: pos_next/api/promotions.py:453 +#, python-brace-format +msgid "Failed to toggle promotion: {0}" +msgstr "Échec du basculement de la promotion : {0}" + +#: pos_next/api/promotions.py:470 +#, python-brace-format +msgid "Promotion {0} deleted successfully" +msgstr "Promotion {0} supprimée avec succès" + +#: pos_next/api/promotions.py:476 +msgid "Promotion Deletion Failed" +msgstr "Échec de suppression de la promotion" + +#: pos_next/api/promotions.py:479 +#, python-brace-format +msgid "Failed to delete promotion: {0}" +msgstr "Échec de la suppression de la promotion : {0}" + +#: pos_next/api/promotions.py:513 +msgid "Too many search requests. Please wait a moment." +msgstr "Trop de requêtes de recherche. Veuillez patienter un moment." + +#: pos_next/api/promotions.py:626 pos_next/api/promotions.py:744 +#: pos_next/api/promotions.py:799 pos_next/api/promotions.py:834 +#, python-brace-format +msgid "Coupon {0} not found" +msgstr "Coupon {0} non trouvé" + +#: pos_next/api/promotions.py:667 +msgid "Coupon name is required" +msgstr "Le nom du coupon est requis" + +#: pos_next/api/promotions.py:669 +msgid "Coupon type is required" +msgstr "Le type de coupon est requis" + +#: pos_next/api/promotions.py:671 +msgid "Discount type is required" +msgstr "Le type de remise est requis" + +#: pos_next/api/promotions.py:678 +msgid "Discount percentage is required when discount type is Percentage" +msgstr "" +"Le pourcentage de remise est requis lorsque le type de remise est " +"Pourcentage" + +#: pos_next/api/promotions.py:680 +msgid "Discount percentage must be between 0 and 100" +msgstr "Le pourcentage de remise doit être entre 0 et 100" + +#: pos_next/api/promotions.py:683 +msgid "Discount amount is required when discount type is Amount" +msgstr "Le montant de la remise est requis lorsque le type de remise est Montant" + +#: pos_next/api/promotions.py:685 +msgid "Discount amount must be greater than 0" +msgstr "Le montant de la remise doit être supérieur à 0" + +#: pos_next/api/promotions.py:689 +msgid "Customer is required for Gift Card coupons" +msgstr "Le client est requis pour les coupons carte cadeau" + +#: pos_next/api/promotions.py:717 +#, python-brace-format +msgid "Coupon {0} created successfully" +msgstr "Coupon {0} créé avec succès" + +#: pos_next/api/promotions.py:725 +msgid "Coupon Creation Failed" +msgstr "Échec de la création du coupon" + +#: pos_next/api/promotions.py:728 +#, python-brace-format +msgid "Failed to create coupon: {0}" +msgstr "Échec de la création du coupon : {0}" + +#: pos_next/api/promotions.py:781 +#, python-brace-format +msgid "Coupon {0} updated successfully" +msgstr "Coupon {0} mis à jour avec succès" + +#: pos_next/api/promotions.py:787 +msgid "Coupon Update Failed" +msgstr "Échec de la mise à jour du coupon" + +#: pos_next/api/promotions.py:790 +#, python-brace-format +msgid "Failed to update coupon: {0}" +msgstr "Échec de la mise à jour du coupon : {0}" + +#: pos_next/api/promotions.py:815 +#, python-brace-format +msgid "Coupon {0} {1}" +msgstr "Coupon {0} {1}" + +#: pos_next/api/promotions.py:822 +msgid "Coupon Toggle Failed" +msgstr "Échec du basculement du coupon" + +#: pos_next/api/promotions.py:825 +#, python-brace-format +msgid "Failed to toggle coupon: {0}" +msgstr "Échec du basculement du coupon : {0}" + +#: pos_next/api/promotions.py:840 +#, python-brace-format +msgid "Cannot delete coupon {0} as it has been used {1} times" +msgstr "Impossible de supprimer le coupon {0} car il a été utilisé {1} fois" + +#: pos_next/api/promotions.py:848 +msgid "Coupon deleted successfully" +msgstr "Coupon supprimé avec succès" + +#: pos_next/api/promotions.py:854 +msgid "Coupon Deletion Failed" +msgstr "Échec de la suppression du coupon" + +#: pos_next/api/promotions.py:857 +#, python-brace-format +msgid "Failed to delete coupon: {0}" +msgstr "Échec de la suppression du coupon : {0}" + +#: pos_next/api/promotions.py:882 +msgid "Referral code applied successfully! You've received a welcome coupon." +msgstr "" +"Code de parrainage appliqué avec succès ! Vous avez reçu un coupon de " +"bienvenue." + +#: pos_next/api/promotions.py:889 +msgid "Apply Referral Code Failed" +msgstr "Échec de l'application du code de parrainage" + +#: pos_next/api/promotions.py:892 +#, python-brace-format +msgid "Failed to apply referral code: {0}" +msgstr "Échec de l'application du code de parrainage : {0}" + +#: pos_next/api/promotions.py:927 +#, python-brace-format +msgid "Referral Code {0} not found" +msgstr "Code de parrainage {0} non trouvé" + +#: pos_next/api/partial_payments.py:87 pos_next/api/partial_payments.py:389 +msgid "Invalid invoice name provided" +msgstr "Nom de facture fourni invalide" + +#: pos_next/api/partial_payments.py:393 +msgid "Payment amount must be greater than zero" +msgstr "Le montant du paiement doit être supérieur à zéro" + +#: pos_next/api/partial_payments.py:399 pos_next/api/partial_payments.py:720 +#: pos_next/api/partial_payments.py:820 pos_next/api/invoices.py:1079 +#: pos_next/api/invoices.py:1208 pos_next/api/invoices.py:1311 +#, python-brace-format +msgid "Invoice {0} does not exist" +msgstr "La facture {0} n'existe pas" + +#: pos_next/api/partial_payments.py:403 +msgid "Invoice must be submitted before adding payments" +msgstr "La facture doit être soumise avant d'ajouter des paiements" + +#: pos_next/api/partial_payments.py:406 +msgid "Cannot add payment to cancelled invoice" +msgstr "Impossible d'ajouter un paiement à une facture annulée" + +#: pos_next/api/partial_payments.py:411 +#, python-brace-format +msgid "Payment amount {0} exceeds outstanding amount {1}" +msgstr "Le montant du paiement {0} dépasse le solde dû {1}" + +#: pos_next/api/partial_payments.py:421 +#, python-brace-format +msgid "Payment date {0} cannot be before invoice date {1}" +msgstr "La date de paiement {0} ne peut pas être antérieure à la date de facture {1}" + +#: pos_next/api/partial_payments.py:428 +#, python-brace-format +msgid "Mode of Payment {0} does not exist" +msgstr "Le mode de paiement {0} n'existe pas" + +#: pos_next/api/partial_payments.py:445 +#, python-brace-format +msgid "Payment account {0} does not exist" +msgstr "Le compte de paiement {0} n'existe pas" + +#: pos_next/api/partial_payments.py:457 +#, python-brace-format +msgid "" +"Could not determine payment account for {0}. Please specify payment_account " +"parameter." +msgstr "" +"Impossible de déterminer le compte de paiement pour {0}. Veuillez spécifier " +"le paramètre payment_account." + +#: pos_next/api/partial_payments.py:468 +msgid "" +"Could not determine payment account. Please specify payment_account " +"parameter." +msgstr "" +"Impossible de déterminer le compte de paiement. Veuillez spécifier le " +"paramètre payment_account." + +#: pos_next/api/partial_payments.py:532 +#, python-brace-format +msgid "Failed to create payment entry: {0}" +msgstr "Échec de la création de l'écriture de paiement : {0}" + +#: pos_next/api/partial_payments.py:567 pos_next/api/partial_payments.py:644 +#: pos_next/api/partial_payments.py:928 pos_next/api/partial_payments.py:991 +#, python-brace-format +msgid "POS Profile {0} does not exist" +msgstr "Le profil POS {0} n'existe pas" + +#: pos_next/api/partial_payments.py:714 pos_next/api/invoices.py:1083 +msgid "You don't have permission to view this invoice" +msgstr "Vous n'avez pas la permission de voir cette facture" + +#: pos_next/api/partial_payments.py:803 +msgid "Invalid payments payload: malformed JSON" +msgstr "Données de paiement invalides : JSON malformé" + +#: pos_next/api/partial_payments.py:807 +msgid "Payments must be a list" +msgstr "Les paiements doivent être une liste" + +#: pos_next/api/partial_payments.py:810 +msgid "At least one payment is required" +msgstr "Au moins un paiement est requis" + +#: pos_next/api/partial_payments.py:814 +msgid "You don't have permission to add payments to this invoice" +msgstr "Vous n'avez pas la permission d'ajouter des paiements à cette facture" + +#: pos_next/api/partial_payments.py:825 +#, python-brace-format +msgid "Total payment amount {0} exceeds outstanding amount {1}" +msgstr "Le montant total du paiement {0} dépasse le montant restant dû {1}" + +#: pos_next/api/partial_payments.py:870 +#, python-brace-format +msgid "Rolled back Payment Entry {0}" +msgstr "Entrée de paiement {0} annulée" + +#: pos_next/api/partial_payments.py:888 +#, python-brace-format +msgid "Failed to create payment entry: {0}. All changes have been rolled back." +msgstr "" +"Échec de la création de l'écriture de paiement : {0}. Toutes les " +"modifications ont été annulées." + +#: pos_next/api/customers.py:55 +#, python-brace-format +msgid "Error fetching customers: {0}" +msgstr "Erreur lors de la récupération des clients : {0}" + +#: pos_next/api/customers.py:76 +msgid "You don't have permission to create customers" +msgstr "Vous n'avez pas la permission de créer des clients" + +#: pos_next/api/customers.py:79 +msgid "Customer name is required" +msgstr "Le nom du client est requis" + +#: pos_next/api/invoices.py:141 +#, python-brace-format +msgid "" +"Please set default Cash or Bank account in Mode of Payment {0} or set " +"default accounts in Company {1}" +msgstr "" +"Veuillez définir un compte de caisse ou bancaire par défaut dans le mode de " +"paiement {0} ou définir les comptes par défaut dans la société {1}" + +#: pos_next/api/invoices.py:143 +msgid "Missing Account" +msgstr "Compte manquant" + +#: pos_next/api/invoices.py:280 +#, python-brace-format +msgid "No batches available in {0} for {1}." +msgstr "Aucun lot disponible dans {0} pour {1}." + +#: pos_next/api/invoices.py:350 +#, python-brace-format +msgid "You are trying to return more quantity for item {0} than was sold." +msgstr "" +"Vous essayez de retourner une quantité supérieure à celle vendue pour " +"l'article {0}." + +#: pos_next/api/invoices.py:389 +#, python-brace-format +msgid "Unable to load POS Profile {0}" +msgstr "Impossible de charger le profil POS {0}" + +#: pos_next/api/invoices.py:678 +msgid "This invoice is currently being processed. Please wait." +msgstr "Cette facture est en cours de traitement. Veuillez patienter." + +#: pos_next/api/invoices.py:849 +#, python-brace-format +msgid "Missing invoice parameter. Received data: {0}" +msgstr "Paramètre de facture manquant. Données reçues : {0}" + +#: pos_next/api/invoices.py:854 +msgid "Missing invoice parameter" +msgstr "Paramètre de facture manquant" + +#: pos_next/api/invoices.py:856 +msgid "Both invoice and data parameters are missing" +msgstr "Les paramètres facture et données sont tous deux manquants" + +#: pos_next/api/invoices.py:866 +msgid "Invalid invoice format" +msgstr "Format de facture invalide" + +#: pos_next/api/invoices.py:912 +msgid "Failed to create invoice draft" +msgstr "Échec de la création du brouillon de facture" + +#: pos_next/api/invoices.py:915 +msgid "Failed to get invoice name from draft" +msgstr "Échec de la récupération du nom de facture depuis le brouillon" + +#: pos_next/api/invoices.py:1026 +msgid "" +"Invoice submitted successfully but credit redemption failed. Please contact " +"administrator." +msgstr "" +"Facture soumise avec succès mais l'utilisation du crédit a échoué. Veuillez " +"contacter l'administrateur." + +#: pos_next/api/invoices.py:1212 +#, python-brace-format +msgid "Cannot delete submitted invoice {0}" +msgstr "Impossible de supprimer la facture soumise {0}" + +#: pos_next/api/invoices.py:1215 +#, python-brace-format +msgid "Invoice {0} Deleted" +msgstr "Facture {0} supprimée" + +#: pos_next/api/invoices.py:1910 +#, python-brace-format +msgid "Error applying offers: {0}" +msgstr "Erreur lors de l'application des offres : {0}" + +#: pos_next/api/pos_profile.py:151 +#, python-brace-format +msgid "Error fetching payment methods: {0}" +msgstr "Erreur lors de la récupération des modes de paiement : {0}" + +#: pos_next/api/pos_profile.py:256 +msgid "Warehouse is required" +msgstr "L'entrepôt est requis" + +#: pos_next/api/pos_profile.py:265 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:141 +msgid "You don't have permission to update this POS Profile" +msgstr "Vous n'avez pas la permission de mettre à jour ce profil POS" + +#: pos_next/api/pos_profile.py:273 +#, python-brace-format +msgid "Warehouse {0} is disabled" +msgstr "L'entrepôt {0} est désactivé" + +#: pos_next/api/pos_profile.py:278 +#, python-brace-format +msgid "Warehouse {0} belongs to {1}, but POS Profile belongs to {2}" +msgstr "L'entrepôt {0} appartient à {1}, mais le profil POS appartient à {2}" + +#: pos_next/api/pos_profile.py:287 +msgid "Warehouse updated successfully" +msgstr "Entrepôt mis à jour avec succès" + +#: pos_next/api/pos_profile.py:292 +#, python-brace-format +msgid "Error updating warehouse: {0}" +msgstr "Erreur lors de la mise à jour de l'entrepôt : {0}" + +#: pos_next/api/pos_profile.py:345 pos_next/api/pos_profile.py:467 +msgid "User must have a company assigned" +msgstr "L'utilisateur doit avoir une société assignée" + +#: pos_next/api/pos_profile.py:424 +#, python-brace-format +msgid "Error getting create POS profile: {0}" +msgstr "Erreur lors de la création du profil POS : {0}" + +#: pos_next/api/pos_profile.py:476 +msgid "At least one payment method is required" +msgstr "Au moins un mode de paiement est requis" + +#: pos_next/api/wallet.py:33 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:37 +#, python-brace-format +msgid "Insufficient wallet balance. Available: {0}, Requested: {1}" +msgstr "Solde du portefeuille insuffisant. Disponible : {0}, Demandé : {1}" + +#: pos_next/api/wallet.py:37 +msgid "Wallet Balance Error" +msgstr "Erreur de solde du portefeuille" + +#: pos_next/api/wallet.py:100 +#, python-brace-format +msgid "Loyalty points conversion from {0}: {1} points = {2}" +msgstr "Conversion des points de fidélité de {0} : {1} points = {2}" + +#: pos_next/api/wallet.py:111 +#, python-brace-format +msgid "Loyalty points converted to wallet: {0} points = {1}" +msgstr "Points de fidélité convertis en portefeuille : {0} points = {1}" + +#: pos_next/api/wallet.py:458 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:29 +msgid "Amount must be greater than zero" +msgstr "Le montant doit être supérieur à zéro" + +#: pos_next/api/wallet.py:464 +#, python-brace-format +msgid "Could not create wallet for customer {0}" +msgstr "Impossible de créer un portefeuille pour le client {0}" + +#: pos_next/api/wallet.py:472 +msgid "Manual wallet credit" +msgstr "Crédit manuel du portefeuille" + +#: pos_next/realtime_events.py:98 +msgid "Real-time Stock Update Event Error" +msgstr "Erreur d'événement de mise à jour du stock en temps réel" + +#: pos_next/realtime_events.py:135 +msgid "Real-time Invoice Created Event Error" +msgstr "Erreur d'événement de création de facture en temps réel" + +#: pos_next/realtime_events.py:183 +msgid "Real-time POS Profile Update Event Error" +msgstr "Erreur d'événement de mise à jour du profil POS en temps réel" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:56 +#, python-brace-format +msgid "" +"POS Closing Shift already exists against {0} between " +"selected period" +msgstr "" +"La clôture de session POS existe déjà pour {0} durant la " +"période sélectionnée" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:60 +msgid "Invalid Period" +msgstr "Période invalide" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:65 +msgid "Selected POS Opening Shift should be open." +msgstr "L'ouverture de session POS sélectionnée doit être ouverte." + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:66 +msgid "Invalid Opening Entry" +msgstr "Écriture d'ouverture invalide" + +#: pos_next/pos_next/doctype/wallet/wallet.py:21 +msgid "Wallet Account must be a Receivable type account" +msgstr "Le compte portefeuille doit être un compte de type Créances" + +#: pos_next/pos_next/doctype/wallet/wallet.py:32 +#, python-brace-format +msgid "A wallet already exists for customer {0} in company {1}" +msgstr "Un portefeuille existe déjà pour le client {0} dans la société {1}" + +#: pos_next/pos_next/doctype/wallet/wallet.py:200 +#, python-brace-format +msgid "Please configure a default wallet account for company {0}" +msgstr "Veuillez configurer un compte portefeuille par défaut pour la société {0}" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:25 +msgid "Referrer Discount Type is required" +msgstr "Le type de remise du parrain est requis" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:29 +msgid "Referrer Discount Percentage is required" +msgstr "Le pourcentage de remise du parrain est requis" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:31 +msgid "Referrer Discount Percentage must be between 0 and 100" +msgstr "Le pourcentage de remise du parrain doit être entre 0 et 100" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:34 +msgid "Referrer Discount Amount is required" +msgstr "Le montant de remise du parrain est requis" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:36 +msgid "Referrer Discount Amount must be greater than 0" +msgstr "Le montant de remise du parrain doit être supérieur à 0" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:40 +msgid "Referee Discount Type is required" +msgstr "Le type de remise du parrainé est requis" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:44 +msgid "Referee Discount Percentage is required" +msgstr "Le pourcentage de remise du parrainé est requis" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:46 +msgid "Referee Discount Percentage must be between 0 and 100" +msgstr "Le pourcentage de remise du parrainé doit être entre 0 et 100" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:49 +msgid "Referee Discount Amount is required" +msgstr "Le montant de remise du parrainé est requis" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:51 +msgid "Referee Discount Amount must be greater than 0" +msgstr "Le montant de remise du parrainé doit être supérieur à 0" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:104 +msgid "Invalid referral code" +msgstr "Code de parrainage invalide" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:110 +msgid "This referral code has been disabled" +msgstr "Ce code de parrainage a été désactivé" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:120 +msgid "You have already used this referral code" +msgstr "Vous avez déjà utilisé ce code de parrainage" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:154 +msgid "Failed to generate your welcome coupon" +msgstr "Échec de la génération de votre coupon de bienvenue" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:20 +msgid "POS Profile {} does not belongs to company {}" +msgstr "Le profil POS {} n'appartient pas à la société {}" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:24 +msgid "User {} has been disabled. Please select valid user/cashier" +msgstr "" +"L'utilisateur {} a été désactivé. Veuillez sélectionner un " +"utilisateur/caissier valide" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:20 +msgid "Wallet is required" +msgstr "Le portefeuille est requis" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:24 +#, python-brace-format +msgid "Wallet {0} is not active" +msgstr "Le portefeuille {0} n'est pas actif" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:83 +#, python-brace-format +msgid "Wallet {0} does not have an account configured" +msgstr "Le portefeuille {0} n'a pas de compte configuré" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:89 +msgid "Source account is required for wallet transaction" +msgstr "Le compte source est requis pour une transaction de portefeuille" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:106 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:117 +#, python-brace-format +msgid "Wallet Credit: {0}" +msgstr "Crédit portefeuille : {0}" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:132 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:141 +#, python-brace-format +msgid "Wallet Debit: {0}" +msgstr "Débit portefeuille : {0}" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:282 +#, python-brace-format +msgid "Loyalty points conversion: {0} points = {1}" +msgstr "Conversion des points de fidélité : {0} points = {1}" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:28 +msgid "Please select the customer for Gift Card." +msgstr "Veuillez sélectionner le client pour la carte cadeau." + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:32 +msgid "Discount Type is required" +msgstr "Le type de remise est requis" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:36 +msgid "Discount Percentage is required" +msgstr "Le pourcentage de remise est requis" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:38 +msgid "Discount Percentage must be between 0 and 100" +msgstr "Le pourcentage de remise doit être entre 0 et 100" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:41 +msgid "Discount Amount is required" +msgstr "Le montant de la remise est requis" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:43 +msgid "Discount Amount must be greater than 0" +msgstr "Le montant de la remise doit être supérieur à 0" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:47 +msgid "Minimum Amount cannot be negative" +msgstr "Le montant minimum ne peut pas être négatif" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:51 +msgid "Maximum Discount Amount must be greater than 0" +msgstr "Le montant de remise maximum doit être supérieur à 0" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:56 +msgid "Valid From date cannot be after Valid Until date" +msgstr "" +"La date de début de validité ne peut pas être postérieure à la date de fin " +"de validité" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:65 +msgid "Sorry, this coupon code does not exist" +msgstr "Désolé, ce code coupon n'existe pas" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:72 +msgid "Sorry, this coupon has been disabled" +msgstr "Désolé, ce coupon a été désactivé" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:78 +msgid "Sorry, this coupon code's validity has not started" +msgstr "Désolé, la validité de ce code coupon n'a pas encore commencé" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:83 +msgid "Sorry, this coupon code has expired" +msgstr "Désolé, ce code coupon a expiré" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:88 +msgid "Sorry, this coupon code has been fully redeemed" +msgstr "Désolé, ce code coupon a été entièrement utilisé" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:93 +msgid "Sorry, this coupon is not valid for this company" +msgstr "Désolé, ce coupon n'est pas valide pour cette société" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:99 +msgid "Sorry, this gift card is assigned to a specific customer" +msgstr "Désolé, cette carte cadeau est attribuée à un client spécifique" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:111 +msgid "Sorry, you have already used this coupon code" +msgstr "Désolé, vous avez déjà utilisé ce code coupon" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:132 +#, python-brace-format +msgid "Minimum cart amount of {0} is required" +msgstr "Un montant minimum de panier de {0} est requis" + +msgid "<strong>Company:<strong>" +msgstr "<strong>Société :<strong>" + +msgid "<strong>Items Tracked:<strong> {0}" +msgstr "<strong>Articles suivis :<strong> {0}" + +msgid "<strong>Last Sync:<strong> Never" +msgstr "<strong>Dernière synchro :<strong> Jamais" + +msgid "<strong>Last Sync:<strong> {0}" +msgstr "<strong>Dernière synchro :<strong> {0}" + +msgid "" +"<strong>Note:<strong> When enabled, the system will allow sales " +"even when stock quantity is zero or negative. This is useful for handling " +"stock sync delays or backorders. All transactions are tracked in the stock " +"ledger." +msgstr "" +"<strong>Note :<strong> Lorsque cette option est activée, le " +"système permettra les ventes même lorsque la quantité en stock est nulle ou " +"négative. Cela est utile pour gérer les retards de synchronisation ou les " +"commandes en attente. Toutes les transactions sont suivies dans le journal " +"des stocks." + +msgid "<strong>Opened:</strong> {0}" +msgstr "<strong>Ouvert :</strong> {0}" + +msgid "<strong>Opened:<strong>" +msgstr "<strong>Ouvert :<strong>" + +msgid "<strong>POS Profile:</strong> {0}" +msgstr "<strong>Profil POS :</strong> {0}" + +msgid "<strong>POS Profile:<strong> {0}" +msgstr "<strong>Profil POS :<strong> {0}" + +msgid "<strong>Status:<strong> Running" +msgstr "<strong>Statut :<strong> En cours" + +msgid "<strong>Status:<strong> Stopped" +msgstr "<strong>Statut :<strong> Arrêté" + +msgid "<strong>Warehouse:<strong> {0}" +msgstr "<strong>Entrepôt :<strong> {0}" + +msgid "" +"<strong>{0}</strong> of <strong>{1}</strong> " +"invoice(s)" +msgstr "" +"<strong>{0}</strong> sur <strong>{1}</strong> " +"facture(s)" + +msgid "(FREE)" +msgstr "(GRATUIT)" + +msgid "(Max Discount: {0})" +msgstr "(Remise max : {0})" + +msgid "(Min: {0})" +msgstr "(Min : {0})" + +msgid "+ Add Payment" +msgstr "+ Ajouter un paiement" + +msgid "+ Create New Customer" +msgstr "+ Créer un nouveau client" + +msgid "+ Free Item" +msgstr "+ Article gratuit" + +msgid "+{0} FREE" +msgstr "+{0} GRATUIT" + +msgid "+{0} more" +msgstr "+{0} de plus" + +msgid "-- No Campaign --" +msgstr "-- Aucune campagne --" + +msgid "-- Select --" +msgstr "-- Sélectionner --" + +msgid "1 item" +msgstr "1 article" + +msgid "1 {0} = {1} {2}" +msgstr "1 {0} = {1} {2}" + +msgid "" +"1. Go to <strong>Item Master<strong> → " +"<strong>{0}<strong>" +msgstr "" +"1. Allez dans <strong>Fiche article<strong> → " +"<strong>{0}<strong>" + +msgid "2. Click <strong>"Make Variants"<strong> button" +msgstr "" +"2. Cliquez sur le bouton <strong>"Créer des " +"variantes"<strong>" + +msgid "3. Select attribute combinations" +msgstr "3. Sélectionnez les combinaisons d'attributs" + +msgid "4. Click <strong>"Create"<strong>" +msgstr "4. Cliquez sur <strong>"Créer"<strong>" + +msgid "APPLIED" +msgstr "APPLIQUÉ" + +msgid "Access your point of sale system" +msgstr "Accédez à votre système de point de vente" + +msgid "Active" +msgstr "Actif" + +msgid "Active Only" +msgstr "Actifs uniquement" + +msgid "Active Shift Detected" +msgstr "Session active détectée" + +msgid "Active Warehouse" +msgstr "Entrepôt actif" + +msgid "Actual Amount *" +msgstr "Montant réel *" + +msgid "Actual Stock" +msgstr "Stock réel" + +msgid "Add" +msgstr "Ajouter" + +msgid "Add Payment" +msgstr "Ajouter un paiement" + +msgid "Add items to the cart before applying an offer." +msgstr "Ajoutez des articles au panier avant d'appliquer une offre." + +msgid "Add items to your cart to see eligible offers" +msgstr "Ajoutez des articles à votre panier pour voir les offres éligibles" + +msgid "Add to Cart" +msgstr "Ajouter au panier" + +msgid "Add {0} more to unlock" +msgstr "Ajoutez {0} de plus pour débloquer" + +msgid "Additional Discount" +msgstr "Remise supplémentaire" + +msgid "" +"Adjust return quantities before submitting.\\n" +"\\n" +"{0}" +msgstr "" +"Ajustez les quantités de retour avant de soumettre.\\n" +"\\n" +"{0}" + +msgid "After returns" +msgstr "Après retours" + +msgid "Against: {0}" +msgstr "Contre : {0}" + +msgid "All ({0})" +msgstr "Tous ({0})" + +msgid "All Items" +msgstr "Tous les articles" + +msgid "All Status" +msgstr "Tous les statuts" + +msgid "All Territories" +msgstr "Tous les territoires" + +msgid "All Types" +msgstr "Tous les types" + +msgid "All cached data has been cleared successfully" +msgstr "Toutes les données en cache ont été effacées avec succès" + +msgid "All draft invoices deleted" +msgstr "Tous les brouillons de factures supprimés" + +msgid "All invoices are either fully paid or unpaid" +msgstr "Toutes les factures sont soit entièrement payées, soit impayées" + +msgid "All invoices are fully paid" +msgstr "Toutes les factures sont entièrement payées" + +msgid "All items from this invoice have already been returned" +msgstr "Tous les articles de cette facture ont déjà été retournés" + +msgid "All items loaded" +msgstr "Tous les articles chargés" + +msgid "All items removed from cart" +msgstr "Tous les articles ont été retirés du panier" + +msgid "" +"All stock operations will use this warehouse. Stock quantities will refresh " +"after saving." +msgstr "" +"Toutes les opérations de stock utiliseront cet entrepôt. Les quantités en " +"stock seront actualisées après l'enregistrement." + +msgid "Allow Additional Discount" +msgstr "Autoriser la remise supplémentaire" + +msgid "Allow Credit Sale" +msgstr "Autoriser la vente à crédit" + +msgid "Allow Item Discount" +msgstr "Autoriser la remise sur article" + +msgid "Allow Negative Stock" +msgstr "Autoriser le stock négatif" + +msgid "Allow Partial Payment" +msgstr "Autoriser le paiement partiel" + +msgid "Allow Return" +msgstr "Autoriser les retours" + +msgid "Allow Write Off Change" +msgstr "Autoriser la passation en perte de la monnaie" + +msgid "Amount" +msgstr "Montant" + +msgid "Amount in {0}" +msgstr "Montant en {0}" + +msgid "Amount:" +msgstr "Montant :" + +msgid "An error occurred" +msgstr "Une erreur s'est produite" + +msgid "An unexpected error occurred" +msgstr "Une erreur inattendue s'est produite" + +msgid "An unexpected error occurred." +msgstr "Une erreur inattendue s'est produite." + +msgid "Applied" +msgstr "Appliqué" + +msgid "Apply" +msgstr "Appliquer" + +msgid "Apply Discount On" +msgstr "Appliquer la remise sur" + +msgid "Apply On" +msgstr "Appliquer sur" + +msgid "Apply coupon code" +msgstr "Appliquer le code coupon" + +msgid "Are you sure you want to delete <strong>"{0}"<strong>?" +msgstr "" +"Êtes-vous sûr de vouloir supprimer " +"<strong>"{0}"<strong> ?" + +msgid "Are you sure you want to delete this offline invoice?" +msgstr "Êtes-vous sûr de vouloir supprimer cette facture hors ligne ?" + +msgid "Are you sure you want to sign out of POS Next?" +msgstr "Êtes-vous sûr de vouloir vous déconnecter de POS Next ?" + +msgid "At least {0} eligible items required" +msgstr "Au moins {0} articles éligibles requis" + +msgid "Auto" +msgstr "Auto" + +msgid "Auto-Add ON - Type or scan barcode" +msgstr "Ajout auto ACTIVÉ - Tapez ou scannez un code-barres" + +msgid "Auto-Add: OFF - Click to enable automatic cart addition on Enter" +msgstr "" +"Ajout auto : DÉSACTIVÉ - Cliquez pour activer l'ajout automatique au panier " +"avec Entrée" + +msgid "Auto-Add: ON - Press Enter to add items to cart" +msgstr "Ajout auto : ACTIVÉ - Appuyez sur Entrée pour ajouter des articles au panier" + +msgid "Auto-Sync:" +msgstr "Synchro auto :" + +msgid "Auto-generated if empty" +msgstr "Auto-généré si vide" + +msgid "Available" +msgstr "Disponible" + +msgid "Available Offers" +msgstr "Offres disponibles" + +msgid "BALANCE DUE:" +msgstr "SOLDE DÛ :" + +msgid "Back" +msgstr "Retour" + +msgid "Background Stock Sync" +msgstr "Synchronisation du stock en arrière-plan" + +msgid "Barcode Scanner: OFF (Click to enable)" +msgstr "Scanner de codes-barres : DÉSACTIVÉ (Cliquez pour activer)" + +msgid "Barcode Scanner: ON (Click to disable)" +msgstr "Scanner de codes-barres : ACTIVÉ (Cliquez pour désactiver)" + +msgid "Basic Information" +msgstr "Informations de base" + +msgid "Brands" +msgstr "Marques" + +msgid "Cache" +msgstr "Cache" + +msgid "Cache empty" +msgstr "Cache vide" + +msgid "Cache ready" +msgstr "Cache prêt" + +msgid "Cache syncing" +msgstr "Synchronisation du cache" + +msgid "Calculating totals and reconciliation..." +msgstr "Calcul des totaux et rapprochement..." + +msgid "Campaign" +msgstr "Campagne" + +msgid "Cancel" +msgstr "Annuler" + +msgid "Cannot create return against a return invoice" +msgstr "Impossible de créer un retour sur une facture de retour" + +msgid "Cannot delete coupon as it has been used {0} times" +msgstr "Impossible de supprimer le coupon car il a été utilisé {0} fois" + +msgid "Cannot remove last serial" +msgstr "Impossible de retirer le dernier numéro de série" + +msgid "Cannot save an empty cart as draft" +msgstr "Impossible d'enregistrer un panier vide comme brouillon" + +msgid "Cannot sync while offline" +msgstr "Impossible de synchroniser hors ligne" + +msgid "Cart" +msgstr "Panier" + +msgid "Cart Items" +msgstr "Articles du panier" + +msgid "Cart does not contain eligible items for this offer" +msgstr "Le panier ne contient pas d'articles éligibles pour cette offre" + +msgid "Cart does not contain items from eligible brands" +msgstr "Le panier ne contient pas d'articles de marques éligibles" + +msgid "Cart does not contain items from eligible groups" +msgstr "Le panier ne contient pas d'articles de groupes éligibles" + +msgid "Cart is empty" +msgstr "Le panier est vide" + +msgid "Cart subtotal BEFORE tax - used for discount calculations" +msgstr "Sous-total du panier AVANT taxes - utilisé pour le calcul des remises" + +msgid "Cash" +msgstr "Espèces" + +msgid "Cash Over" +msgstr "Excédent de caisse" + +msgid "Cash Refund:" +msgstr "Remboursement en espèces :" + +msgid "Cash Short" +msgstr "Déficit de caisse" + +msgid "Change Due" +msgstr "Monnaie à rendre" + +msgid "Change Profile" +msgstr "Changer de profil" + +msgid "Change:" +msgstr "Monnaie :" + +msgid "Check Availability in All Wherehouses" +msgstr "Vérifier la disponibilité dans tous les entrepôts" + +msgid "Check availability in other warehouses" +msgstr "Vérifier la disponibilité dans d'autres entrepôts" + +msgid "Checking Stock..." +msgstr "Vérification du stock..." + +msgid "Checking warehouse availability..." +msgstr "Vérification de la disponibilité en entrepôt..." + +msgid "Checkout" +msgstr "Paiement" + +msgid "" +"Choose a coupon from the list to view and edit, or create a new one to get " +"started" +msgstr "" +"Choisissez un coupon dans la liste pour le voir et le modifier, ou créez-en " +"un nouveau pour commencer" + +msgid "" +"Choose a promotion from the list to view and edit, or create a new one to " +"get started" +msgstr "" +"Choisissez une promotion dans la liste pour la voir et la modifier, ou " +"créez-en une nouvelle pour commencer" + +msgid "Choose a variant of this item:" +msgstr "Choisissez une variante de cet article :" + +msgid "Clear" +msgstr "Effacer" + +msgid "Clear All" +msgstr "Tout effacer" + +msgid "Clear All Drafts?" +msgstr "Effacer tous les brouillons ?" + +msgid "Clear Cache" +msgstr "Vider le cache" + +msgid "Clear Cache?" +msgstr "Vider le cache ?" + +msgid "Clear Cart?" +msgstr "Vider le panier ?" + +msgid "Clear all" +msgstr "Tout effacer" + +msgid "Clear all items" +msgstr "Supprimer tous les articles" + +msgid "Clear all payments" +msgstr "Supprimer tous les paiements" + +msgid "Clear search" +msgstr "Effacer la recherche" + +msgid "Clear selection" +msgstr "Effacer la sélection" + +msgid "Clearing Cache..." +msgstr "Vidage du cache..." + +msgid "Click to change unit" +msgstr "Cliquez pour changer d'unité" + +msgid "Close" +msgstr "Fermer" + +msgid "Close & Open New" +msgstr "Fermer et ouvrir nouveau" + +msgid "Close (shows again next session)" +msgstr "Fermer (réapparaît à la prochaine session)" + +msgid "Close POS Shift" +msgstr "Fermer la session POS" + +msgid "Close Shift" +msgstr "Fermer la session" + +msgid "Close Shift & Sign Out" +msgstr "Fermer la session et se déconnecter" + +msgid "Close current shift" +msgstr "Fermer la session actuelle" + +msgid "Close your shift first to save all transactions properly" +msgstr "" +"Fermez d'abord votre session pour enregistrer toutes les transactions " +"correctement" + +msgid "Closing Shift..." +msgstr "Fermeture de la session..." + +msgid "Code" +msgstr "Code" + +msgid "Code is case-insensitive" +msgstr "Le code n'est pas sensible à la casse" + +msgid "Company" +msgstr "Société" + +msgid "Complete Payment" +msgstr "Finaliser le paiement" + +msgid "Complete Sales Order" +msgstr "Finaliser le bon de commande" + +msgid "Configure pricing, discounts, and sales operations" +msgstr "Configurer les prix, les remises et les opérations de vente" + +msgid "Configure warehouse and inventory settings" +msgstr "Configurer les paramètres d'entrepôt et de stock" + +msgid "Confirm" +msgstr "Confirmer" + +msgid "Confirm Sign Out" +msgstr "Confirmer la déconnexion" + +msgid "Connection Error" +msgstr "Erreur de connexion" + +msgid "Count & enter" +msgstr "Compter et entrer" + +msgid "Coupon" +msgstr "Coupon" + +msgid "Coupon Applied Successfully!" +msgstr "Coupon appliqué avec succès !" + +msgid "Coupon Code" +msgstr "Code coupon" + +msgid "Coupon Details" +msgstr "Détails du coupon" + +msgid "Coupon Name" +msgstr "Nom du coupon" + +msgid "Coupon Status & Info" +msgstr "Statut et info du coupon" + +msgid "Coupon Type" +msgstr "Type de coupon" + +msgid "Coupon created successfully" +msgstr "Coupon créé avec succès" + +msgid "Coupon status updated successfully" +msgstr "Statut du coupon mis à jour avec succès" + +msgid "Coupon updated successfully" +msgstr "Coupon mis à jour avec succès" + +msgid "Coupons" +msgstr "Coupons" + +msgid "Create" +msgstr "Créer" + +msgid "Create Customer" +msgstr "Créer un client" + +msgid "Create New Coupon" +msgstr "Créer un nouveau coupon" + +msgid "Create New Customer" +msgstr "Créer un nouveau client" + +msgid "Create New Promotion" +msgstr "Créer une nouvelle promotion" + +msgid "Create Return" +msgstr "Créer un retour" + +msgid "Create Return Invoice" +msgstr "Créer une facture de retour" + +msgid "Create new customer" +msgstr "Créer un nouveau client" + +msgid "Create new customer: {0}" +msgstr "Créer un nouveau client : {0}" + +msgid "Create permission required" +msgstr "Permission de création requise" + +msgid "Create your first customer to get started" +msgstr "Créez votre premier client pour commencer" + +msgid "Created On" +msgstr "Créé le" + +msgid "Creating return for invoice {0}" +msgstr "Création du retour pour la facture {0}" + +msgid "Credit Adjustment:" +msgstr "Ajustement de crédit :" + +msgid "Credit Balance" +msgstr "Solde créditeur" + +msgid "Credit Sale" +msgstr "Vente à crédit" + +msgid "Credit Sale Return" +msgstr "Retour de vente à crédit" + +msgid "Current Discount:" +msgstr "Remise actuelle :" + +msgid "Current Status" +msgstr "Statut actuel" + +msgid "Custom" +msgstr "Personnalisé" + +msgid "Customer" +msgstr "Client" + +msgid "Customer Credit:" +msgstr "Crédit client :" + +msgid "Customer Error" +msgstr "Erreur client" + +msgid "Customer Group" +msgstr "Groupe de clients" + +msgid "Customer Name" +msgstr "Nom du client" + +msgid "Customer Name is required" +msgstr "Le nom du client est requis" + +msgid "Customer {0} created successfully" +msgstr "Client {0} créé avec succès" + +msgid "Customer {0} updated successfully" +msgstr "Client {0} mis à jour avec succès" + +msgid "Customer:" +msgstr "Client :" + +msgid "Customer: {0}" +msgstr "Client : {0}" + +msgid "Dashboard" +msgstr "Tableau de bord" + +msgid "Data is ready for offline use" +msgstr "Les données sont prêtes pour une utilisation hors ligne" + +msgid "Date" +msgstr "Date" + +msgid "Date & Time" +msgstr "Date et heure" + +msgid "Date:" +msgstr "Date :" + +msgid "Decrease quantity" +msgstr "Diminuer la quantité" + +msgid "Default" +msgstr "Par défaut" + +msgid "Delete" +msgstr "Supprimer" + +msgid "Delete Coupon" +msgstr "Supprimer le coupon" + +msgid "Delete Draft?" +msgstr "Supprimer le brouillon ?" + +msgid "Delete Invoice" +msgstr "Supprimer la facture" + +msgid "Delete Offline Invoice" +msgstr "Supprimer la facture hors ligne" + +msgid "Delete Promotion" +msgstr "Supprimer la promotion" + +msgid "Delete draft" +msgstr "Supprimer le brouillon" + +msgid "Delivery Date" +msgstr "Date de livraison" + +msgid "Deselect All" +msgstr "Désélectionner tout" + +msgid "Disable" +msgstr "Désactiver" + +msgid "Disable Rounded Total" +msgstr "Désactiver le total arrondi" + +msgid "Disable auto-add" +msgstr "Désactiver l'ajout auto" + +msgid "Disable barcode scanner" +msgstr "Désactiver le scanner de codes-barres" + +msgid "Disabled" +msgstr "Désactivé" + +msgid "Disabled Only" +msgstr "Désactivés uniquement" + +msgid "Discount" +msgstr "Remise" + +msgid "Discount (%)" +msgstr "Remise (%)" + +msgid "Discount Amount" +msgstr "Montant de la remise" + +msgid "Discount Configuration" +msgstr "Configuration de la remise" + +msgid "Discount Details" +msgstr "Détails de la remise" + +msgid "Discount Percentage (%)" +msgstr "Pourcentage de remise (%)" + +msgid "Discount Type" +msgstr "Type de remise" + +msgid "Discount has been removed" +msgstr "La remise a été supprimée" + +msgid "Discount has been removed from cart" +msgstr "La remise a été supprimée du panier" + +msgid "Discount settings changed. Cart recalculated." +msgstr "Paramètres de remise modifiés. Panier recalculé." + +msgid "Discount:" +msgstr "Remise :" + +msgid "Dismiss" +msgstr "Fermer" + +msgid "Draft Invoices" +msgstr "Brouillons de factures" + +msgid "Draft deleted successfully" +msgstr "Brouillon supprimé avec succès" + +msgid "Draft invoice deleted" +msgstr "Brouillon de facture supprimé" + +msgid "Draft invoice loaded successfully" +msgstr "Brouillon de facture chargé avec succès" + +msgid "Drafts" +msgstr "Brouillons" + +msgid "Duplicate Entry" +msgstr "Entrée en double" + +msgid "Duration" +msgstr "Durée" + +msgid "ENTER-CODE-HERE" +msgstr "ENTRER-CODE-ICI" + +msgid "Edit Customer" +msgstr "Modifier le client" + +msgid "Edit Invoice" +msgstr "Modifier la facture" + +msgid "Edit Item Details" +msgstr "Modifier les détails de l'article" + +msgid "Edit Promotion" +msgstr "Modifier la promotion" + +msgid "Edit customer details" +msgstr "Modifier les détails du client" + +msgid "Edit serials" +msgstr "Modifier les numéros de série" + +msgid "Email" +msgstr "Email" + +msgid "Empty" +msgstr "Vide" + +msgid "Enable" +msgstr "Activer" + +msgid "Enable Automatic Stock Sync" +msgstr "Activer la synchronisation automatique du stock" + +msgid "Enable auto-add" +msgstr "Activer l'ajout auto" + +msgid "Enable barcode scanner" +msgstr "Activer le scanner de codes-barres" + +msgid "Enable invoice-level discount" +msgstr "Activer la remise au niveau de la facture" + +msgid "Enable item-level discount in edit dialog" +msgstr "Activer la remise au niveau de l'article dans la boîte de modification" + +msgid "Enable partial payment for invoices" +msgstr "Activer le paiement partiel pour les factures" + +msgid "Enable product returns" +msgstr "Activer les retours produits" + +msgid "Enable sales on credit" +msgstr "Activer les ventes à crédit" + +msgid "" +"Enable selling items even when stock reaches zero or below. Integrates with " +"ERPNext stock settings." +msgstr "" +"Activer la vente d'articles même lorsque le stock atteint zéro ou moins. " +"S'intègre aux paramètres de stock d'ERPNext." + +msgid "Enter" +msgstr "Entrer" + +msgid "Enter actual amount for {0}" +msgstr "Entrez le montant réel pour {0}" + +msgid "Enter customer name" +msgstr "Entrez le nom du client" + +msgid "Enter email address" +msgstr "Entrez l'adresse email" + +msgid "Enter phone number" +msgstr "Entrez le numéro de téléphone" + +msgid "" +"Enter reason for return (e.g., defective product, wrong item, customer " +"request)..." +msgstr "" +"Entrez la raison du retour (ex : produit défectueux, mauvais article, " +"demande client)..." + +msgid "Enter your password" +msgstr "Entrez votre mot de passe" + +msgid "Enter your promotional or gift card code below" +msgstr "Entrez votre code promotionnel ou carte cadeau ci-dessous" + +msgid "Enter your username or email" +msgstr "Entrez votre nom d'utilisateur ou email" + +msgid "Entire Transaction" +msgstr "Transaction entière" + +msgid "Error" +msgstr "Erreur" + +msgid "Error Closing Shift" +msgstr "Erreur lors de la fermeture de la session" + +msgid "Error Report - POS Next" +msgstr "Rapport d'erreur - POS Next" + +msgid "Esc" +msgstr "Échap" + +msgid "Exception: {0}" +msgstr "Exception : {0}" + +msgid "Exhausted" +msgstr "Épuisé" + +msgid "Existing Shift Found" +msgstr "Session existante trouvée" + +msgid "Exp: {0}" +msgstr "Exp : {0}" + +msgid "Expected" +msgstr "Attendu" + +msgid "Expected: <span class="font-medium">{0}</span>" +msgstr "Attendu : <span class="font-medium">{0}</span>" + +msgid "Expired" +msgstr "Expiré" + +msgid "Expired Only" +msgstr "Expirés uniquement" + +msgid "Failed to Load Shift Data" +msgstr "Échec du chargement des données de session" + +msgid "Failed to add payment" +msgstr "Échec de l'ajout du paiement" + +msgid "Failed to apply coupon. Please try again." +msgstr "Échec de l'application du coupon. Veuillez réessayer." + +msgid "Failed to apply offer. Please try again." +msgstr "Échec de l'application de l'offre. Veuillez réessayer." + +msgid "Failed to clear cache. Please try again." +msgstr "Échec du vidage du cache. Veuillez réessayer." + +msgid "Failed to clear drafts" +msgstr "Échec de la suppression des brouillons" + +msgid "Failed to create coupon" +msgstr "Échec de la création du coupon" + +msgid "Failed to create customer" +msgstr "Échec de la création du client" + +msgid "Failed to create promotion" +msgstr "Échec de la création de la promotion" + +msgid "Failed to create return invoice" +msgstr "Échec de la création de la facture de retour" + +msgid "Failed to delete coupon" +msgstr "Échec de la suppression du coupon" + +msgid "Failed to delete draft" +msgstr "Échec de la suppression du brouillon" + +msgid "Failed to delete offline invoice" +msgstr "Échec de la suppression de la facture hors ligne" + +msgid "Failed to delete promotion" +msgstr "Échec de la suppression de la promotion" + +msgid "Failed to load brands" +msgstr "Échec du chargement des marques" + +msgid "Failed to load coupon details" +msgstr "Échec du chargement des détails du coupon" + +msgid "Failed to load coupons" +msgstr "Échec du chargement des coupons" + +msgid "Failed to load draft" +msgstr "Échec du chargement du brouillon" + +msgid "Failed to load draft invoices" +msgstr "Échec du chargement des brouillons de factures" + +msgid "Failed to load invoice details" +msgstr "Échec du chargement des détails de la facture" + +msgid "Failed to load invoices" +msgstr "Échec du chargement des factures" + +msgid "Failed to load item groups" +msgstr "Échec du chargement des groupes d'articles" + +msgid "Failed to load partial payments" +msgstr "Échec du chargement des paiements partiels" + +msgid "Failed to load promotion details" +msgstr "Échec du chargement des détails de la promotion" + +msgid "Failed to load recent invoices" +msgstr "Échec du chargement des factures récentes" + +msgid "Failed to load settings" +msgstr "Échec du chargement des paramètres" + +msgid "Failed to load unpaid invoices" +msgstr "Échec du chargement des factures impayées" + +msgid "Failed to load variants" +msgstr "Échec du chargement des variantes" + +msgid "Failed to load warehouse availability" +msgstr "Échec du chargement de la disponibilité en entrepôt" + +msgid "Failed to print draft" +msgstr "Échec de l'impression du brouillon" + +msgid "Failed to process selection. Please try again." +msgstr "Échec du traitement de la sélection. Veuillez réessayer." + +msgid "Failed to save draft" +msgstr "Échec de l'enregistrement du brouillon" + +msgid "Failed to save settings" +msgstr "Échec de l'enregistrement des paramètres" + +msgid "Failed to toggle coupon status" +msgstr "Échec du basculement du statut du coupon" + +msgid "Failed to update UOM. Please try again." +msgstr "Échec de la mise à jour de l'unité de mesure. Veuillez réessayer." + +msgid "Failed to update cart after removing offer." +msgstr "Échec de la mise à jour du panier après suppression de l'offre." + +msgid "Failed to update coupon" +msgstr "Échec de la mise à jour du coupon" + +msgid "Failed to update customer" +msgstr "Échec de la mise à jour du client" + +msgid "Failed to update item." +msgstr "Échec de la mise à jour de l'article." + +msgid "Failed to update promotion" +msgstr "Échec de la mise à jour de la promotion" + +msgid "Failed to update promotion status" +msgstr "Échec de la mise à jour du statut de la promotion" + +msgid "Faster access and offline support" +msgstr "Accès plus rapide et support hors ligne" + +msgid "Fill in the details to create a new coupon" +msgstr "Remplissez les détails pour créer un nouveau coupon" + +msgid "Fill in the details to create a new promotional scheme" +msgstr "Remplissez les détails pour créer un nouveau programme promotionnel" + +msgid "Final Amount" +msgstr "Montant final" + +msgid "First" +msgstr "Premier" + +msgid "Fixed Amount" +msgstr "Montant fixe" + +msgid "Free Item" +msgstr "Article gratuit" + +msgid "Free Quantity" +msgstr "Quantité gratuite" + +msgid "Frequent Customers" +msgstr "Clients fréquents" + +msgid "From Date" +msgstr "Date de début" + +msgid "From {0}" +msgstr "À partir de {0}" + +msgid "Fully Paid" +msgstr "Entièrement payé" + +msgid "Generate" +msgstr "Générer" + +msgid "Gift" +msgstr "Cadeau" + +msgid "Gift Card" +msgstr "Carte cadeau" + +msgid "Go to first page" +msgstr "Aller à la première page" + +msgid "Go to last page" +msgstr "Aller à la dernière page" + +msgid "Go to next page" +msgstr "Aller à la page suivante" + +msgid "Go to page {0}" +msgstr "Aller à la page {0}" + +msgid "Go to previous page" +msgstr "Aller à la page précédente" + +msgid "Grand Total" +msgstr "Total général" + +msgid "Grand Total:" +msgstr "Total général :" + +msgid "Grid View" +msgstr "Vue grille" + +msgid "Gross Sales" +msgstr "Ventes brutes" + +msgid "Have a coupon code?" +msgstr "Vous avez un code coupon ?" + +msgid "Hello" +msgstr "Bonjour" + +msgid "Hello {0}" +msgstr "Bonjour {0}" + +msgid "Hide password" +msgstr "Masquer le mot de passe" + +msgid "Hold" +msgstr "En attente" + +msgid "Hold order as draft" +msgstr "Mettre la commande en attente comme brouillon" + +msgid "How often to check server for stock updates (minimum 10 seconds)" +msgstr "" +"Fréquence de vérification du serveur pour les mises à jour de stock " +"(minimum 10 secondes)" + +msgid "Hr" +msgstr "h" + +msgid "Image" +msgstr "Image" + +msgid "In Stock" +msgstr "En stock" + +msgid "Inactive" +msgstr "Inactif" + +msgid "Increase quantity" +msgstr "Augmenter la quantité" + +msgid "Individual" +msgstr "Individuel" + +msgid "Install" +msgstr "Installer" + +msgid "Install POSNext" +msgstr "Installer POSNext" + +msgid "Insufficient Stock" +msgstr "Stock insuffisant" + +msgid "Invoice" +msgstr "Facture" + +msgid "Invoice #:" +msgstr "Facture n° :" + +msgid "Invoice - {0}" +msgstr "Facture - {0}" + +msgid "Invoice Created Successfully" +msgstr "Facture créée avec succès" + +msgid "Invoice Details" +msgstr "Détails de la facture" + +msgid "Invoice History" +msgstr "Historique des factures" + +msgid "Invoice ID: {0}" +msgstr "ID facture : {0}" + +msgid "Invoice Management" +msgstr "Gestion des factures" + +msgid "Invoice Summary" +msgstr "Résumé de la facture" + +msgid "Invoice loaded to cart for editing" +msgstr "Facture chargée dans le panier pour modification" + +msgid "Invoice must be submitted to create a return" +msgstr "La facture doit être soumise pour créer un retour" + +msgid "Invoice saved as draft successfully" +msgstr "Facture enregistrée comme brouillon avec succès" + +msgid "Invoice saved offline. Will sync when online" +msgstr "Facture enregistrée hors ligne. Sera synchronisée une fois en ligne" + +msgid "Invoice {0} created and sent to printer" +msgstr "Facture {0} créée et envoyée à l'imprimante" + +msgid "Invoice {0} created but print failed" +msgstr "Facture {0} créée mais l'impression a échoué" + +msgid "Invoice {0} created successfully" +msgstr "Facture {0} créée avec succès" + +msgid "Invoice {0} created successfully!" +msgstr "Facture {0} créée avec succès !" + +msgid "Item" +msgstr "Article" + +msgid "Item Code" +msgstr "Code article" + +msgid "Item Discount" +msgstr "Remise sur article" + +msgid "Item Group" +msgstr "Groupe d'articles" + +msgid "Item Groups" +msgstr "Groupes d'articles" + +msgid "Item Not Found: No item found with barcode: {0}" +msgstr "Article non trouvé : Aucun article trouvé avec le code-barres : {0}" + +msgid "Item: {0}" +msgstr "Article : {0}" + +msgid "Items" +msgstr "Articles" + +msgid "Items to Return:" +msgstr "Articles à retourner :" + +msgid "Items:" +msgstr "Articles :" + +msgid "Just now" +msgstr "À l'instant" + +msgid "Language" +msgstr "Langue" + +msgid "Last" +msgstr "Dernier" + +msgid "Last 30 Days" +msgstr "30 derniers jours" + +msgid "Last 7 Days" +msgstr "7 derniers jours" + +msgid "Last Modified" +msgstr "Dernière modification" + +msgid "Last Sync:" +msgstr "Dernière synchro :" + +msgid "List View" +msgstr "Vue liste" + +msgid "Load More" +msgstr "Charger plus" + +msgid "Load more ({0} remaining)" +msgstr "Charger plus ({0} restants)" + +msgid "Loading customers for offline use..." +msgstr "Chargement des clients pour une utilisation hors ligne..." + +msgid "Loading customers..." +msgstr "Chargement des clients..." + +msgid "Loading invoice details..." +msgstr "Chargement des détails de la facture..." + +msgid "Loading invoices..." +msgstr "Chargement des factures..." + +msgid "Loading items..." +msgstr "Chargement des articles..." + +msgid "Loading more items..." +msgstr "Chargement d'autres articles..." + +msgid "Loading offers..." +msgstr "Chargement des offres..." + +msgid "Loading options..." +msgstr "Chargement des options..." + +msgid "Loading serial numbers..." +msgstr "Chargement des numéros de série..." + +msgid "Loading settings..." +msgstr "Chargement des paramètres..." + +msgid "Loading shift data..." +msgstr "Chargement des données de session..." + +msgid "Loading stock information..." +msgstr "Chargement des informations de stock..." + +msgid "Loading variants..." +msgstr "Chargement des variantes..." + +msgid "Loading warehouses..." +msgstr "Chargement des entrepôts..." + +msgid "Loading {0}..." +msgstr "Chargement de {0}..." + +msgid "Loading..." +msgstr "Chargement..." + +msgid "Login Failed" +msgstr "Échec de connexion" + +msgid "Logout" +msgstr "Déconnexion" + +msgid "Low Stock" +msgstr "Stock faible" + +msgid "Manage all your invoices in one place" +msgstr "Gérez toutes vos factures en un seul endroit" + +msgid "Manage invoices with pending payments" +msgstr "Gérez les factures avec paiements en attente" + +msgid "Manage promotional schemes and coupons" +msgstr "Gérez les promotions et les coupons" + +msgid "Max Discount (%)" +msgstr "Remise max. (%)" + +msgid "Maximum Amount ({0})" +msgstr "Montant maximum ({0})" + +msgid "Maximum Discount Amount" +msgstr "Montant de remise maximum" + +msgid "Maximum Quantity" +msgstr "Quantité maximum" + +msgid "Maximum Use" +msgstr "Utilisation maximum" + +msgid "Maximum allowed discount is {0}%" +msgstr "La remise maximum autorisée est de {0}%" + +msgid "Maximum allowed discount is {0}% ({1} {2})" +msgstr "La remise maximum autorisée est de {0}% ({1} {2})" + +msgid "Maximum cart value exceeded ({0})" +msgstr "Valeur du panier maximum dépassée ({0})" + +msgid "Maximum discount per item" +msgstr "Remise maximum par article" + +msgid "Maximum {0} eligible items allowed for this offer" +msgstr "Maximum {0} articles éligibles autorisés pour cette offre" + +msgid "Merged into {0} (Total: {1})" +msgstr "Fusionné dans {0} (Total : {1})" + +msgid "Message: {0}" +msgstr "Message : {0}" + +msgid "Min" +msgstr "Min" + +msgid "Min Purchase" +msgstr "Achat minimum" + +msgid "Min Quantity" +msgstr "Quantité minimum" + +msgid "Minimum Amount ({0})" +msgstr "Montant minimum ({0})" + +msgid "Minimum Cart Amount" +msgstr "Montant minimum du panier" + +msgid "Minimum Quantity" +msgstr "Quantité minimum" + +msgid "Minimum cart value of {0} required" +msgstr "Valeur minimum du panier de {0} requise" + +msgid "Mobile" +msgstr "Mobile" + +msgid "Mobile Number" +msgstr "Numéro de mobile" + +msgid "More" +msgstr "Plus" + +msgid "Multiple Items Found: {0} items match barcode. Please refine search." +msgstr "" +"Plusieurs articles trouvés : {0} articles correspondent au code-barres. " +"Veuillez affiner la recherche." + +msgid "Multiple Items Found: {0} items match. Please select one." +msgstr "" +"Plusieurs articles trouvés : {0} articles correspondent. Veuillez en " +"sélectionner un." + +msgid "My Gift Cards ({0})" +msgstr "Mes cartes cadeaux ({0})" + +msgid "N/A" +msgstr "N/A" + +msgid "Name" +msgstr "Nom" + +msgid "Naming Series Error" +msgstr "Erreur de série de nommage" + +msgid "Navigate" +msgstr "Naviguer" + +msgid "Negative Stock" +msgstr "Stock négatif" + +msgid "Negative stock sales are now allowed" +msgstr "Les ventes en stock négatif sont maintenant autorisées" + +msgid "Negative stock sales are now restricted" +msgstr "Les ventes en stock négatif sont maintenant restreintes" + +msgid "Net Sales" +msgstr "Ventes nettes" + +msgid "Net Total" +msgstr "Total net" + +msgid "Net Total:" +msgstr "Total net :" + +msgid "Net Variance" +msgstr "Écart net" + +msgid "Net tax" +msgstr "Taxe nette" + +msgid "Network Usage:" +msgstr "Utilisation réseau :" + +msgid "Never" +msgstr "Jamais" + +msgid "Next" +msgstr "Suivant" + +msgid "No Active Shift" +msgstr "Aucune session active" + +msgid "No Options Available" +msgstr "Aucune option disponible" + +msgid "No POS Profile Selected" +msgstr "Aucun profil POS sélectionné" + +msgid "No POS Profiles available. Please contact your administrator." +msgstr "Aucun profil POS disponible. Veuillez contacter votre administrateur." + +msgid "No Partial Payments" +msgstr "Aucun paiement partiel" + +msgid "No Sales During This Shift" +msgstr "Aucune vente pendant cette session" + +msgid "No Sorting" +msgstr "Aucun tri" + +msgid "No Stock Available" +msgstr "Aucun stock disponible" + +msgid "No Unpaid Invoices" +msgstr "Aucune facture impayée" + +msgid "No Variants Available" +msgstr "Aucune variante disponible" + +msgid "No additional units of measurement configured for this item." +msgstr "Aucune unité de mesure supplémentaire configurée pour cet article." + +msgid "No countries found" +msgstr "Aucun pays trouvé" + +msgid "No coupons found" +msgstr "Aucun coupon trouvé" + +msgid "No customers available" +msgstr "Aucun client disponible" + +msgid "No draft invoices" +msgstr "Aucune facture brouillon" + +msgid "No expiry" +msgstr "Sans expiration" + +msgid "No invoices found" +msgstr "Aucune facture trouvée" + +msgid "No invoices were created. Closing amounts should match opening amounts." +msgstr "" +"Aucune facture n'a été créée. Les montants de clôture doivent correspondre " +"aux montants d'ouverture." + +msgid "No items" +msgstr "Aucun article" + +msgid "No items available" +msgstr "Aucun article disponible" + +msgid "No items available for return" +msgstr "Aucun article disponible pour le retour" + +msgid "No items found" +msgstr "Aucun article trouvé" + +msgid "No offers available" +msgstr "Aucune offre disponible" + +msgid "No options available" +msgstr "Aucune option disponible" + +msgid "No payment methods available" +msgstr "Aucun mode de paiement disponible" + +msgid "No payment methods configured for this POS Profile" +msgstr "Aucun mode de paiement configuré pour ce profil POS" + +msgid "No pending invoices to sync" +msgstr "Aucune facture en attente de synchronisation" + +msgid "No pending offline invoices" +msgstr "Aucune facture hors ligne en attente" + +msgid "No promotions found" +msgstr "Aucune promotion trouvée" + +msgid "No redeemable points available" +msgstr "Aucun point échangeable disponible" + +msgid "No results for {0}" +msgstr "Aucun résultat pour {0}" + +msgid "No results for {0} in {1}" +msgstr "Aucun résultat pour {0} dans {1}" + +msgid "No results found" +msgstr "Aucun résultat trouvé" + +msgid "No results in {0}" +msgstr "Aucun résultat dans {0}" + +msgid "No return invoices" +msgstr "Aucune facture de retour" + +msgid "No sales" +msgstr "Aucune vente" + +msgid "No sales persons found" +msgstr "Aucun vendeur trouvé" + +msgid "No serial numbers available" +msgstr "Aucun numéro de série disponible" + +msgid "No serial numbers match your search" +msgstr "Aucun numéro de série ne correspond à votre recherche" + +msgid "No stock available" +msgstr "Aucun stock disponible" + +msgid "No variants found" +msgstr "Aucune variante trouvée" + +msgid "Nos" +msgstr "Nos" + +msgid "Not Found" +msgstr "Non trouvé" + +msgid "Not Started" +msgstr "Non commencé" + +msgid "" +"Not enough stock available in the warehouse.\\n" +"\\n" +"Please reduce the quantity or check stock availability." +msgstr "" +"Pas assez de stock disponible dans l'entrepôt.\\n" +"\\n" +"Veuillez réduire la quantité ou vérifier la disponibilité du stock." + +msgid "OK" +msgstr "OK" + +msgid "Offer applied: {0}" +msgstr "Offre appliquée : {0}" + +msgid "Offer has been removed from cart" +msgstr "L'offre a été retirée du panier" + +msgid "Offer removed: {0}. Cart no longer meets requirements." +msgstr "Offre retirée : {0}. Le panier ne répond plus aux conditions." + +msgid "Offers" +msgstr "Offres" + +msgid "Offers applied: {0}" +msgstr "Offres appliquées : {0}" + +msgid "Offline ({0} pending)" +msgstr "Hors ligne ({0} en attente)" + +msgid "Offline Invoices" +msgstr "Factures hors ligne" + +msgid "Offline invoice deleted successfully" +msgstr "Facture hors ligne supprimée avec succès" + +msgid "Offline mode active" +msgstr "Mode hors ligne actif" + +msgid "Offline: {0} applied" +msgstr "Hors ligne : {0} appliqué" + +msgid "On Account" +msgstr "Sur compte" + +msgid "Online - Click to sync" +msgstr "En ligne - Cliquer pour synchroniser" + +msgid "Online mode active" +msgstr "Mode en ligne actif" + +msgid "Only One Use Per Customer" +msgstr "Une seule utilisation par client" + +msgid "Only one unit available" +msgstr "Une seule unité disponible" + +msgid "Open POS Shift" +msgstr "Ouvrir une session POS" + +msgid "Open Shift" +msgstr "Ouvrir la session" + +msgid "Open a shift before creating a return invoice." +msgstr "Ouvrez une session avant de créer une facture de retour." + +msgid "Opening" +msgstr "Ouverture" + +msgid "Opening Balance (Optional)" +msgstr "Solde d'ouverture (Facultatif)" + +msgid "Optional cap in {0}" +msgstr "Plafond optionnel en {0}" + +msgid "Optional minimum in {0}" +msgstr "Minimum optionnel en {0}" + +msgid "Order" +msgstr "Commande" + +msgid "Out of Stock" +msgstr "Rupture de stock" + +msgid "Outstanding" +msgstr "Solde dû" + +msgid "Outstanding Balance" +msgstr "Solde impayé" + +msgid "Outstanding Payments" +msgstr "Paiements en attente" + +msgid "Outstanding:" +msgstr "Solde dû :" + +msgid "Over {0}" +msgstr "Excédent de {0}" + +msgid "Overdue" +msgstr "En retard" + +msgid "Overdue ({0})" +msgstr "En retard ({0})" + +msgid "PARTIAL PAYMENT" +msgstr "PAIEMENT PARTIEL" + +msgid "POS Next" +msgstr "POS Next" + +msgid "POS Profile not found" +msgstr "Profil POS non trouvé" + +msgid "POS Profile: {0}" +msgstr "Profil POS : {0}" + +msgid "POS Settings" +msgstr "Paramètres POS" + +msgid "POS is offline without cached data. Please connect to sync." +msgstr "" +"Le POS est hors ligne sans données en cache. Veuillez vous connecter pour " +"synchroniser." + +msgid "PRICING RULE" +msgstr "RÈGLE DE TARIFICATION" + +msgid "PROMO SCHEME" +msgstr "OFFRE PROMOTIONNELLE" + +msgid "Paid" +msgstr "Payé" + +msgid "Paid Amount" +msgstr "Montant payé" + +msgid "Paid Amount:" +msgstr "Montant payé :" + +msgid "Paid: {0}" +msgstr "Payé : {0}" + +msgid "Partial" +msgstr "Partiel" + +msgid "Partial Payment" +msgstr "Paiement partiel" + +msgid "Partial Payments" +msgstr "Paiements partiels" + +msgid "Partially Paid ({0})" +msgstr "Partiellement payé ({0})" + +msgid "Partially Paid Invoice" +msgstr "Facture partiellement payée" + +msgid "Partly Paid" +msgstr "Partiellement payé" + +msgid "Password" +msgstr "Mot de passe" + +msgid "Pay" +msgstr "Payer" + +msgid "Pay on Account" +msgstr "Payer sur compte" + +msgid "Payment Error" +msgstr "Erreur de paiement" + +msgid "Payment History" +msgstr "Historique des paiements" + +msgid "Payment Method" +msgstr "Mode de paiement" + +msgid "Payment Reconciliation" +msgstr "Rapprochement des paiements" + +msgid "Payment Total:" +msgstr "Total du paiement :" + +msgid "Payment added successfully" +msgstr "Paiement ajouté avec succès" + +msgid "Payments" +msgstr "Paiements" + +msgid "Payments:" +msgstr "Paiements :" + +msgid "Percentage" +msgstr "Pourcentage" + +msgid "Percentage (%)" +msgstr "Pourcentage (%)" + +msgid "" +"Periodically sync stock quantities from server in the background (runs in " +"Web Worker)" +msgstr "" +"Synchroniser périodiquement les quantités de stock depuis le serveur en " +"arrière-plan (exécuté dans un Web Worker)" + +msgid "Permanently delete all {0} draft invoices?" +msgstr "Supprimer définitivement les {0} factures brouillon ?" + +msgid "Permanently delete this draft invoice?" +msgstr "Supprimer définitivement cette facture brouillon ?" + +msgid "Permission Denied" +msgstr "Permission refusée" + +msgid "Permission Required" +msgstr "Permission requise" + +msgid "Please add items to cart before proceeding to payment" +msgstr "Veuillez ajouter des articles au panier avant de procéder au paiement" + +msgid "Please enter a coupon code" +msgstr "Veuillez entrer un code coupon" + +msgid "Please enter a coupon name" +msgstr "Veuillez entrer un nom de coupon" + +msgid "Please enter a promotion name" +msgstr "Veuillez entrer un nom de promotion" + +msgid "Please enter a valid discount amount" +msgstr "Veuillez entrer un montant de remise valide" + +msgid "Please enter a valid discount percentage (1-100)" +msgstr "Veuillez entrer un pourcentage de remise valide (1-100)" + +msgid "Please enter all closing amounts" +msgstr "Veuillez saisir tous les montants de clôture" + +msgid "Please open a shift to start making sales" +msgstr "Veuillez ouvrir une session pour commencer à faire des ventes" + +msgid "Please select a POS Profile to configure settings" +msgstr "Veuillez sélectionner un profil POS pour configurer les paramètres" + +msgid "Please select a customer" +msgstr "Veuillez sélectionner un client" + +msgid "Please select a customer before proceeding" +msgstr "Veuillez sélectionner un client avant de continuer" + +msgid "Please select a customer for gift card" +msgstr "Veuillez sélectionner un client pour la carte cadeau" + +msgid "Please select a discount type" +msgstr "Veuillez sélectionner un type de remise" + +msgid "Please select at least one variant" +msgstr "Veuillez sélectionner au moins une variante" + +msgid "Please select at least one {0}" +msgstr "Veuillez sélectionner au moins un {0}" + +msgid "Please wait while we clear your cached data" +msgstr "Veuillez patienter pendant que nous vidons vos données en cache" + +msgid "Points applied: {0}. Please pay remaining {1} with {2}" +msgstr "Points appliqués : {0}. Veuillez payer le reste {1} avec {2}" + +msgid "Previous" +msgstr "Précédent" + +msgid "Price" +msgstr "Prix" + +msgid "Pricing & Discounts" +msgstr "Tarification et remises" + +msgid "Pricing Error" +msgstr "Erreur de tarification" + +msgid "Pricing Rule" +msgstr "Règle de tarification" + +msgid "Print" +msgstr "Imprimer" + +msgid "Print Invoice" +msgstr "Imprimer la facture" + +msgid "Print Receipt" +msgstr "Imprimer le reçu" + +msgid "Print draft" +msgstr "Imprimer le brouillon" + +msgid "Print without confirmation" +msgstr "Imprimer sans confirmation" + +msgid "Proceed to payment" +msgstr "Procéder au paiement" + +msgid "Process Return" +msgstr "Traiter le retour" + +msgid "Process return invoice" +msgstr "Traiter la facture de retour" + +msgid "Processing..." +msgstr "Traitement en cours..." + +msgid "Product" +msgstr "Produit" + +msgid "Products" +msgstr "Produits" + +msgid "Promotion & Coupon Management" +msgstr "Gestion des promotions et coupons" + +msgid "Promotion Name" +msgstr "Nom de la promotion" + +msgid "Promotion created successfully" +msgstr "Promotion créée avec succès" + +msgid "Promotion deleted successfully" +msgstr "Promotion supprimée avec succès" + +msgid "Promotion saved successfully" +msgstr "Promotion enregistrée avec succès" + +msgid "Promotion status updated successfully" +msgstr "Statut de la promotion mis à jour avec succès" + +msgid "Promotion updated successfully" +msgstr "Promotion mise à jour avec succès" + +msgid "Promotional" +msgstr "Promotionnel" + +msgid "Promotional Scheme" +msgstr "Règle promotionnelle" + +msgid "Promotional Schemes" +msgstr "Règles promotionnelles" + +msgid "Promotions" +msgstr "Promotions" + +msgid "Qty" +msgstr "Qté" + +msgid "Qty: {0}" +msgstr "Qté : {0}" + +msgid "Quantity" +msgstr "Quantité" + +msgid "Quick amounts for {0}" +msgstr "Montants rapides pour {0}" + +msgid "Rate" +msgstr "Taux" + +msgid "Read-only: Edit in ERPNext" +msgstr "Lecture seule : Modifier dans ERPNext" + +msgid "Ready" +msgstr "Prêt" + +msgid "Recent & Frequent" +msgstr "Récents et fréquents" + +msgid "Referral Code" +msgstr "Code de parrainage" + +msgid "Refresh" +msgstr "Actualiser" + +msgid "Refresh Items" +msgstr "Actualiser les articles" + +msgid "Refresh items list" +msgstr "Actualiser la liste des articles" + +msgid "Refreshing items..." +msgstr "Actualisation des articles..." + +msgid "Refreshing..." +msgstr "Actualisation..." + +msgid "Refund Payment Methods" +msgstr "Modes de paiement pour remboursement" + +msgid "Refundable Amount:" +msgstr "Montant remboursable :" + +msgid "Remaining" +msgstr "Restant" + +msgid "Remarks" +msgstr "Remarques" + +msgid "Remove" +msgstr "Supprimer" + +msgid "Remove all {0} items from cart?" +msgstr "Supprimer les {0} articles du panier ?" + +msgid "Remove customer" +msgstr "Supprimer le client" + +msgid "Remove item" +msgstr "Supprimer l'article" + +msgid "Remove serial" +msgstr "Supprimer le numéro de série" + +msgid "Remove {0}" +msgstr "Supprimer {0}" + +msgid "Reports" +msgstr "Rapports" + +msgid "Requested quantity ({0}) exceeds available stock ({1})" +msgstr "La quantité demandée ({0}) dépasse le stock disponible ({1})" + +msgid "Required" +msgstr "Requis" + +msgid "Resume Shift" +msgstr "Reprendre la session" + +msgid "Return" +msgstr "Retour" + +msgid "Return Against:" +msgstr "Retour contre :" + +msgid "Return Invoice" +msgstr "Facture de retour" + +msgid "Return Qty:" +msgstr "Qté retournée :" + +msgid "Return Reason" +msgstr "Motif du retour" + +msgid "Return Summary" +msgstr "Résumé du retour" + +msgid "Return Value:" +msgstr "Valeur de retour :" + +msgid "Return against {0}" +msgstr "Retour contre {0}" + +msgid "Return invoice {0} created successfully" +msgstr "Facture de retour {0} créée avec succès" + +msgid "Return invoices will appear here" +msgstr "Les factures de retour apparaîtront ici" + +msgid "Returns" +msgstr "Retours" + +msgid "Rule" +msgstr "Règle" + +msgid "Sale" +msgstr "Vente" + +msgid "Sales Controls" +msgstr "Contrôles des ventes" + +msgid "Sales Invoice" +msgstr "Facture de vente" + +msgid "Sales Management" +msgstr "Gestion des ventes" + +msgid "Sales Operations" +msgstr "Opérations de vente" + +msgid "Sales Order" +msgstr "Commande client" + +msgid "Save" +msgstr "Enregistrer" + +msgid "Save Changes" +msgstr "Enregistrer les modifications" + +msgid "Save invoices as drafts to continue later" +msgstr "Enregistrer les factures en brouillon pour continuer plus tard" + +msgid "Save these filters as..." +msgstr "Enregistrer ces filtres sous..." + +msgid "Saved Filters" +msgstr "Filtres enregistrés" + +msgid "Scanner ON - Enable Auto for automatic addition" +msgstr "Scanneur ACTIVÉ - Activez Auto pour l'ajout automatique" + +msgid "Scheme" +msgstr "Règle" + +msgid "Search Again" +msgstr "Rechercher à nouveau" + +msgid "Search and select a customer for the transaction" +msgstr "Rechercher et sélectionner un client pour la transaction" + +msgid "Search by email: {0}" +msgstr "Recherche par email : {0}" + +msgid "Search by invoice number or customer name..." +msgstr "Rechercher par numéro de facture ou nom du client..." + +msgid "Search by invoice number or customer..." +msgstr "Rechercher par numéro de facture ou client..." + +msgid "Search by item code, name or scan barcode" +msgstr "Rechercher par code article, nom ou scanner le code-barres" + +msgid "Search by item name, code, or scan barcode" +msgstr "Rechercher par nom d'article, code ou scanner le code-barres" + +msgid "Search by name or code..." +msgstr "Rechercher par nom ou code..." + +msgid "Search by phone: {0}" +msgstr "Recherche par téléphone : {0}" + +msgid "Search countries..." +msgstr "Rechercher des pays..." + +msgid "Search country or code..." +msgstr "Rechercher un pays ou un code..." + +msgid "Search coupons..." +msgstr "Rechercher des coupons..." + +msgid "Search customer by name or mobile..." +msgstr "Rechercher un client par nom ou mobile..." + +msgid "Search customer in cart" +msgstr "Rechercher un client dans le panier" + +msgid "Search customers" +msgstr "Rechercher des clients" + +msgid "Search customers by name, mobile, or email..." +msgstr "Rechercher des clients par nom, mobile ou email..." + +msgid "Search customers..." +msgstr "Rechercher des clients..." + +msgid "Search for an item" +msgstr "Rechercher un article" + +msgid "Search for items across warehouses" +msgstr "Rechercher des articles dans tous les entrepôts" + +msgid "Search invoices..." +msgstr "Rechercher des factures..." + +msgid "Search item... (min 2 characters)" +msgstr "Rechercher un article... (min 2 caractères)" + +msgid "Search items" +msgstr "Rechercher des articles" + +msgid "Search items by name or code..." +msgstr "Rechercher des articles par nom ou code..." + +msgid "Search or add customer..." +msgstr "Rechercher ou ajouter un client..." + +msgid "Search products..." +msgstr "Rechercher des produits..." + +msgid "Search promotions..." +msgstr "Rechercher des promotions..." + +msgid "Search sales person..." +msgstr "Rechercher un vendeur..." + +msgid "Search serial numbers..." +msgstr "Rechercher des numéros de série..." + +msgid "Search..." +msgstr "Rechercher..." + +msgid "Searching..." +msgstr "Recherche en cours..." + +msgid "Sec" +msgstr "Sec" + +msgid "Select" +msgstr "Sélectionner" + +msgid "Select All" +msgstr "Tout sélectionner" + +msgid "Select Batch Number" +msgstr "Sélectionner un numéro de lot" + +msgid "Select Batch Numbers" +msgstr "Sélectionner des numéros de lot" + +msgid "Select Brand" +msgstr "Sélectionner une marque" + +msgid "Select Customer" +msgstr "Sélectionner un client" + +msgid "Select Customer Group" +msgstr "Sélectionner un groupe de clients" + +msgid "Select Invoice to Return" +msgstr "Sélectionner une facture à retourner" + +msgid "Select Item" +msgstr "Sélectionner un article" + +msgid "Select Item Group" +msgstr "Sélectionner un groupe d'articles" + +msgid "Select Item Variant" +msgstr "Sélectionner une variante d'article" + +msgid "Select Items to Return" +msgstr "Sélectionner les articles à retourner" + +msgid "Select POS Profile" +msgstr "Sélectionner un profil POS" + +msgid "Select Serial Numbers" +msgstr "Sélectionner des numéros de série" + +msgid "Select Territory" +msgstr "Sélectionner un territoire" + +msgid "Select Unit of Measure" +msgstr "Sélectionner une unité de mesure" + +msgid "Select Variants" +msgstr "Sélectionner des variantes" + +msgid "Select a Coupon" +msgstr "Sélectionner un coupon" + +msgid "Select a Promotion" +msgstr "Sélectionner une promotion" + +msgid "Select a payment method" +msgstr "Sélectionner un mode de paiement" + +msgid "Select a payment method to start" +msgstr "Sélectionner un mode de paiement pour commencer" + +msgid "Select items to start or choose a quick action" +msgstr "Sélectionner des articles pour commencer ou choisir une action rapide" + +msgid "Select method..." +msgstr "Sélectionner une méthode..." + +msgid "Select option" +msgstr "Sélectionner une option" + +msgid "Select the unit of measure for this item:" +msgstr "Sélectionner l'unité de mesure pour cet article :" + +msgid "Select {0}" +msgstr "Sélectionner {0}" + +msgid "Selected" +msgstr "Sélectionné" + +msgid "Serial No:" +msgstr "N° de série :" + +msgid "Serial Numbers" +msgstr "Numéros de série" + +msgid "Server Error" +msgstr "Erreur serveur" + +msgid "Settings" +msgstr "Paramètres" + +msgid "Settings saved and warehouse updated. Reloading stock..." +msgstr "Paramètres enregistrés et entrepôt mis à jour. Rechargement du stock..." + +msgid "Settings saved successfully" +msgstr "Paramètres enregistrés avec succès" + +msgid "" +"Settings saved, warehouse updated, and tax mode changed. Cart will be " +"recalculated." +msgstr "" +"Paramètres enregistrés, entrepôt mis à jour et mode de taxe modifié. Le " +"panier sera recalculé." + +msgid "Shift Open" +msgstr "Session ouverte" + +msgid "Shift Open:" +msgstr "Session ouverte :" + +msgid "Shift Status" +msgstr "Statut de la session" + +msgid "Shift closed successfully" +msgstr "Session clôturée avec succès" + +msgid "Shift is Open" +msgstr "La session est ouverte" + +msgid "Shift start" +msgstr "Début de session" + +msgid "Short {0}" +msgstr "Déficit de {0}" + +msgid "Show discounts as percentages" +msgstr "Afficher les remises en pourcentages" + +msgid "Show exact totals without rounding" +msgstr "Afficher les totaux exacts sans arrondi" + +msgid "Show password" +msgstr "Afficher le mot de passe" + +msgid "Sign Out" +msgstr "Déconnexion" + +msgid "Sign Out Confirmation" +msgstr "Confirmation de déconnexion" + +msgid "Sign Out Only" +msgstr "Se déconnecter uniquement" + +msgid "Sign Out?" +msgstr "Se déconnecter ?" + +msgid "Sign in" +msgstr "Se connecter" + +msgid "Sign in to POS Next" +msgstr "Se connecter à POS Next" + +msgid "Sign out" +msgstr "Se déconnecter" + +msgid "Signing Out..." +msgstr "Déconnexion en cours..." + +msgid "Signing in..." +msgstr "Connexion en cours..." + +msgid "Signing out..." +msgstr "Déconnexion en cours..." + +msgid "Silent Print" +msgstr "Impression silencieuse" + +msgid "Skip & Sign Out" +msgstr "Ignorer et se déconnecter" + +msgid "Snooze for 7 days" +msgstr "Reporter de 7 jours" + +msgid "Some data may not be available offline" +msgstr "Certaines données peuvent ne pas être disponibles hors ligne" + +msgid "Sort Items" +msgstr "Trier les articles" + +msgid "Sort items" +msgstr "Trier les articles" + +msgid "Sorted by {0} A-Z" +msgstr "Trié par {0} A-Z" + +msgid "Sorted by {0} Z-A" +msgstr "Trié par {0} Z-A" + +msgid "Special Offer" +msgstr "Offre spéciale" + +msgid "Specific Items" +msgstr "Articles spécifiques" + +msgid "Start Sale" +msgstr "Démarrer la vente" + +msgid "Start typing to see suggestions" +msgstr "Commencez à taper pour voir les suggestions" + +msgid "Status:" +msgstr "Statut :" + +msgid "Status: {0}" +msgstr "Statut : {0}" + +msgid "Stock Controls" +msgstr "Contrôles de stock" + +msgid "Stock Lookup" +msgstr "Recherche de stock" + +msgid "Stock Management" +msgstr "Gestion des stocks" + +msgid "Stock Validation Policy" +msgstr "Politique de validation du stock" + +msgid "Stock unit" +msgstr "Unité de stock" + +msgid "Stock: {0}" +msgstr "Stock : {0}" + +msgid "Subtotal" +msgstr "Sous-total" + +msgid "Subtotal (before tax)" +msgstr "Sous-total (avant taxes)" + +msgid "Subtotal:" +msgstr "Sous-total :" + +msgid "Summary" +msgstr "Résumé" + +msgid "Switch to grid view" +msgstr "Passer en vue grille" + +msgid "Switch to list view" +msgstr "Passer en vue liste" + +msgid "Switched to {0}. Stock quantities refreshed." +msgstr "Changé vers {0}. Quantités en stock actualisées." + +msgid "Sync All" +msgstr "Tout synchroniser" + +msgid "Sync Interval (seconds)" +msgstr "Intervalle de synchronisation (secondes)" + +msgid "Syncing" +msgstr "Synchronisation" + +msgid "Syncing catalog in background... {0} items cached" +msgstr "Synchronisation du catalogue en arrière-plan... {0} articles en cache" + +msgid "Syncing..." +msgstr "Synchronisation..." + +msgid "System Test" +msgstr "Test système" + +msgid "TAX INVOICE" +msgstr "FACTURE AVEC TVA" + +msgid "TOTAL:" +msgstr "TOTAL :" + +msgid "Tabs" +msgstr "Onglets" + +msgid "Tax" +msgstr "Taxe" + +msgid "Tax Collected" +msgstr "Taxes collectées" + +msgid "Tax Configuration Error" +msgstr "Erreur de configuration de taxe" + +msgid "Tax Inclusive" +msgstr "TTC (toutes taxes comprises)" + +msgid "Tax Summary" +msgstr "Récapitulatif des taxes" + +msgid "Tax mode updated. Cart recalculated with new tax settings." +msgstr "" +"Mode de taxe mis à jour. Panier recalculé avec les nouveaux paramètres de " +"taxe." + +msgid "Tax:" +msgstr "Taxe :" + +msgid "Taxes:" +msgstr "Taxes :" + +msgid "Technical: {0}" +msgstr "Technique : {0}" + +msgid "Territory" +msgstr "Territoire" + +msgid "Test Connection" +msgstr "Tester la connexion" + +msgid "Thank you for your business!" +msgstr "Merci pour votre achat !" + +msgid "The coupon code you entered is not valid" +msgstr "Le code coupon que vous avez saisi n'est pas valide" + +msgid "This Month" +msgstr "Ce mois-ci" + +msgid "This Week" +msgstr "Cette semaine" + +msgid "This action cannot be undone." +msgstr "Cette action ne peut pas être annulée." + +msgid "This combination is not available" +msgstr "Cette combinaison n'est pas disponible" + +msgid "This coupon requires a minimum purchase of " +msgstr "Ce coupon nécessite un achat minimum de " + +msgid "" +"This invoice was paid on account (credit sale). The return will reverse the " +"accounts receivable balance. No cash refund will be processed." +msgstr "" +"Cette facture a été payée sur compte (vente à crédit). Le retour annulera " +"le solde des comptes clients. Aucun remboursement en espèces ne sera " +"effectué." + +msgid "This invoice was partially paid. The refund will be split proportionally." +msgstr "" +"Cette facture a été partiellement payée. Le remboursement sera réparti " +"proportionnellement." + +msgid "This invoice was sold on credit. The customer owes the full amount." +msgstr "Cette facture a été vendue à crédit. Le client doit le montant total." + +msgid "This item is out of stock in all warehouses" +msgstr "Cet article est en rupture de stock dans tous les entrepôts" + +msgid "" +"This item template <strong>{0}<strong> has no variants created " +"yet." +msgstr "" +"Ce modèle d'article <strong>{0}<strong> n'a pas encore de " +"variantes créées." + +msgid "" +"This return was against a Pay on Account invoice. The accounts receivable " +"balance has been reversed. No cash refund was processed." +msgstr "" +"Ce retour concernait une facture à crédit. Le solde des comptes clients a " +"été annulé. Aucun remboursement en espèces n'a été effectué." + +msgid "" +"This will also delete all associated pricing rules. This action cannot be " +"undone." +msgstr "" +"Cela supprimera également toutes les règles de tarification associées. " +"Cette action ne peut pas être annulée." + +msgid "" +"This will clear all cached items, customers, and stock data. Invoices and " +"drafts will be preserved." +msgstr "" +"Cela supprimera tous les articles, clients et données de stock en cache. " +"Les factures et brouillons seront préservés." + +msgid "Time" +msgstr "Heure" + +msgid "Times Used" +msgstr "Nombre d'utilisations" + +msgid "Timestamp: {0}" +msgstr "Horodatage : {0}" + +msgid "Title: {0}" +msgstr "Titre : {0}" + +msgid "To Date" +msgstr "Date de fin" + +msgid "To create variants:" +msgstr "Pour créer des variantes :" + +msgid "Today" +msgstr "Aujourd'hui" + +msgid "Total" +msgstr "Total" + +msgid "Total Actual" +msgstr "Total réel" + +msgid "Total Amount" +msgstr "Montant total" + +msgid "Total Available" +msgstr "Total disponible" + +msgid "Total Expected" +msgstr "Total attendu" + +msgid "Total Paid:" +msgstr "Total payé :" + +msgid "Total Quantity" +msgstr "Quantité totale" + +msgid "Total Refund:" +msgstr "Remboursement total :" + +msgid "Total Tax Collected" +msgstr "Total des taxes collectées" + +msgid "Total Variance" +msgstr "Écart total" + +msgid "Total:" +msgstr "Total :" + +msgid "Try Again" +msgstr "Réessayer" + +msgid "Try a different search term" +msgstr "Essayez un autre terme de recherche" + +msgid "Try a different search term or create a new customer" +msgstr "Essayez un autre terme de recherche ou créez un nouveau client" + +msgid "Type" +msgstr "Type" + +msgid "Type to search items..." +msgstr "Tapez pour rechercher des articles..." + +msgid "Type: {0}" +msgstr "Type : {0}" + +msgid "UOM" +msgstr "Unité" + +msgid "Unable to connect to server. Check your internet connection." +msgstr "Impossible de se connecter au serveur. Vérifiez votre connexion internet." + +msgid "Unit changed to {0}" +msgstr "Unité changée en {0}" + +msgid "Unit of Measure" +msgstr "Unité de mesure" + +msgid "Unknown" +msgstr "Inconnu" + +msgid "Unlimited" +msgstr "Illimité" + +msgid "Unpaid" +msgstr "Impayé" + +msgid "Unpaid ({0})" +msgstr "Impayé ({0})" + +msgid "Until {0}" +msgstr "Jusqu'au {0}" + +msgid "Update" +msgstr "Mettre à jour" + +msgid "Update Item" +msgstr "Mettre à jour l'article" + +msgid "Update the promotion details below" +msgstr "Mettez à jour les détails de la promotion ci-dessous" + +msgid "Use Percentage Discount" +msgstr "Utiliser la remise en pourcentage" + +msgid "Used: {0}" +msgstr "Utilisé : {0}" + +msgid "Used: {0}/{1}" +msgstr "Utilisé : {0}/{1}" + +msgid "User ID / Email" +msgstr "Identifiant / E-mail" + +msgid "User: {0}" +msgstr "Utilisateur : {0}" + +msgid "Valid From" +msgstr "Valide à partir du" + +msgid "Valid Until" +msgstr "Valide jusqu'au" + +msgid "Validation Error" +msgstr "Erreur de validation" + +msgid "Validity & Usage" +msgstr "Validité et utilisation" + +msgid "View" +msgstr "Voir" + +msgid "View Details" +msgstr "Voir les détails" + +msgid "View Shift" +msgstr "Voir la session" + +msgid "View all available offers" +msgstr "Voir toutes les offres disponibles" + +msgid "View and update coupon information" +msgstr "Voir et mettre à jour les informations du coupon" + +msgid "View cart" +msgstr "Voir le panier" + +msgid "View cart with {0} items" +msgstr "Voir le panier avec {0} articles" + +msgid "View current shift details" +msgstr "Voir les détails de la session en cours" + +msgid "View draft invoices" +msgstr "Voir les brouillons de factures" + +msgid "View invoice history" +msgstr "Voir l'historique des factures" + +msgid "View items" +msgstr "Voir les articles" + +msgid "View pricing rule details (read-only)" +msgstr "Voir les détails de la règle de tarification (lecture seule)" + +msgid "Walk-in Customer" +msgstr "Client de passage" + +msgid "Warehouse" +msgstr "Entrepôt" + +msgid "Warehouse Selection" +msgstr "Sélection d'entrepôt" + +msgid "Warehouse not set" +msgstr "Entrepôt non défini" + +msgid "Warehouse updated but failed to reload stock. Please refresh manually." +msgstr "" +"Entrepôt mis à jour mais échec du rechargement du stock. Veuillez " +"actualiser manuellement." + +msgid "Welcome to POS Next" +msgstr "Bienvenue sur POS Next" + +msgid "Welcome to POS Next!" +msgstr "Bienvenue sur POS Next !" + +msgid "" +"When enabled, displayed prices include tax. When disabled, tax is " +"calculated separately. Changes apply immediately to your cart when you save." +msgstr "" +"Lorsqu'activé, les prix affichés incluent les taxes. Lorsque désactivé, les " +"taxes sont calculées séparément. Les modifications s'appliquent " +"immédiatement à votre panier lors de l'enregistrement." + +msgid "Will apply when eligible" +msgstr "S'appliquera si éligible" + +msgid "Write Off Change" +msgstr "Passer en pertes la monnaie" + +msgid "Write off small change amounts" +msgstr "Passer en pertes les petits montants de monnaie" + +msgid "Yesterday" +msgstr "Hier" + +msgid "You can now start making sales" +msgstr "Vous pouvez maintenant commencer à faire des ventes" + +msgid "You have an active shift open. Would you like to:" +msgstr "Vous avez une session active ouverte. Souhaitez-vous :" + +msgid "" +"You have an open shift. Would you like to resume it or close it and open a " +"new one?" +msgstr "" +"Vous avez une session ouverte. Souhaitez-vous la reprendre ou la fermer et " +"en ouvrir une nouvelle ?" + +msgid "You have less than expected." +msgstr "Vous avez moins que prévu." + +msgid "You have more than expected." +msgstr "Vous avez plus que prévu." + +msgid "You need to open a shift before you can start making sales." +msgstr "Vous devez ouvrir une session avant de pouvoir commencer à vendre." + +msgid "You will be logged out of POS Next" +msgstr "Vous serez déconnecté de POS Next" + +msgid "Your Shift is Still Open!" +msgstr "Votre session est toujours ouverte !" + +msgid "Your cart is empty" +msgstr "Votre panier est vide" + +msgid "Your point of sale system is ready to use." +msgstr "Votre système de point de vente est prêt à l'emploi." + +msgid "discount ({0})" +msgstr "remise ({0})" + +msgid "e.g., 20" +msgstr "ex. 20" + +msgid "e.g., Summer Sale 2025" +msgstr "ex. Soldes d'été 2025" + +msgid "e.g., Summer Sale Coupon 2025" +msgstr "ex. Coupon soldes d'été 2025" + +msgid "in 1 warehouse" +msgstr "dans 1 entrepôt" + +msgid "in {0} warehouses" +msgstr "dans {0} entrepôts" + +msgid "of {0}" +msgstr "sur {0}" + +msgid "optional" +msgstr "optionnel" + +msgid "per {0}" +msgstr "par {0}" + +msgid "variant" +msgstr "variante" + +msgid "variants" +msgstr "variantes" + +msgid "{0} ({1}) added to cart" +msgstr "{0} ({1}) ajouté au panier" + +msgid "{0} - {1} of {2}" +msgstr "{0} - {1} sur {2}" + +msgid "{0} OFF" +msgstr "{0} de réduction" + +msgid "{0} Pending Invoice(s)" +msgstr "{0} facture(s) en attente" + +msgid "{0} added to cart" +msgstr "{0} ajouté au panier" + +msgid "{0} applied successfully" +msgstr "{0} appliqué avec succès" + +msgid "{0} created and selected" +msgstr "{0} créé et sélectionné" + +msgid "{0} failed" +msgstr "{0} échoué" + +msgid "{0} free item(s) included" +msgstr "{0} article(s) gratuit(s) inclus" + +msgid "{0} hours ago" +msgstr "il y a {0} heures" + +msgid "{0} invoice - {1} outstanding" +msgstr "{0} facture - {1} en attente" + +msgid "{0} invoice(s) failed to sync" +msgstr "{0} facture(s) n'ont pas pu être synchronisée(s)" + +msgid "{0} invoice(s) synced successfully" +msgstr "{0} facture(s) synchronisée(s) avec succès" + +msgid "{0} invoices" +msgstr "{0} factures" + +msgid "{0} invoices - {1} outstanding" +msgstr "{0} factures - {1} en attente" + +msgid "{0} item(s)" +msgstr "{0} article(s)" + +msgid "{0} item(s) selected" +msgstr "{0} article(s) sélectionné(s)" + +msgid "{0} items" +msgstr "{0} articles" + +msgid "{0} items found" +msgstr "{0} articles trouvés" + +msgid "{0} minutes ago" +msgstr "il y a {0} minutes" + +msgid "{0} of {1} customers" +msgstr "{0} sur {1} clients" + +msgid "{0} off {1}" +msgstr "{0} de réduction sur {1}" + +msgid "{0} paid" +msgstr "{0} payé" + +msgid "{0} returns" +msgstr "{0} retours" + +msgid "{0} selected" +msgstr "{0} sélectionné(s)" + +msgid "{0} settings applied immediately" +msgstr "{0} paramètres appliqués immédiatement" + +msgid "{0} transactions • {1}" +msgstr "{0} transactions • {1}" + +msgid "{0} updated" +msgstr "{0} mis à jour" + +msgid "{0}%" +msgstr "{0}%" + +msgid "{0}% OFF" +msgstr "{0}% de réduction" + +msgid "{0}% off {1}" +msgstr "{0}% de réduction sur {1}" + +msgid "{0}: maximum {1}" +msgstr "{0} : maximum {1}" + +msgid "{0}h {1}m" +msgstr "{0}h {1}m" + +msgid "{0}m" +msgstr "{0}m" + +msgid "{0}m ago" +msgstr "il y a {0}m" + +msgid "{0}s ago" +msgstr "il y a {0}s" + +msgid "~15 KB per sync cycle" +msgstr "~15 Ko par cycle de synchronisation" + +msgid "~{0} MB per hour" +msgstr "~{0} Mo par heure" + +msgid "• Use ↑↓ to navigate, Enter to select" +msgstr "• Utilisez ↑↓ pour naviguer, Entrée pour sélectionner" + +msgid "⚠️ Payment total must equal refund amount" +msgstr "⚠️ Le total du paiement doit égaler le montant du remboursement" + +msgid "⚠️ Payment total must equal refundable amount" +msgstr "⚠️ Le total du paiement doit égaler le montant remboursable" + +msgid "⚠️ {0} already returned" +msgstr "⚠️ {0} déjà retourné" + +msgid "✓ Balanced" +msgstr "✓ Équilibré" + +msgid "✓ Connection successful: {0}" +msgstr "✓ Connexion réussie : {0}" + +msgid "✓ Shift Closed" +msgstr "✓ Session fermée" + +msgid "✓ Shift closed successfully" +msgstr "✓ Session fermée avec succès" + +msgid "✗ Connection failed: {0}" +msgstr "✗ Échec de la connexion : {0}" + +#~ msgid "" +#~ "\"{0}\" cannot be added to cart. Bundle is out of stock. Allow Negative " +#~ "Stock is disabled." +#~ msgstr "" +#~ "\"{0}\" ne peut pas être ajouté au panier. Le lot est en rupture de stock. " +#~ "Le stock négatif n'est pas autorisé." + +#~ msgid "" +#~ "\"{0}\" cannot be added to cart. Item is out of stock. Allow Negative Stock " +#~ "is disabled." +#~ msgstr "" +#~ "\"{0}\" ne peut pas être ajouté au panier. L'article est en rupture de " +#~ "stock. Le stock négatif n'est pas autorisé." + +#~ msgid "" +#~ "\"{0}\" is not available in warehouse \"{1}\". Please select another " +#~ "warehouse." +#~ msgstr "" +#~ "\"{0}\" n'est pas disponible dans l'entrepôt \"{1}\". Veuillez sélectionner " +#~ "un autre entrepôt." + +#~ msgid "" +#~ "
🔒 " +#~ "These fields are protected and read-only.
To modify them, " +#~ "provide the Master Key above.
" +#~ msgstr "" +#~ "
🔒 " +#~ "Ces champs sont protégés et en lecture seule.
Pour les " +#~ "modifier, fournissez la clé maître ci-dessus.
" + +#~ msgid "" +#~ "
🔒 Protected " +#~ "Configuration:

• To disable branding, " +#~ "uncheck 'Enabled' and provide the Master Key
• To modify " +#~ "branding fields (text, name, URL, interval), provide the Master " +#~ "Key
• Master Key format: {\"key\": \"...\", \"phrase\": " +#~ "\"...\"}

⚠️ The Master Key is not stored in the system and " +#~ "must be kept secure.
📧 Contact BrainWise support if you've lost the " +#~ "key.
" +#~ msgstr "" +#~ "
🔒 Configuration protégée " +#~ ":

• Pour désactiver la marque, décochez " +#~ "'Activé' et fournissez la clé maître
• Pour modifier les champs " +#~ "de marque (texte, nom, URL, intervalle), fournissez la clé " +#~ "maître
• Format de la clé maître : {\"key\": \"...\", \"phrase\": " +#~ "\"...\"}

⚠️ La clé maître n'est pas stockée dans le système " +#~ "et doit être conservée en sécurité.
📧 Contactez le support BrainWise si " +#~ "vous avez perdu la clé.
" + +#~ msgid "Accept customer purchase orders" +#~ msgstr "Accepter les bons de commande client" + +#~ msgid "Account" +#~ msgstr "Compte" + +#~ msgid "Account Head" +#~ msgstr "Compte principal" + +#~ msgid "Accounting" +#~ msgstr "Comptabilité" + +#~ msgid "Accounts Manager" +#~ msgstr "Gestionnaire de comptes" + +#~ msgid "Accounts User" +#~ msgstr "Utilisateur comptable" + +#~ msgid "Actions" +#~ msgstr "Actions" + +#~ msgid "Add/Edit Coupon Conditions" +#~ msgstr "Ajouter/Modifier les conditions du coupon" + +#~ msgid "Administrator" +#~ msgstr "Administrateur" + +#~ msgid "Advanced Configuration" +#~ msgstr "Configuration avancée" + +#~ msgid "Advanced Settings" +#~ msgstr "Paramètres avancés" + +#~ msgid "Allow Change Posting Date" +#~ msgstr "Autoriser la modification de la date de comptabilisation" + +#~ msgid "Allow Create Sales Order" +#~ msgstr "Autoriser la création de commandes" + +#~ msgid "Allow Customer Purchase Order" +#~ msgstr "Autoriser les bons de commande client" + +#~ msgid "Allow Delete Offline Invoice" +#~ msgstr "Autoriser la suppression des factures hors ligne" + +#~ msgid "Allow Duplicate Customer Names" +#~ msgstr "Autoriser les noms de clients en double" + +#~ msgid "Allow Free Batch Return" +#~ msgstr "Autoriser le retour de lot libre" + +#~ msgid "Allow Print Draft Invoices" +#~ msgstr "Autoriser l'impression des brouillons de factures" + +#~ msgid "Allow Print Last Invoice" +#~ msgstr "Autoriser l'impression de la dernière facture" + +#~ msgid "Allow Return Without Invoice" +#~ msgstr "Autoriser le retour sans facture" + +#~ msgid "Allow Select Sales Order" +#~ msgstr "Autoriser la sélection de bon de commande" + +#~ msgid "Allow Submissions in Background Job" +#~ msgstr "Autoriser les soumissions en tâche de fond" + +#~ msgid "Allowed Languages" +#~ msgstr "Langues autorisées" + +#~ msgid "Amended From" +#~ msgstr "Modifié depuis" + +#~ msgid "Amount Details" +#~ msgstr "Détails du montant" + +#~ msgid "Apply For" +#~ msgstr "Appliquer pour" + +#~ msgid "Apply Rule On Brand" +#~ msgstr "Appliquer la règle sur la marque" + +#~ msgid "Apply Rule On Item Code" +#~ msgstr "Appliquer la règle sur le code article" + +#~ msgid "Apply Rule On Item Group" +#~ msgstr "Appliquer la règle sur le groupe d'articles" + +#~ msgid "Apply Type" +#~ msgstr "Type d'application" + +#~ msgid "Auto Apply" +#~ msgstr "Application automatique" + +#~ msgid "Auto Create Wallet" +#~ msgstr "Création automatique du portefeuille" + +#~ msgid "Auto Fetch Coupon Gifts" +#~ msgstr "Récupération automatique des cadeaux coupon" + +#~ msgid "Auto Set Delivery Charges" +#~ msgstr "Définir automatiquement les frais de livraison" + +#~ msgid "Auto-generated Pricing Rule for discount application" +#~ msgstr "Règle de tarification auto-générée pour l'application de remise" + +#~ msgid "Automatically apply eligible coupons" +#~ msgstr "Appliquer automatiquement les coupons éligibles" + +#~ msgid "Automatically calculate delivery fee" +#~ msgstr "Calculer automatiquement les frais de livraison" + +#~ msgid "" +#~ "Automatically convert earned loyalty points to wallet balance. Uses " +#~ "Conversion Factor from Loyalty Program (always enabled when loyalty program " +#~ "is active)" +#~ msgstr "" +#~ "Convertir automatiquement les points de fidélité acquis en solde de " +#~ "portefeuille. Utilise le facteur de conversion du programme de fidélité " +#~ "(toujours actif lorsque le programme de fidélité est actif)" + +#~ msgid "" +#~ "Automatically create wallet for new customers (always enabled when loyalty " +#~ "program is active)" +#~ msgstr "" +#~ "Créer automatiquement un portefeuille pour les nouveaux clients (toujours " +#~ "actif lorsque le programme de fidélité est actif)" + +#~ msgid "" +#~ "Automatically set taxes as included in item prices. When enabled, displayed " +#~ "prices include tax amounts." +#~ msgstr "" +#~ "Définir automatiquement les taxes comme incluses dans les prix des " +#~ "articles. Lorsque cette option est activée, les prix affichés incluent les " +#~ "montants de taxe." + +#~ msgid "Available Balance" +#~ msgstr "Solde disponible" + +#~ msgid "Balance Information" +#~ msgstr "Information sur le solde" + +#~ msgid "Balance available for redemption (after pending transactions)" +#~ msgstr "Solde disponible pour utilisation (après transactions en attente)" + +#~ msgid "BrainWise Branding" +#~ msgstr "Image de marque BrainWise" + +#~ msgid "Brand" +#~ msgstr "Marque" + +#~ msgid "Brand Name" +#~ msgstr "Nom de la marque" + +#~ msgid "Brand Text" +#~ msgstr "Texte de la marque" + +#~ msgid "Brand URL" +#~ msgstr "URL de la marque" + +#~ msgid "Branding Active" +#~ msgstr "Image de marque active" + +#~ msgid "Branding Disabled" +#~ msgstr "Image de marque désactivée" + +#~ msgid "Branding is always enabled unless you provide the Master Key to disable it" +#~ msgstr "" +#~ "L'image de marque est toujours activée sauf si vous fournissez la clé " +#~ "maître pour la désactiver" + +#~ msgid "Cancelled" +#~ msgstr "Annulé" + +#~ msgid "Cashier" +#~ msgstr "Caissier" + +#~ msgid "Check Interval (ms)" +#~ msgstr "Intervalle de vérification (ms)" + +#~ msgid "Closed" +#~ msgstr "Fermé" + +#~ msgid "Closing Amount" +#~ msgstr "Montant de clôture" + +#~ msgid "Convert Loyalty Points to Wallet" +#~ msgstr "Convertir les points de fidélité en portefeuille" + +#~ msgid "Cost Center" +#~ msgstr "Centre de coût" + +#~ msgid "Coupon Based" +#~ msgstr "Basé sur coupon" + +#~ msgid "Coupon Code Based" +#~ msgstr "Basé sur code coupon" + +#~ msgid "Coupon Description" +#~ msgstr "Description du coupon" + +#~ msgid "Coupon Valid Days" +#~ msgstr "Jours de validité du coupon" + +#~ msgid "Create Only Sales Order" +#~ msgstr "Créer uniquement un bon de commande" + +#~ msgid "Credit" +#~ msgstr "Crédit" + +#~ msgid "Current Balance" +#~ msgstr "Solde actuel" + +#~ msgid "Customer Settings" +#~ msgstr "Paramètres client" + +#~ msgid "Debit" +#~ msgstr "Débit" + +#~ msgid "Decimal Precision" +#~ msgstr "Précision décimale" + +#~ msgid "Default Card View" +#~ msgstr "Vue carte par défaut" + +#~ msgid "Default Loyalty Program" +#~ msgstr "Programme de fidélité par défaut" + +#~ msgid "Delete \"{0}\"?" +#~ msgstr "Supprimer \"{0}\" ?" + +#~ msgid "Delete offline saved invoices" +#~ msgstr "Supprimer les factures enregistrées hors ligne" + +#~ msgid "Delivery" +#~ msgstr "Livraison" + +#~ msgid "Description" +#~ msgstr "Description" + +#~ msgid "Details" +#~ msgstr "Détails" + +#~ msgid "Difference" +#~ msgstr "Différence" + +#~ msgid "" +#~ "Disabled: No sales person selection. Single: Select one sales person " +#~ "(100%). Multiple: Select multiple with allocation percentages." +#~ msgstr "" +#~ "Désactivé : Pas de sélection de vendeur. Simple : Sélectionner un vendeur " +#~ "(100%). Multiple : Sélectionner plusieurs avec pourcentages d'allocation." + +#~ msgid "Discount Percentage" +#~ msgstr "Pourcentage de remise" + +#~ msgid "Display Discount %" +#~ msgstr "Afficher le % de remise" + +#~ msgid "Display Discount Amount" +#~ msgstr "Afficher le montant de la remise" + +#~ msgid "Display Item Code" +#~ msgstr "Afficher le code article" + +#~ msgid "Display Settings" +#~ msgstr "Paramètres d'affichage" + +#~ msgid "Display customer balance on screen" +#~ msgstr "Afficher le solde client à l'écran" + +#~ msgid "Don't create invoices, only orders" +#~ msgstr "Ne pas créer de factures, uniquement des commandes" + +#~ msgid "Draft" +#~ msgstr "Brouillon" + +#~ msgid "ERPNext Coupon Code" +#~ msgstr "Code coupon ERPNext" + +#~ msgid "ERPNext Integration" +#~ msgstr "Intégration ERPNext" + +#~ msgid "Email ID" +#~ msgstr "Adresse email" + +#~ msgid "Enable Loyalty Program" +#~ msgstr "Activer le programme de fidélité" + +#~ msgid "Enable Server Validation" +#~ msgstr "Activer la validation serveur" + +#~ msgid "Enable Silent Print" +#~ msgstr "Activer l'impression silencieuse" + +#~ msgid "Enable cart-wide discount" +#~ msgstr "Activer la remise sur tout le panier" + +#~ msgid "Enable custom POS settings for this profile" +#~ msgstr "Activer les paramètres POS personnalisés pour ce profil" + +#~ msgid "Enable delivery fee calculation" +#~ msgstr "Activer le calcul des frais de livraison" + +#~ msgid "Enable loyalty program features for this POS profile" +#~ msgstr "Activer les fonctionnalités du programme de fidélité pour ce profil POS" + +#~ msgid "Enable sales order creation" +#~ msgstr "Activer la création de bons de commande" + +#~ msgid "" +#~ "Enable selling items even when stock reaches zero or below. Integrates with " +#~ "ERPNext negative stock settings." +#~ msgstr "" +#~ "Activer la vente d'articles même lorsque le stock atteint zéro ou moins. " +#~ "S'intègre aux paramètres de stock négatif d'ERPNext." + +#~ msgid "Enabled" +#~ msgstr "Activé" + +#~ msgid "Encrypted Signature" +#~ msgstr "Signature chiffrée" + +#~ msgid "Encryption Key" +#~ msgstr "Clé de chiffrement" + +#~ msgid "Expected Amount" +#~ msgstr "Montant attendu" + +#~ msgid "Failed" +#~ msgstr "Échoué" + +#~ msgid "Failed to save current cart. Draft loading cancelled to prevent data loss." +#~ msgstr "" +#~ "Échec de l'enregistrement du panier actuel. Chargement du brouillon annulé " +#~ "pour éviter la perte de données." + +#~ msgid "" +#~ "Failed to sync invoice for {0}\\n" +#~ "\\n" +#~ "${1}\\n" +#~ "\\n" +#~ "You can delete this invoice from the offline queue if you don't need it." +#~ msgstr "" +#~ "Échec de la synchronisation de la facture pour {0}\\n" +#~ "\\n" +#~ "${1}\\n" +#~ "\\n" +#~ "Vous pouvez supprimer cette facture de la file d'attente hors ligne si vous " +#~ "n'en avez pas besoin." + +#~ msgid "General Settings" +#~ msgstr "Paramètres généraux" + +#~ msgid "Give Item" +#~ msgstr "Donner l'article" + +#~ msgid "Give Item Row ID" +#~ msgstr "ID de ligne de l'article à donner" + +#~ msgid "Give Product" +#~ msgstr "Donner le produit" + +#~ msgid "Given Quantity" +#~ msgstr "Quantité donnée" + +#~ msgid "Help" +#~ msgstr "Aide" + +#~ msgid "Hide Expected Amount" +#~ msgstr "Masquer le montant attendu" + +#~ msgid "Hide expected cash amount in closing" +#~ msgstr "Masquer le montant espèces attendu à la clôture" + +#~ msgid "Integrity check interval in milliseconds" +#~ msgstr "Intervalle de vérification d'intégrité en millisecondes" + +#~ msgid "Invalid Master Key" +#~ msgstr "Clé maître invalide" + +#~ msgid "Invoice Amount" +#~ msgstr "Montant de la facture" + +#~ msgid "Invoice Currency" +#~ msgstr "Devise de la facture" + +#~ msgid "Item Price" +#~ msgstr "Prix de l'article" + +#~ msgid "Item Rate Should Less Then" +#~ msgstr "Le taux de l'article doit être inférieur à" + +#~ msgid "Last Validation" +#~ msgstr "Dernière validation" + +#~ msgid "Limit search results for performance" +#~ msgstr "Limiter les résultats de recherche pour la performance" + +#~ msgid "Linked ERPNext Coupon Code for accounting integration" +#~ msgstr "Code coupon ERPNext lié pour l'intégration comptable" + +#~ msgid "Linked Invoices" +#~ msgstr "Factures liées" + +#~ msgid "Localization" +#~ msgstr "Localisation" + +#~ msgid "Log Tampering Attempts" +#~ msgstr "Journaliser les tentatives de falsification" + +#~ msgid "Loyalty Credit" +#~ msgstr "Crédit de fidélité" + +#~ msgid "Loyalty Point" +#~ msgstr "Point de fidélité" + +#~ msgid "Loyalty Point Scheme" +#~ msgstr "Programme de points de fidélité" + +#~ msgid "Loyalty Points" +#~ msgstr "Points de fidélité" + +#~ msgid "Loyalty Program" +#~ msgstr "Programme de fidélité" + +#~ msgid "Loyalty program for this POS profile" +#~ msgstr "Programme de fidélité pour ce profil POS" + +#~ msgid "Manual Adjustment" +#~ msgstr "Ajustement manuel" + +#~ msgid "Master Key (JSON)" +#~ msgstr "Clé maître (JSON)" + +#~ msgid "Master Key Help" +#~ msgstr "Aide sur la clé maître" + +#~ msgid "Master Key Required" +#~ msgstr "Clé maître requise" + +#~ msgid "Max Amount" +#~ msgstr "Montant maximum" + +#~ msgid "Max Discount Percentage Allowed" +#~ msgstr "Pourcentage de remise maximum autorisé" + +#~ msgid "Max Quantity" +#~ msgstr "Quantité maximum" + +#~ msgid "Maximum discount percentage (enforced in UI)" +#~ msgstr "Pourcentage de remise maximum (appliqué dans l'interface)" + +#~ msgid "Maximum discount that can be applied" +#~ msgstr "Remise maximum applicable" + +#~ msgid "Maximum number of search results" +#~ msgstr "Nombre maximum de résultats de recherche" + +#~ msgid "Min Amount" +#~ msgstr "Montant minimum" + +#~ msgid "Miscellaneous" +#~ msgstr "Divers" + +#~ msgid "Mobile NO" +#~ msgstr "N° de mobile" + +#~ msgid "Mode Of Payment" +#~ msgstr "Mode de paiement" + +#~ msgid "Mode of Payment" +#~ msgstr "Mode de paiement" + +#~ msgid "Mode of Payments" +#~ msgstr "Modes de paiement" + +#~ msgid "Modes of Payment" +#~ msgstr "Modes de paiement" + +#~ msgid "Modify invoice posting date" +#~ msgstr "Modifier la date de comptabilisation de la facture" + +#~ msgid "Multiple" +#~ msgstr "Multiple" + +#~ msgid "No Master Key Provided" +#~ msgstr "Aucune clé maître fournie" + +#~ msgid "No items found for \"{0}\"" +#~ msgstr "Aucun article trouvé pour \"{0}\"" + +#~ msgid "No results for \"{0}\"" +#~ msgstr "Aucun résultat pour \"{0}\"" + +#~ msgid "" +#~ "Not enough stock available in the warehouse.\n" +#~ "\n" +#~ "Please reduce the quantity or check stock availability." +#~ msgstr "" +#~ "Pas assez de stock disponible dans l'entrepôt.\n" +#~ "\n" +#~ "Veuillez réduire la quantité ou vérifier la disponibilité du stock." + +#~ msgid "Number of days the referee's coupon will be valid" +#~ msgstr "Nombre de jours de validité du coupon du parrainé" + +#~ msgid "Number of days the referrer's coupon will be valid after being generated" +#~ msgstr "Nombre de jours de validité du coupon du parrain après sa génération" + +#~ msgid "Number of decimal places for amounts" +#~ msgstr "Nombre de décimales pour les montants" + +#~ msgid "Offer" +#~ msgstr "Offre" + +#~ msgid "Offer Applied" +#~ msgstr "Offre appliquée" + +#~ msgid "Offer Name" +#~ msgstr "Nom de l'offre" + +#~ msgid "Offline ID" +#~ msgstr "ID hors ligne" + +#~ msgid "Offline Invoice Sync" +#~ msgstr "Synchronisation des factures hors ligne" + +#~ msgid "Open" +#~ msgstr "Ouvert" + +#~ msgid "Opening Amount" +#~ msgstr "Montant d'ouverture" + +#~ msgid "Opening Balance Details" +#~ msgstr "Détails du solde d'ouverture" + +#~ msgid "Operations" +#~ msgstr "Opérations" + +#~ msgid "POS Allowed Locale" +#~ msgstr "Langue POS autorisée" + +#~ msgid "POS Closing Shift" +#~ msgstr "Clôture de session POS" + +#~ msgid "POS Closing Shift Detail" +#~ msgstr "Détail de clôture de session POS" + +#~ msgid "POS Closing Shift Taxes" +#~ msgstr "Taxes de clôture de session POS" + +#~ msgid "POS Coupon" +#~ msgstr "Coupon POS" + +#~ msgid "POS Coupon Detail" +#~ msgstr "Détail du coupon POS" + +#~ msgid "POS Offer" +#~ msgstr "Offre POS" + +#~ msgid "POS Offer Detail" +#~ msgstr "Détail de l'offre POS" + +#~ msgid "POS Opening Shift" +#~ msgstr "Ouverture de session POS" + +#~ msgid "POS Opening Shift Detail" +#~ msgstr "Détail d'ouverture de session POS" + +#~ msgid "POS Payment Entry Reference" +#~ msgstr "Référence d'entrée de paiement POS" + +#~ msgid "POS Payments" +#~ msgstr "Paiements POS" + +#~ msgid "POS Profile" +#~ msgstr "Profil POS" + +#~ msgid "POS Transactions" +#~ msgstr "Transactions POS" + +#~ msgid "POS User" +#~ msgstr "Utilisateur POS" + +#~ msgid "POSNext Cashier" +#~ msgstr "Caissier POSNext" + +#~ msgid "Payment Entry" +#~ msgstr "Entrée de paiement" + +#~ msgid "Pending" +#~ msgstr "En attente" + +#~ msgid "Period End Date" +#~ msgstr "Date de fin de période" + +#~ msgid "Period Start Date" +#~ msgstr "Date de début de période" + +#~ msgid "Permit duplicate customer names" +#~ msgstr "Autoriser les noms de clients en double" + +#~ msgid "Please enter the Master Key in the field above to verify." +#~ msgstr "Veuillez saisir la clé maître dans le champ ci-dessus pour vérifier." + +#~ msgid "Posting Date" +#~ msgstr "Date de comptabilisation" + +#~ msgid "Price Discount Scheme " +#~ msgstr "Règle de remise sur prix " + +#~ msgid "Prices are now tax-exclusive. This will apply to new items added to cart." +#~ msgstr "" +#~ "Les prix sont maintenant hors taxes. Cela s'appliquera aux nouveaux " +#~ "articles ajoutés au panier." + +#~ msgid "Prices are now tax-inclusive. This will apply to new items added to cart." +#~ msgstr "" +#~ "Les prix sont maintenant TTC. Cela s'appliquera aux nouveaux articles " +#~ "ajoutés au panier." + +#~ msgid "Pricing & Display" +#~ msgstr "Tarification et affichage" + +#~ msgid "Print invoices before submission" +#~ msgstr "Imprimer les factures avant soumission" + +#~ msgid "Print without dialog" +#~ msgstr "Imprimer sans dialogue" + +#~ msgid "Printing" +#~ msgstr "Impression" + +#~ msgid "Process returns without invoice reference" +#~ msgstr "Traiter les retours sans référence de facture" + +#~ msgid "Product Discount Scheme" +#~ msgstr "Règle de remise produit" + +#~ msgid "Promo Type" +#~ msgstr "Type de promotion" + +#~ msgid "Promotion \"{0}\" already exists. Please use a different name." +#~ msgstr "La promotion \"{0}\" existe déjà. Veuillez utiliser un nom différent." + +#~ msgid "Protected fields unlocked. You can now make changes." +#~ msgstr "" +#~ "Champs protégés déverrouillés. Vous pouvez maintenant effectuer des " +#~ "modifications." + +#~ msgid "Qualifying Transaction / Item" +#~ msgstr "Transaction / Article éligible" + +#~ msgid "Quantity and Amount Conditions" +#~ msgstr "Conditions de quantité et de montant" + +#~ msgid "Receivable account for customer wallets" +#~ msgstr "Compte créances pour les portefeuilles clients" + +#~ msgid "Referee Rewards (Discount for New Customer Using Code)" +#~ msgstr "Récompenses parrainé (Remise pour le nouveau client utilisant le code)" + +#~ msgid "Reference DocType" +#~ msgstr "Type de document de référence" + +#~ msgid "Reference Name" +#~ msgstr "Nom de référence" + +#~ msgid "Referral Name" +#~ msgstr "Nom de parrainage" + +#~ msgid "Referrer Rewards (Gift Card for Customer Who Referred)" +#~ msgstr "Récompenses parrain (Carte cadeau pour le client qui a parrainé)" + +#~ msgid "Refund" +#~ msgstr "Remboursement" + +#~ msgid "Replace Cheapest Item" +#~ msgstr "Remplacer l'article le moins cher" + +#~ msgid "Replace Same Item" +#~ msgstr "Remplacer le même article" + +#~ msgid "Reprint the last invoice" +#~ msgstr "Réimprimer la dernière facture" + +#~ msgid "" +#~ "Required to disable branding OR modify any branding configuration fields. " +#~ "The key will NOT be stored after validation." +#~ msgstr "" +#~ "Requis pour désactiver le branding OU modifier les champs de configuration " +#~ "du branding. La clé ne sera PAS stockée après validation." + +#~ msgid "Return items without batch restriction" +#~ msgstr "Retourner les articles sans restriction de lot" + +#~ msgid "Row ID" +#~ msgstr "ID de ligne" + +#~ msgid "Sales Invoice Reference" +#~ msgstr "Référence de facture de vente" + +#~ msgid "Sales Manager" +#~ msgstr "Responsable des ventes" + +#~ msgid "Sales Master Manager" +#~ msgstr "Gestionnaire principal des ventes" + +#~ msgid "Sales Persons Selection" +#~ msgstr "Sélection des vendeurs" + +#~ msgid "Sales Summary" +#~ msgstr "Résumé des ventes" + +#~ msgid "Sales User" +#~ msgstr "Utilisateur des ventes" + +#~ msgid "Search Limit Number" +#~ msgstr "Limite de résultats de recherche" + +#~ msgid "Security" +#~ msgstr "Sécurité" + +#~ msgid "Security Settings" +#~ msgstr "Paramètres de sécurité" + +#~ msgid "Security Statistics" +#~ msgstr "Statistiques de sécurité" + +#~ msgid "Select from existing sales orders" +#~ msgstr "Sélectionner parmi les commandes client existantes" + +#~ msgid "" +#~ "Select languages available in the POS language switcher. If empty, defaults " +#~ "to English and Arabic." +#~ msgstr "" +#~ "Sélectionner les langues disponibles dans le sélecteur de langue POS. Si " +#~ "vide, anglais et arabe par défaut." + +#~ msgid "Series" +#~ msgstr "Série" + +#~ msgid "Set Posting Date" +#~ msgstr "Définir la date de comptabilisation" + +#~ msgid "Settings saved. Tax mode is now \"exclusive\". Cart will be recalculated." +#~ msgstr "" +#~ "Paramètres enregistrés. Le mode de taxe est maintenant \"hors taxes\". Le " +#~ "panier sera recalculé." + +#~ msgid "Settings saved. Tax mode is now \"inclusive\". Cart will be recalculated." +#~ msgstr "" +#~ "Paramètres enregistrés. Le mode de taxe est maintenant \"TTC\". Le panier " +#~ "sera recalculé." + +#~ msgid "Show Customer Balance" +#~ msgstr "Afficher le solde client" + +#~ msgid "Show discount as percentage" +#~ msgstr "Afficher la remise en pourcentage" + +#~ msgid "Show discount value" +#~ msgstr "Afficher la valeur de la remise" + +#~ msgid "Show item codes in the UI" +#~ msgstr "Afficher les codes articles dans l'interface" + +#~ msgid "Show items in card view by default" +#~ msgstr "Afficher les articles en vue carte par défaut" + +#~ msgid "Show quantity input field" +#~ msgstr "Afficher le champ de saisie de quantité" + +#~ msgid "Single" +#~ msgstr "Simple" + +#~ msgid "Source Account" +#~ msgstr "Compte source" + +#~ msgid "Source Type" +#~ msgstr "Type de source" + +#~ msgid "Status" +#~ msgstr "Statut" + +#~ msgid "Submit invoices in background" +#~ msgstr "Soumettre les factures en arrière-plan" + +#~ msgid "Synced" +#~ msgstr "Synchronisé" + +#~ msgid "Synced At" +#~ msgstr "Synchronisé le" + +#~ msgid "System Manager" +#~ msgstr "Administrateur système" + +#~ msgid "Tampering Attempts" +#~ msgstr "Tentatives de falsification" + +#~ msgid "Tampering Attempts: {0}" +#~ msgstr "Tentatives de falsification : {0}" + +#~ msgid "Taxes" +#~ msgstr "Taxes" + +#~ msgid "" +#~ "The master key you provided is invalid. Please check and try " +#~ "again.

Format: {\"key\": \"...\", \"phrase\": \"...\"}" +#~ msgstr "" +#~ "La clé maître que vous avez fournie est invalide. Veuillez vérifier et " +#~ "réessayer.

Format : {\"key\": \"...\", \"phrase\": " +#~ "\"...\"}" + +#~ msgid "These invoices will be submitted when you're back online" +#~ msgstr "Ces factures seront soumises lorsque vous serez de nouveau en ligne" + +#~ msgid "Title" +#~ msgstr "Titre" + +#~ msgid "" +#~ "To disable branding, you must provide the Master Key in JSON format: " +#~ "{\"key\": \"...\", \"phrase\": \"...\"}" +#~ msgstr "" +#~ "Pour désactiver la marque, vous devez fournir la clé maître au format JSON " +#~ ": {\"key\": \"...\", \"phrase\": \"...\"}" + +#~ msgid "Total Referrals" +#~ msgstr "Total des parrainages" + +#~ msgid "Transaction" +#~ msgstr "Transaction" + +#~ msgid "Transaction Type" +#~ msgstr "Type de transaction" + +#~ msgid "Use Delivery Charges" +#~ msgstr "Utiliser les frais de livraison" + +#~ msgid "Use Limit Search" +#~ msgstr "Utiliser la recherche limitée" + +#~ msgid "Use QTY Input" +#~ msgstr "Utiliser la saisie de quantité" + +#~ msgid "Used" +#~ msgstr "Utilisé" + +#~ msgid "Valid Upto" +#~ msgstr "Valide jusqu'à" + +#~ msgid "Validation Endpoint" +#~ msgstr "Point de validation" + +#~ msgid "Validity and Usage" +#~ msgstr "Validité et utilisation" + +#~ msgid "Verify Master Key" +#~ msgstr "Vérifier la clé maître" + +#~ msgid "View Tampering Stats" +#~ msgstr "Voir les statistiques de falsification" + +#~ msgid "Wallet" +#~ msgstr "Portefeuille" + +#~ msgid "Wallet & Loyalty" +#~ msgstr "Portefeuille et fidélité" + +#~ msgid "Wallet Account" +#~ msgstr "Compte portefeuille" + +#~ msgid "Wallet Transaction" +#~ msgstr "Transaction portefeuille" + +#~ msgid "Website Manager" +#~ msgstr "Gestionnaire de site web" + +#~ msgid "You don't have permission to create coupons" +#~ msgstr "Vous n'avez pas la permission de créer des coupons" + +#~ msgid "You don't have permission to create customers. Contact your administrator." +#~ msgstr "" +#~ "Vous n'avez pas la permission de créer des clients. Contactez votre " +#~ "administrateur." + +#~ msgid "You don't have permission to create promotions" +#~ msgstr "Vous n'avez pas la permission de créer des promotions" + +#~ msgid "Your cart doesn't meet the requirements for this offer." +#~ msgstr "Votre panier ne remplit pas les conditions pour cette offre." + +#~ msgid "e.g. \"Summer Holiday 2019 Offer 20\"" +#~ msgstr "ex. \"Offre vacances d'été 2019 20\"" + +#~ msgid "unique e.g. SAVE20 To be used to get discount" +#~ msgstr "unique ex. SAVE20 À utiliser pour obtenir une remise" + +#~ msgid "{0} reserved" +#~ msgstr "{0} réservé(s)" + +#~ msgid "{0} units available in \"{1}\"" +#~ msgstr "{0} unités disponibles dans \"{1}\"" + +#~ msgid "✅ Master Key is VALID! You can now modify protected fields." +#~ msgstr "" +#~ "✅ La clé maître est VALIDE ! Vous pouvez maintenant modifier les champs " +#~ "protégés." + +#~ msgid "🎨 Branding Configuration" +#~ msgstr "🎨 Configuration de la marque" + +#~ msgid "🔐 Master Key Protection" +#~ msgstr "🔐 Protection par clé maître" + +#~ msgid "🔒 Master Key Protected" +#~ msgstr "🔒 Protégé par clé maître" + +#~ msgctxt "UOM" +#~ msgid "Nos" +#~ msgstr "Nos" diff --git a/pos_next/locale/main.pot b/pos_next/locale/main.pot new file mode 100644 index 00000000..ad7a4935 --- /dev/null +++ b/pos_next/locale/main.pot @@ -0,0 +1,3879 @@ +# #-#-#-#-# main_py.pot (POS Next 1.13.0) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the POS Next package. +# FIRST AUTHOR , YEAR. +# +# #-#-#-#-# main_js.pot (POS Next 1.13.0) #-#-#-#-# +# JavaScript/Vue translatable strings for POS Next. +# Copyright (C) 2026 BrainWise +# +#, fuzzy +msgid "" +msgstr "" +"#-#-#-#-# main_py.pot (POS Next 1.13.0) #-#-#-#-#\n" +"Project-Id-Version: POS Next 1.13.0\n" +"Report-Msgid-Bugs-To: support@brainwise.me\n" +"POT-Creation-Date: 2026-01-12 13:26+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" +"#-#-#-#-# main_js.pot (POS Next 1.13.0) #-#-#-#-#\n" +"Project-Id-Version: POS Next 1.13.0\n" +"Report-Msgid-Bugs-To: support@brainwise.me\n" +"POT-Creation-Date: 2026-01-12 13:26\n" +"Content-Type: text/plain; charset=UTF-8\n" + +#: pos_next/api/bootstrap.py:36 pos_next/api/utilities.py:24 +msgid "Authentication required" +msgstr "" + +#: pos_next/api/branding.py:204 +msgid "Insufficient permissions" +msgstr "" + +#: pos_next/api/sales_invoice_hooks.py:140 +msgid "" +"Warning: Some credit journal entries may not have been cancelled. Please " +"check manually." +msgstr "" + +#: pos_next/api/shifts.py:108 +#, python-brace-format +msgid "You already have an open shift: {0}" +msgstr "" + +#: pos_next/api/shifts.py:163 +#, python-brace-format +msgid "Error getting closing shift data: {0}" +msgstr "" + +#: pos_next/api/shifts.py:181 +#, python-brace-format +msgid "Error submitting closing shift: {0}" +msgstr "" + +#: pos_next/api/utilities.py:27 +msgid "User is disabled" +msgstr "" + +#: pos_next/api/utilities.py:30 +msgid "Invalid session" +msgstr "" + +#: pos_next/api/utilities.py:35 +msgid "Failed to generate CSRF token" +msgstr "" + +#: pos_next/api/utilities.py:59 +#, python-brace-format +msgid "Could not parse '{0}' as JSON: {1}" +msgstr "" + +#: pos_next/api/items.py:324 pos_next/api/items.py:1290 +#: pos_next/api/credit_sales.py:470 pos_next/api/credit_sales.py:510 +#: pos_next/api/partial_payments.py:563 pos_next/api/partial_payments.py:640 +#: pos_next/api/partial_payments.py:924 pos_next/api/partial_payments.py:987 +#: pos_next/api/invoices.py:1104 pos_next/api/pos_profile.py:35 +#: pos_next/api/pos_profile.py:129 pos_next/api/pos_profile.py:253 +msgid "POS Profile is required" +msgstr "" + +#: pos_next/api/items.py:340 +#, python-brace-format +msgid "Item with barcode {0} not found" +msgstr "" + +#: pos_next/api/items.py:347 +#, python-brace-format +msgid "Warehouse not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:349 +#, python-brace-format +msgid "Selling Price List not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:351 +#, python-brace-format +msgid "Company not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:358 pos_next/api/items.py:1297 +#, python-brace-format +msgid "Item {0} is not allowed for sales" +msgstr "" + +#: pos_next/api/items.py:384 +#, python-brace-format +msgid "Error searching by barcode: {0}" +msgstr "" + +#: pos_next/api/items.py:414 +#, python-brace-format +msgid "Error fetching item stock: {0}" +msgstr "" + +#: pos_next/api/items.py:465 +#, python-brace-format +msgid "Error fetching batch/serial details: {0}" +msgstr "" + +#: pos_next/api/items.py:502 +#, python-brace-format +msgid "" +"No variants created for template item '{template_item}'. Please create " +"variants first." +msgstr "" + +#: pos_next/api/items.py:601 +#, python-brace-format +msgid "Error fetching item variants: {0}" +msgstr "" + +#: pos_next/api/items.py:1271 +#, python-brace-format +msgid "Error fetching items: {0}" +msgstr "" + +#: pos_next/api/items.py:1321 +#, python-brace-format +msgid "Error fetching item details: {0}" +msgstr "" + +#: pos_next/api/items.py:1353 +#, python-brace-format +msgid "Error fetching item groups: {0}" +msgstr "" + +#: pos_next/api/items.py:1460 +#, python-brace-format +msgid "Error fetching stock quantities: {0}" +msgstr "" + +#: pos_next/api/items.py:1574 +msgid "Either item_code or item_codes must be provided" +msgstr "" + +#: pos_next/api/items.py:1655 +#, python-brace-format +msgid "Error fetching warehouse availability: {0}" +msgstr "" + +#: pos_next/api/items.py:1746 +#, python-brace-format +msgid "Error fetching bundle availability for {0}: {1}" +msgstr "" + +#: pos_next/api/offers.py:504 +msgid "Coupons are not enabled" +msgstr "" + +#: pos_next/api/offers.py:518 +msgid "Invalid coupon code" +msgstr "" + +#: pos_next/api/offers.py:521 +msgid "This coupon is disabled" +msgstr "" + +#: pos_next/api/offers.py:526 +msgid "This gift card has already been used" +msgstr "" + +#: pos_next/api/offers.py:530 +msgid "This coupon has reached its usage limit" +msgstr "" + +#: pos_next/api/offers.py:534 +msgid "This coupon is not yet valid" +msgstr "" + +#: pos_next/api/offers.py:537 +msgid "This coupon has expired" +msgstr "" + +#: pos_next/api/offers.py:541 +msgid "This coupon is not valid for this customer" +msgstr "" + +#: pos_next/api/credit_sales.py:34 pos_next/api/credit_sales.py:149 +#: pos_next/api/customers.py:196 +msgid "Customer is required" +msgstr "" + +#: pos_next/api/credit_sales.py:152 pos_next/api/promotions.py:235 +#: pos_next/api/promotions.py:673 +msgid "Company is required" +msgstr "" + +#: pos_next/api/credit_sales.py:156 +msgid "Credit sale is not enabled for this POS Profile" +msgstr "" + +#: pos_next/api/credit_sales.py:238 pos_next/api/partial_payments.py:710 +#: pos_next/api/partial_payments.py:796 pos_next/api/invoices.py:1076 +msgid "Invoice name is required" +msgstr "" + +#: pos_next/api/credit_sales.py:247 +msgid "Invoice must be submitted to redeem credit" +msgstr "" + +#: pos_next/api/credit_sales.py:346 +#, python-brace-format +msgid "Journal Entry {0} created for credit redemption" +msgstr "" + +#: pos_next/api/credit_sales.py:372 +#, python-brace-format +msgid "Payment Entry {0} has insufficient unallocated amount" +msgstr "" + +#: pos_next/api/credit_sales.py:394 +#, python-brace-format +msgid "Payment Entry {0} allocated to invoice" +msgstr "" + +#: pos_next/api/credit_sales.py:451 +#, python-brace-format +msgid "Cancelled {0} credit redemption journal entries" +msgstr "" + +#: pos_next/api/credit_sales.py:519 pos_next/api/partial_payments.py:571 +#: pos_next/api/partial_payments.py:647 pos_next/api/partial_payments.py:931 +#: pos_next/api/partial_payments.py:994 pos_next/api/invoices.py:1113 +#: pos_next/api/pos_profile.py:44 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:93 +msgid "You don't have access to this POS Profile" +msgstr "" + +#: pos_next/api/promotions.py:24 +msgid "You don't have permission to view promotions" +msgstr "" + +#: pos_next/api/promotions.py:27 +msgid "You don't have permission to create or modify promotions" +msgstr "" + +#: pos_next/api/promotions.py:30 +msgid "You don't have permission to delete promotions" +msgstr "" + +#: pos_next/api/promotions.py:199 +#, python-brace-format +msgid "Promotion or Pricing Rule {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:233 +msgid "Promotion name is required" +msgstr "" + +#: pos_next/api/promotions.py:237 +msgid "Apply On is required" +msgstr "" + +#: pos_next/api/promotions.py:293 +msgid "Discount Rule" +msgstr "" + +#: pos_next/api/promotions.py:312 +msgid "Free Item Rule" +msgstr "" + +#: pos_next/api/promotions.py:330 +#, python-brace-format +msgid "Promotion {0} created successfully" +msgstr "" + +#: pos_next/api/promotions.py:337 +msgid "Promotion Creation Failed" +msgstr "" + +#: pos_next/api/promotions.py:340 +#, python-brace-format +msgid "Failed to create promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:356 pos_next/api/promotions.py:428 +#: pos_next/api/promotions.py:462 +#, python-brace-format +msgid "Promotional Scheme {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:410 +#, python-brace-format +msgid "Promotion {0} updated successfully" +msgstr "" + +#: pos_next/api/promotions.py:416 +msgid "Promotion Update Failed" +msgstr "" + +#: pos_next/api/promotions.py:419 +#, python-brace-format +msgid "Failed to update promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:443 +#, python-brace-format +msgid "Promotion {0} {1}" +msgstr "" + +#: pos_next/api/promotions.py:450 +msgid "Promotion Toggle Failed" +msgstr "" + +#: pos_next/api/promotions.py:453 +#, python-brace-format +msgid "Failed to toggle promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:470 +#, python-brace-format +msgid "Promotion {0} deleted successfully" +msgstr "" + +#: pos_next/api/promotions.py:476 +msgid "Promotion Deletion Failed" +msgstr "" + +#: pos_next/api/promotions.py:479 +#, python-brace-format +msgid "Failed to delete promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:513 +msgid "Too many search requests. Please wait a moment." +msgstr "" + +#: pos_next/api/promotions.py:626 pos_next/api/promotions.py:744 +#: pos_next/api/promotions.py:799 pos_next/api/promotions.py:834 +#, python-brace-format +msgid "Coupon {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:667 +msgid "Coupon name is required" +msgstr "" + +#: pos_next/api/promotions.py:669 +msgid "Coupon type is required" +msgstr "" + +#: pos_next/api/promotions.py:671 +msgid "Discount type is required" +msgstr "" + +#: pos_next/api/promotions.py:678 +msgid "Discount percentage is required when discount type is Percentage" +msgstr "" + +#: pos_next/api/promotions.py:680 +msgid "Discount percentage must be between 0 and 100" +msgstr "" + +#: pos_next/api/promotions.py:683 +msgid "Discount amount is required when discount type is Amount" +msgstr "" + +#: pos_next/api/promotions.py:685 +msgid "Discount amount must be greater than 0" +msgstr "" + +#: pos_next/api/promotions.py:689 +msgid "Customer is required for Gift Card coupons" +msgstr "" + +#: pos_next/api/promotions.py:717 +#, python-brace-format +msgid "Coupon {0} created successfully" +msgstr "" + +#: pos_next/api/promotions.py:725 +msgid "Coupon Creation Failed" +msgstr "" + +#: pos_next/api/promotions.py:728 +#, python-brace-format +msgid "Failed to create coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:781 +#, python-brace-format +msgid "Coupon {0} updated successfully" +msgstr "" + +#: pos_next/api/promotions.py:787 +msgid "Coupon Update Failed" +msgstr "" + +#: pos_next/api/promotions.py:790 +#, python-brace-format +msgid "Failed to update coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:815 +#, python-brace-format +msgid "Coupon {0} {1}" +msgstr "" + +#: pos_next/api/promotions.py:822 +msgid "Coupon Toggle Failed" +msgstr "" + +#: pos_next/api/promotions.py:825 +#, python-brace-format +msgid "Failed to toggle coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:840 +#, python-brace-format +msgid "Cannot delete coupon {0} as it has been used {1} times" +msgstr "" + +#: pos_next/api/promotions.py:848 +msgid "Coupon deleted successfully" +msgstr "" + +#: pos_next/api/promotions.py:854 +msgid "Coupon Deletion Failed" +msgstr "" + +#: pos_next/api/promotions.py:857 +#, python-brace-format +msgid "Failed to delete coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:882 +msgid "Referral code applied successfully! You've received a welcome coupon." +msgstr "" + +#: pos_next/api/promotions.py:889 +msgid "Apply Referral Code Failed" +msgstr "" + +#: pos_next/api/promotions.py:892 +#, python-brace-format +msgid "Failed to apply referral code: {0}" +msgstr "" + +#: pos_next/api/promotions.py:927 +#, python-brace-format +msgid "Referral Code {0} not found" +msgstr "" + +#: pos_next/api/partial_payments.py:87 pos_next/api/partial_payments.py:389 +msgid "Invalid invoice name provided" +msgstr "" + +#: pos_next/api/partial_payments.py:393 +msgid "Payment amount must be greater than zero" +msgstr "" + +#: pos_next/api/partial_payments.py:399 pos_next/api/partial_payments.py:720 +#: pos_next/api/partial_payments.py:820 pos_next/api/invoices.py:1079 +#: pos_next/api/invoices.py:1208 pos_next/api/invoices.py:1311 +#, python-brace-format +msgid "Invoice {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:403 +msgid "Invoice must be submitted before adding payments" +msgstr "" + +#: pos_next/api/partial_payments.py:406 +msgid "Cannot add payment to cancelled invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:411 +#, python-brace-format +msgid "Payment amount {0} exceeds outstanding amount {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:421 +#, python-brace-format +msgid "Payment date {0} cannot be before invoice date {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:428 +#, python-brace-format +msgid "Mode of Payment {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:445 +#, python-brace-format +msgid "Payment account {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:457 +#, python-brace-format +msgid "" +"Could not determine payment account for {0}. Please specify payment_account " +"parameter." +msgstr "" + +#: pos_next/api/partial_payments.py:468 +msgid "" +"Could not determine payment account. Please specify payment_account " +"parameter." +msgstr "" + +#: pos_next/api/partial_payments.py:532 +#, python-brace-format +msgid "Failed to create payment entry: {0}" +msgstr "" + +#: pos_next/api/partial_payments.py:567 pos_next/api/partial_payments.py:644 +#: pos_next/api/partial_payments.py:928 pos_next/api/partial_payments.py:991 +#, python-brace-format +msgid "POS Profile {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:714 pos_next/api/invoices.py:1083 +msgid "You don't have permission to view this invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:803 +msgid "Invalid payments payload: malformed JSON" +msgstr "" + +#: pos_next/api/partial_payments.py:807 +msgid "Payments must be a list" +msgstr "" + +#: pos_next/api/partial_payments.py:810 +msgid "At least one payment is required" +msgstr "" + +#: pos_next/api/partial_payments.py:814 +msgid "You don't have permission to add payments to this invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:825 +#, python-brace-format +msgid "Total payment amount {0} exceeds outstanding amount {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:870 +#, python-brace-format +msgid "Rolled back Payment Entry {0}" +msgstr "" + +#: pos_next/api/partial_payments.py:888 +#, python-brace-format +msgid "Failed to create payment entry: {0}. All changes have been rolled back." +msgstr "" + +#: pos_next/api/customers.py:55 +#, python-brace-format +msgid "Error fetching customers: {0}" +msgstr "" + +#: pos_next/api/customers.py:76 +msgid "You don't have permission to create customers" +msgstr "" + +#: pos_next/api/customers.py:79 +msgid "Customer name is required" +msgstr "" + +#: pos_next/api/invoices.py:141 +#, python-brace-format +msgid "" +"Please set default Cash or Bank account in Mode of Payment {0} or set " +"default accounts in Company {1}" +msgstr "" + +#: pos_next/api/invoices.py:143 +msgid "Missing Account" +msgstr "" + +#: pos_next/api/invoices.py:280 +#, python-brace-format +msgid "No batches available in {0} for {1}." +msgstr "" + +#: pos_next/api/invoices.py:350 +#, python-brace-format +msgid "You are trying to return more quantity for item {0} than was sold." +msgstr "" + +#: pos_next/api/invoices.py:389 +#, python-brace-format +msgid "Unable to load POS Profile {0}" +msgstr "" + +#: pos_next/api/invoices.py:678 +msgid "This invoice is currently being processed. Please wait." +msgstr "" + +#: pos_next/api/invoices.py:849 +#, python-brace-format +msgid "Missing invoice parameter. Received data: {0}" +msgstr "" + +#: pos_next/api/invoices.py:854 +msgid "Missing invoice parameter" +msgstr "" + +#: pos_next/api/invoices.py:856 +msgid "Both invoice and data parameters are missing" +msgstr "" + +#: pos_next/api/invoices.py:866 +msgid "Invalid invoice format" +msgstr "" + +#: pos_next/api/invoices.py:912 +msgid "Failed to create invoice draft" +msgstr "" + +#: pos_next/api/invoices.py:915 +msgid "Failed to get invoice name from draft" +msgstr "" + +#: pos_next/api/invoices.py:1026 +msgid "" +"Invoice submitted successfully but credit redemption failed. Please contact " +"administrator." +msgstr "" + +#: pos_next/api/invoices.py:1212 +#, python-brace-format +msgid "Cannot delete submitted invoice {0}" +msgstr "" + +#: pos_next/api/invoices.py:1215 +#, python-brace-format +msgid "Invoice {0} Deleted" +msgstr "" + +#: pos_next/api/invoices.py:1910 +#, python-brace-format +msgid "Error applying offers: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:151 +#, python-brace-format +msgid "Error fetching payment methods: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:256 +msgid "Warehouse is required" +msgstr "" + +#: pos_next/api/pos_profile.py:265 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:141 +msgid "You don't have permission to update this POS Profile" +msgstr "" + +#: pos_next/api/pos_profile.py:273 +#, python-brace-format +msgid "Warehouse {0} is disabled" +msgstr "" + +#: pos_next/api/pos_profile.py:278 +#, python-brace-format +msgid "Warehouse {0} belongs to {1}, but POS Profile belongs to {2}" +msgstr "" + +#: pos_next/api/pos_profile.py:287 +msgid "Warehouse updated successfully" +msgstr "" + +#: pos_next/api/pos_profile.py:292 +#, python-brace-format +msgid "Error updating warehouse: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:345 pos_next/api/pos_profile.py:467 +msgid "User must have a company assigned" +msgstr "" + +#: pos_next/api/pos_profile.py:424 +#, python-brace-format +msgid "Error getting create POS profile: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:476 +msgid "At least one payment method is required" +msgstr "" + +#: pos_next/api/wallet.py:33 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:37 +#, python-brace-format +msgid "Insufficient wallet balance. Available: {0}, Requested: {1}" +msgstr "" + +#: pos_next/api/wallet.py:37 +msgid "Wallet Balance Error" +msgstr "" + +#: pos_next/api/wallet.py:100 +#, python-brace-format +msgid "Loyalty points conversion from {0}: {1} points = {2}" +msgstr "" + +#: pos_next/api/wallet.py:111 +#, python-brace-format +msgid "Loyalty points converted to wallet: {0} points = {1}" +msgstr "" + +#: pos_next/api/wallet.py:458 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:29 +msgid "Amount must be greater than zero" +msgstr "" + +#: pos_next/api/wallet.py:464 +#, python-brace-format +msgid "Could not create wallet for customer {0}" +msgstr "" + +#: pos_next/api/wallet.py:472 +msgid "Manual wallet credit" +msgstr "" + +#: pos_next/realtime_events.py:98 +msgid "Real-time Stock Update Event Error" +msgstr "" + +#: pos_next/realtime_events.py:135 +msgid "Real-time Invoice Created Event Error" +msgstr "" + +#: pos_next/realtime_events.py:183 +msgid "Real-time POS Profile Update Event Error" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:56 +#, python-brace-format +msgid "" +"POS Closing Shift already exists against {0} between " +"selected period" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:60 +msgid "Invalid Period" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:65 +msgid "Selected POS Opening Shift should be open." +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:66 +msgid "Invalid Opening Entry" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:21 +msgid "Wallet Account must be a Receivable type account" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:32 +#, python-brace-format +msgid "A wallet already exists for customer {0} in company {1}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:200 +#, python-brace-format +msgid "Please configure a default wallet account for company {0}" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:25 +msgid "Referrer Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:29 +msgid "Referrer Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:31 +msgid "Referrer Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:34 +msgid "Referrer Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:36 +msgid "Referrer Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:40 +msgid "Referee Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:44 +msgid "Referee Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:46 +msgid "Referee Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:49 +msgid "Referee Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:51 +msgid "Referee Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:104 +msgid "Invalid referral code" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:110 +msgid "This referral code has been disabled" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:120 +msgid "You have already used this referral code" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:154 +msgid "Failed to generate your welcome coupon" +msgstr "" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:20 +msgid "POS Profile {} does not belongs to company {}" +msgstr "" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:24 +msgid "User {} has been disabled. Please select valid user/cashier" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:20 +msgid "Wallet is required" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:24 +#, python-brace-format +msgid "Wallet {0} is not active" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:83 +#, python-brace-format +msgid "Wallet {0} does not have an account configured" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:89 +msgid "Source account is required for wallet transaction" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:106 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:117 +#, python-brace-format +msgid "Wallet Credit: {0}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:132 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:141 +#, python-brace-format +msgid "Wallet Debit: {0}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:282 +#, python-brace-format +msgid "Loyalty points conversion: {0} points = {1}" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:28 +msgid "Please select the customer for Gift Card." +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:32 +msgid "Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:36 +msgid "Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:38 +msgid "Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:41 +msgid "Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:43 +msgid "Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:47 +msgid "Minimum Amount cannot be negative" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:51 +msgid "Maximum Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:56 +msgid "Valid From date cannot be after Valid Until date" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:65 +msgid "Sorry, this coupon code does not exist" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:72 +msgid "Sorry, this coupon has been disabled" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:78 +msgid "Sorry, this coupon code's validity has not started" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:83 +msgid "Sorry, this coupon code has expired" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:88 +msgid "Sorry, this coupon code has been fully redeemed" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:93 +msgid "Sorry, this coupon is not valid for this company" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:99 +msgid "Sorry, this gift card is assigned to a specific customer" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:111 +msgid "Sorry, you have already used this coupon code" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:132 +#, python-brace-format +msgid "Minimum cart amount of {0} is required" +msgstr "" + +msgid "<strong>Company:<strong>" +msgstr "" + +msgid "<strong>Items Tracked:<strong> {0}" +msgstr "" + +msgid "<strong>Last Sync:<strong> Never" +msgstr "" + +msgid "<strong>Last Sync:<strong> {0}" +msgstr "" + +msgid "" +"<strong>Note:<strong> When enabled, the system will allow sales " +"even when stock quantity is zero or negative. This is useful for handling " +"stock sync delays or backorders. All transactions are tracked in the stock " +"ledger." +msgstr "" + +msgid "<strong>Opened:</strong> {0}" +msgstr "" + +msgid "<strong>Opened:<strong>" +msgstr "" + +msgid "<strong>POS Profile:</strong> {0}" +msgstr "" + +msgid "<strong>POS Profile:<strong> {0}" +msgstr "" + +msgid "<strong>Status:<strong> Running" +msgstr "" + +msgid "<strong>Status:<strong> Stopped" +msgstr "" + +msgid "<strong>Warehouse:<strong> {0}" +msgstr "" + +msgid "" +"<strong>{0}</strong> of <strong>{1}</strong> " +"invoice(s)" +msgstr "" + +msgid "(FREE)" +msgstr "" + +msgid "(Max Discount: {0})" +msgstr "" + +msgid "(Min: {0})" +msgstr "" + +msgid "+ Add Payment" +msgstr "" + +msgid "+ Create New Customer" +msgstr "" + +msgid "+ Free Item" +msgstr "" + +msgid "+{0} FREE" +msgstr "" + +msgid "+{0} more" +msgstr "" + +msgid "-- No Campaign --" +msgstr "" + +msgid "-- Select --" +msgstr "" + +msgid "1 item" +msgstr "" + +msgid "1 {0} = {1} {2}" +msgstr "" + +msgid "" +"1. Go to <strong>Item Master<strong> → <strong>{0}<" +"strong>" +msgstr "" + +msgid "2. Click <strong>"Make Variants"<strong> button" +msgstr "" + +msgid "3. Select attribute combinations" +msgstr "" + +msgid "4. Click <strong>"Create"<strong>" +msgstr "" + +msgid "APPLIED" +msgstr "" + +msgid "Access your point of sale system" +msgstr "" + +msgid "Active" +msgstr "" + +msgid "Active Only" +msgstr "" + +msgid "Active Shift Detected" +msgstr "" + +msgid "Active Warehouse" +msgstr "" + +msgid "Actual Amount *" +msgstr "" + +msgid "Actual Stock" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "Add Payment" +msgstr "" + +msgid "Add items to the cart before applying an offer." +msgstr "" + +msgid "Add items to your cart to see eligible offers" +msgstr "" + +msgid "Add to Cart" +msgstr "" + +msgid "Add {0} more to unlock" +msgstr "" + +msgid "Additional Discount" +msgstr "" + +msgid "Adjust return quantities before submitting.\\n\\n{0}" +msgstr "" + +msgid "After returns" +msgstr "" + +msgid "Against: {0}" +msgstr "" + +msgid "All ({0})" +msgstr "" + +msgid "All Items" +msgstr "" + +msgid "All Status" +msgstr "" + +msgid "All Territories" +msgstr "" + +msgid "All Types" +msgstr "" + +msgid "All cached data has been cleared successfully" +msgstr "" + +msgid "All draft invoices deleted" +msgstr "" + +msgid "All invoices are either fully paid or unpaid" +msgstr "" + +msgid "All invoices are fully paid" +msgstr "" + +msgid "All items from this invoice have already been returned" +msgstr "" + +msgid "All items loaded" +msgstr "" + +msgid "All items removed from cart" +msgstr "" + +msgid "" +"All stock operations will use this warehouse. Stock quantities will refresh " +"after saving." +msgstr "" + +msgid "Allow Additional Discount" +msgstr "" + +msgid "Allow Credit Sale" +msgstr "" + +msgid "Allow Item Discount" +msgstr "" + +msgid "Allow Negative Stock" +msgstr "" + +msgid "Allow Partial Payment" +msgstr "" + +msgid "Allow Return" +msgstr "" + +msgid "Allow Write Off Change" +msgstr "" + +msgid "Amount" +msgstr "" + +msgid "Amount in {0}" +msgstr "" + +msgid "Amount:" +msgstr "" + +msgid "An error occurred" +msgstr "" + +msgid "An unexpected error occurred" +msgstr "" + +msgid "An unexpected error occurred." +msgstr "" + +msgid "Applied" +msgstr "" + +msgid "Apply" +msgstr "" + +msgid "Apply Discount On" +msgstr "" + +msgid "Apply On" +msgstr "" + +msgid "Apply coupon code" +msgstr "" + +msgid "" +"Are you sure you want to delete <strong>"{0}"<strong>?" +msgstr "" + +msgid "Are you sure you want to delete this offline invoice?" +msgstr "" + +msgid "Are you sure you want to sign out of POS Next?" +msgstr "" + +msgid "At least {0} eligible items required" +msgstr "" + +msgid "Auto" +msgstr "" + +msgid "Auto-Add ON - Type or scan barcode" +msgstr "" + +msgid "Auto-Add: OFF - Click to enable automatic cart addition on Enter" +msgstr "" + +msgid "Auto-Add: ON - Press Enter to add items to cart" +msgstr "" + +msgid "Auto-Sync:" +msgstr "" + +msgid "Auto-generated if empty" +msgstr "" + +msgid "Available" +msgstr "" + +msgid "Available Offers" +msgstr "" + +msgid "BALANCE DUE:" +msgstr "" + +msgid "Back" +msgstr "" + +msgid "Background Stock Sync" +msgstr "" + +msgid "Barcode Scanner: OFF (Click to enable)" +msgstr "" + +msgid "Barcode Scanner: ON (Click to disable)" +msgstr "" + +msgid "Basic Information" +msgstr "" + +msgid "Brands" +msgstr "" + +msgid "Cache" +msgstr "" + +msgid "Cache empty" +msgstr "" + +msgid "Cache ready" +msgstr "" + +msgid "Cache syncing" +msgstr "" + +msgid "Calculating totals and reconciliation..." +msgstr "" + +msgid "Campaign" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Cannot create return against a return invoice" +msgstr "" + +msgid "Cannot delete coupon as it has been used {0} times" +msgstr "" + +msgid "Cannot remove last serial" +msgstr "" + +msgid "Cannot save an empty cart as draft" +msgstr "" + +msgid "Cannot sync while offline" +msgstr "" + +msgid "Cart" +msgstr "" + +msgid "Cart Items" +msgstr "" + +msgid "Cart does not contain eligible items for this offer" +msgstr "" + +msgid "Cart does not contain items from eligible brands" +msgstr "" + +msgid "Cart does not contain items from eligible groups" +msgstr "" + +msgid "Cart is empty" +msgstr "" + +msgid "Cart subtotal BEFORE tax - used for discount calculations" +msgstr "" + +msgid "Cash" +msgstr "" + +msgid "Cash Over" +msgstr "" + +msgid "Cash Refund:" +msgstr "" + +msgid "Cash Short" +msgstr "" + +msgid "Change Due" +msgstr "" + +msgid "Change Profile" +msgstr "" + +msgid "Change:" +msgstr "" + +msgid "Check Availability in All Wherehouses" +msgstr "" + +msgid "Check availability in other warehouses" +msgstr "" + +msgid "Checking Stock..." +msgstr "" + +msgid "Checking warehouse availability..." +msgstr "" + +msgid "Checkout" +msgstr "" + +msgid "" +"Choose a coupon from the list to view and edit, or create a new one to get " +"started" +msgstr "" + +msgid "" +"Choose a promotion from the list to view and edit, or create a new one to " +"get started" +msgstr "" + +msgid "Choose a variant of this item:" +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgid "Clear All Drafts?" +msgstr "" + +msgid "Clear Cache" +msgstr "" + +msgid "Clear Cache?" +msgstr "" + +msgid "Clear Cart?" +msgstr "" + +msgid "Clear all" +msgstr "" + +msgid "Clear all items" +msgstr "" + +msgid "Clear all payments" +msgstr "" + +msgid "Clear search" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "Clearing Cache..." +msgstr "" + +msgid "Click to change unit" +msgstr "" + +msgid "Close" +msgstr "" + +msgid "Close & Open New" +msgstr "" + +msgid "Close (shows again next session)" +msgstr "" + +msgid "Close POS Shift" +msgstr "" + +msgid "Close Shift" +msgstr "" + +msgid "Close Shift & Sign Out" +msgstr "" + +msgid "Close current shift" +msgstr "" + +msgid "Close your shift first to save all transactions properly" +msgstr "" + +msgid "Closing Shift..." +msgstr "" + +msgid "Code" +msgstr "" + +msgid "Code is case-insensitive" +msgstr "" + +msgid "Company" +msgstr "" + +msgid "Complete Payment" +msgstr "" + +msgid "Complete Sales Order" +msgstr "" + +msgid "Configure pricing, discounts, and sales operations" +msgstr "" + +msgid "Configure warehouse and inventory settings" +msgstr "" + +msgid "Confirm" +msgstr "" + +msgid "Confirm Sign Out" +msgstr "" + +msgid "Connection Error" +msgstr "" + +msgid "Count & enter" +msgstr "" + +msgid "Coupon" +msgstr "" + +msgid "Coupon Applied Successfully!" +msgstr "" + +msgid "Coupon Code" +msgstr "" + +msgid "Coupon Details" +msgstr "" + +msgid "Coupon Name" +msgstr "" + +msgid "Coupon Status & Info" +msgstr "" + +msgid "Coupon Type" +msgstr "" + +msgid "Coupon created successfully" +msgstr "" + +msgid "Coupon status updated successfully" +msgstr "" + +msgid "Coupon updated successfully" +msgstr "" + +msgid "Coupons" +msgstr "" + +msgid "Create" +msgstr "" + +msgid "Create Customer" +msgstr "" + +msgid "Create New Coupon" +msgstr "" + +msgid "Create New Customer" +msgstr "" + +msgid "Create New Promotion" +msgstr "" + +msgid "Create Return" +msgstr "" + +msgid "Create Return Invoice" +msgstr "" + +msgid "Create new customer" +msgstr "" + +msgid "Create new customer: {0}" +msgstr "" + +msgid "Create permission required" +msgstr "" + +msgid "Create your first customer to get started" +msgstr "" + +msgid "Created On" +msgstr "" + +msgid "Creating return for invoice {0}" +msgstr "" + +msgid "Credit Adjustment:" +msgstr "" + +msgid "Credit Balance" +msgstr "" + +msgid "Credit Sale" +msgstr "" + +msgid "Credit Sale Return" +msgstr "" + +msgid "Current Discount:" +msgstr "" + +msgid "Current Status" +msgstr "" + +msgid "Custom" +msgstr "" + +msgid "Customer" +msgstr "" + +msgid "Customer Credit:" +msgstr "" + +msgid "Customer Error" +msgstr "" + +msgid "Customer Group" +msgstr "" + +msgid "Customer Name" +msgstr "" + +msgid "Customer Name is required" +msgstr "" + +msgid "Customer {0} created successfully" +msgstr "" + +msgid "Customer {0} updated successfully" +msgstr "" + +msgid "Customer:" +msgstr "" + +msgid "Customer: {0}" +msgstr "" + +msgid "Dashboard" +msgstr "" + +msgid "Data is ready for offline use" +msgstr "" + +msgid "Date" +msgstr "" + +msgid "Date & Time" +msgstr "" + +msgid "Date:" +msgstr "" + +msgid "Decrease quantity" +msgstr "" + +msgid "Default" +msgstr "" + +msgid "Delete" +msgstr "" + +msgid "Delete Coupon" +msgstr "" + +msgid "Delete Draft?" +msgstr "" + +msgid "Delete Invoice" +msgstr "" + +msgid "Delete Offline Invoice" +msgstr "" + +msgid "Delete Promotion" +msgstr "" + +msgid "Delete draft" +msgstr "" + +msgid "Delivery Date" +msgstr "" + +msgid "Deselect All" +msgstr "" + +msgid "Disable" +msgstr "" + +msgid "Disable Rounded Total" +msgstr "" + +msgid "Disable auto-add" +msgstr "" + +msgid "Disable barcode scanner" +msgstr "" + +msgid "Disabled" +msgstr "" + +msgid "Disabled Only" +msgstr "" + +msgid "Discount" +msgstr "" + +msgid "Discount (%)" +msgstr "" + +msgid "Discount Amount" +msgstr "" + +msgid "Discount Configuration" +msgstr "" + +msgid "Discount Details" +msgstr "" + +msgid "Discount Percentage (%)" +msgstr "" + +msgid "Discount Type" +msgstr "" + +msgid "Discount has been removed" +msgstr "" + +msgid "Discount has been removed from cart" +msgstr "" + +msgid "Discount settings changed. Cart recalculated." +msgstr "" + +msgid "Discount:" +msgstr "" + +msgid "Dismiss" +msgstr "" + +msgid "Draft Invoices" +msgstr "" + +msgid "Draft deleted successfully" +msgstr "" + +msgid "Draft invoice deleted" +msgstr "" + +msgid "Draft invoice loaded successfully" +msgstr "" + +msgid "Drafts" +msgstr "" + +msgid "Duplicate Entry" +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "ENTER-CODE-HERE" +msgstr "" + +msgid "Edit Customer" +msgstr "" + +msgid "Edit Invoice" +msgstr "" + +msgid "Edit Item Details" +msgstr "" + +msgid "Edit Promotion" +msgstr "" + +msgid "Edit customer details" +msgstr "" + +msgid "Edit serials" +msgstr "" + +msgid "Email" +msgstr "" + +msgid "Empty" +msgstr "" + +msgid "Enable" +msgstr "" + +msgid "Enable Automatic Stock Sync" +msgstr "" + +msgid "Enable auto-add" +msgstr "" + +msgid "Enable barcode scanner" +msgstr "" + +msgid "Enable invoice-level discount" +msgstr "" + +msgid "Enable item-level discount in edit dialog" +msgstr "" + +msgid "Enable partial payment for invoices" +msgstr "" + +msgid "Enable product returns" +msgstr "" + +msgid "Enable sales on credit" +msgstr "" + +msgid "" +"Enable selling items even when stock reaches zero or below. Integrates with " +"ERPNext stock settings." +msgstr "" + +msgid "Enter" +msgstr "" + +msgid "Enter actual amount for {0}" +msgstr "" + +msgid "Enter customer name" +msgstr "" + +msgid "Enter email address" +msgstr "" + +msgid "Enter phone number" +msgstr "" + +msgid "" +"Enter reason for return (e.g., defective product, wrong item, customer " +"request)..." +msgstr "" + +msgid "Enter your password" +msgstr "" + +msgid "Enter your promotional or gift card code below" +msgstr "" + +msgid "Enter your username or email" +msgstr "" + +msgid "Entire Transaction" +msgstr "" + +msgid "Error" +msgstr "" + +msgid "Error Closing Shift" +msgstr "" + +msgid "Error Report - POS Next" +msgstr "" + +msgid "Esc" +msgstr "" + +msgid "Exception: {0}" +msgstr "" + +msgid "Exhausted" +msgstr "" + +msgid "Existing Shift Found" +msgstr "" + +msgid "Exp: {0}" +msgstr "" + +msgid "Expected" +msgstr "" + +msgid "Expected: <span class="font-medium">{0}</span>" +msgstr "" + +msgid "Expired" +msgstr "" + +msgid "Expired Only" +msgstr "" + +msgid "Failed to Load Shift Data" +msgstr "" + +msgid "Failed to add payment" +msgstr "" + +msgid "Failed to apply coupon. Please try again." +msgstr "" + +msgid "Failed to apply offer. Please try again." +msgstr "" + +msgid "Failed to clear cache. Please try again." +msgstr "" + +msgid "Failed to clear drafts" +msgstr "" + +msgid "Failed to create coupon" +msgstr "" + +msgid "Failed to create customer" +msgstr "" + +msgid "Failed to create promotion" +msgstr "" + +msgid "Failed to create return invoice" +msgstr "" + +msgid "Failed to delete coupon" +msgstr "" + +msgid "Failed to delete draft" +msgstr "" + +msgid "Failed to delete offline invoice" +msgstr "" + +msgid "Failed to delete promotion" +msgstr "" + +msgid "Failed to load brands" +msgstr "" + +msgid "Failed to load coupon details" +msgstr "" + +msgid "Failed to load coupons" +msgstr "" + +msgid "Failed to load draft" +msgstr "" + +msgid "Failed to load draft invoices" +msgstr "" + +msgid "Failed to load invoice details" +msgstr "" + +msgid "Failed to load invoices" +msgstr "" + +msgid "Failed to load item groups" +msgstr "" + +msgid "Failed to load partial payments" +msgstr "" + +msgid "Failed to load promotion details" +msgstr "" + +msgid "Failed to load recent invoices" +msgstr "" + +msgid "Failed to load settings" +msgstr "" + +msgid "Failed to load unpaid invoices" +msgstr "" + +msgid "Failed to load variants" +msgstr "" + +msgid "Failed to load warehouse availability" +msgstr "" + +msgid "Failed to print draft" +msgstr "" + +msgid "Failed to process selection. Please try again." +msgstr "" + +msgid "Failed to save draft" +msgstr "" + +msgid "Failed to save settings" +msgstr "" + +msgid "Failed to toggle coupon status" +msgstr "" + +msgid "Failed to update UOM. Please try again." +msgstr "" + +msgid "Failed to update cart after removing offer." +msgstr "" + +msgid "Failed to update coupon" +msgstr "" + +msgid "Failed to update customer" +msgstr "" + +msgid "Failed to update item." +msgstr "" + +msgid "Failed to update promotion" +msgstr "" + +msgid "Failed to update promotion status" +msgstr "" + +msgid "Faster access and offline support" +msgstr "" + +msgid "Fill in the details to create a new coupon" +msgstr "" + +msgid "Fill in the details to create a new promotional scheme" +msgstr "" + +msgid "Final Amount" +msgstr "" + +msgid "First" +msgstr "" + +msgid "Fixed Amount" +msgstr "" + +msgid "Free Item" +msgstr "" + +msgid "Free Quantity" +msgstr "" + +msgid "Frequent Customers" +msgstr "" + +msgid "From Date" +msgstr "" + +msgid "From {0}" +msgstr "" + +msgid "Fully Paid" +msgstr "" + +msgid "Generate" +msgstr "" + +msgid "Gift" +msgstr "" + +msgid "Gift Card" +msgstr "" + +msgid "Go to first page" +msgstr "" + +msgid "Go to last page" +msgstr "" + +msgid "Go to next page" +msgstr "" + +msgid "Go to page {0}" +msgstr "" + +msgid "Go to previous page" +msgstr "" + +msgid "Grand Total" +msgstr "" + +msgid "Grand Total:" +msgstr "" + +msgid "Grid View" +msgstr "" + +msgid "Gross Sales" +msgstr "" + +msgid "Have a coupon code?" +msgstr "" + +msgid "Hello" +msgstr "" + +msgid "Hello {0}" +msgstr "" + +msgid "Hide password" +msgstr "" + +msgid "Hold" +msgstr "" + +msgid "Hold order as draft" +msgstr "" + +msgid "How often to check server for stock updates (minimum 10 seconds)" +msgstr "" + +msgid "Hr" +msgstr "" + +msgid "Image" +msgstr "" + +msgid "In Stock" +msgstr "" + +msgid "Inactive" +msgstr "" + +msgid "Increase quantity" +msgstr "" + +msgid "Individual" +msgstr "" + +msgid "Install" +msgstr "" + +msgid "Install POSNext" +msgstr "" + +msgid "Insufficient Stock" +msgstr "" + +msgid "Invoice" +msgstr "" + +msgid "Invoice #:" +msgstr "" + +msgid "Invoice - {0}" +msgstr "" + +msgid "Invoice Created Successfully" +msgstr "" + +msgid "Invoice Details" +msgstr "" + +msgid "Invoice History" +msgstr "" + +msgid "Invoice ID: {0}" +msgstr "" + +msgid "Invoice Management" +msgstr "" + +msgid "Invoice Summary" +msgstr "" + +msgid "Invoice loaded to cart for editing" +msgstr "" + +msgid "Invoice must be submitted to create a return" +msgstr "" + +msgid "Invoice saved as draft successfully" +msgstr "" + +msgid "Invoice saved offline. Will sync when online" +msgstr "" + +msgid "Invoice {0} created and sent to printer" +msgstr "" + +msgid "Invoice {0} created but print failed" +msgstr "" + +msgid "Invoice {0} created successfully" +msgstr "" + +msgid "Invoice {0} created successfully!" +msgstr "" + +msgid "Item" +msgstr "" + +msgid "Item Code" +msgstr "" + +msgid "Item Discount" +msgstr "" + +msgid "Item Group" +msgstr "" + +msgid "Item Groups" +msgstr "" + +msgid "Item Not Found: No item found with barcode: {0}" +msgstr "" + +msgid "Item: {0}" +msgstr "" + +msgid "Items" +msgstr "" + +msgid "Items to Return:" +msgstr "" + +msgid "Items:" +msgstr "" + +msgid "Just now" +msgstr "" + +msgid "Language" +msgstr "" + +msgid "Last" +msgstr "" + +msgid "Last 30 Days" +msgstr "" + +msgid "Last 7 Days" +msgstr "" + +msgid "Last Modified" +msgstr "" + +msgid "Last Sync:" +msgstr "" + +msgid "List View" +msgstr "" + +msgid "Load More" +msgstr "" + +msgid "Load more ({0} remaining)" +msgstr "" + +msgid "Loading customers for offline use..." +msgstr "" + +msgid "Loading customers..." +msgstr "" + +msgid "Loading invoice details..." +msgstr "" + +msgid "Loading invoices..." +msgstr "" + +msgid "Loading items..." +msgstr "" + +msgid "Loading more items..." +msgstr "" + +msgid "Loading offers..." +msgstr "" + +msgid "Loading options..." +msgstr "" + +msgid "Loading serial numbers..." +msgstr "" + +msgid "Loading settings..." +msgstr "" + +msgid "Loading shift data..." +msgstr "" + +msgid "Loading stock information..." +msgstr "" + +msgid "Loading variants..." +msgstr "" + +msgid "Loading warehouses..." +msgstr "" + +msgid "Loading {0}..." +msgstr "" + +msgid "Loading..." +msgstr "" + +msgid "Login Failed" +msgstr "" + +msgid "Logout" +msgstr "" + +msgid "Low Stock" +msgstr "" + +msgid "Manage all your invoices in one place" +msgstr "" + +msgid "Manage invoices with pending payments" +msgstr "" + +msgid "Manage promotional schemes and coupons" +msgstr "" + +msgid "Max Discount (%)" +msgstr "" + +msgid "Maximum Amount ({0})" +msgstr "" + +msgid "Maximum Discount Amount" +msgstr "" + +msgid "Maximum Quantity" +msgstr "" + +msgid "Maximum Use" +msgstr "" + +msgid "Maximum allowed discount is {0}%" +msgstr "" + +msgid "Maximum allowed discount is {0}% ({1} {2})" +msgstr "" + +msgid "Maximum cart value exceeded ({0})" +msgstr "" + +msgid "Maximum discount per item" +msgstr "" + +msgid "Maximum {0} eligible items allowed for this offer" +msgstr "" + +msgid "Merged into {0} (Total: {1})" +msgstr "" + +msgid "Message: {0}" +msgstr "" + +msgid "Min" +msgstr "" + +msgid "Min Purchase" +msgstr "" + +msgid "Min Quantity" +msgstr "" + +msgid "Minimum Amount ({0})" +msgstr "" + +msgid "Minimum Cart Amount" +msgstr "" + +msgid "Minimum Quantity" +msgstr "" + +msgid "Minimum cart value of {0} required" +msgstr "" + +msgid "Mobile" +msgstr "" + +msgid "Mobile Number" +msgstr "" + +msgid "More" +msgstr "" + +msgid "Multiple Items Found: {0} items match barcode. Please refine search." +msgstr "" + +msgid "Multiple Items Found: {0} items match. Please select one." +msgstr "" + +msgid "My Gift Cards ({0})" +msgstr "" + +msgid "N/A" +msgstr "" + +msgid "Name" +msgstr "" + +msgid "Naming Series Error" +msgstr "" + +msgid "Navigate" +msgstr "" + +msgid "Negative Stock" +msgstr "" + +msgid "Negative stock sales are now allowed" +msgstr "" + +msgid "Negative stock sales are now restricted" +msgstr "" + +msgid "Net Sales" +msgstr "" + +msgid "Net Total" +msgstr "" + +msgid "Net Total:" +msgstr "" + +msgid "Net Variance" +msgstr "" + +msgid "Net tax" +msgstr "" + +msgid "Network Usage:" +msgstr "" + +msgid "Never" +msgstr "" + +msgid "Next" +msgstr "" + +msgid "No Active Shift" +msgstr "" + +msgid "No Options Available" +msgstr "" + +msgid "No POS Profile Selected" +msgstr "" + +msgid "No POS Profiles available. Please contact your administrator." +msgstr "" + +msgid "No Partial Payments" +msgstr "" + +msgid "No Sales During This Shift" +msgstr "" + +msgid "No Sorting" +msgstr "" + +msgid "No Stock Available" +msgstr "" + +msgid "No Unpaid Invoices" +msgstr "" + +msgid "No Variants Available" +msgstr "" + +msgid "No additional units of measurement configured for this item." +msgstr "" + +msgid "No countries found" +msgstr "" + +msgid "No coupons found" +msgstr "" + +msgid "No customers available" +msgstr "" + +msgid "No draft invoices" +msgstr "" + +msgid "No expiry" +msgstr "" + +msgid "No invoices found" +msgstr "" + +msgid "No invoices were created. Closing amounts should match opening amounts." +msgstr "" + +msgid "No items" +msgstr "" + +msgid "No items available" +msgstr "" + +msgid "No items available for return" +msgstr "" + +msgid "No items found" +msgstr "" + +msgid "No offers available" +msgstr "" + +msgid "No options available" +msgstr "" + +msgid "No payment methods available" +msgstr "" + +msgid "No payment methods configured for this POS Profile" +msgstr "" + +msgid "No pending invoices to sync" +msgstr "" + +msgid "No pending offline invoices" +msgstr "" + +msgid "No promotions found" +msgstr "" + +msgid "No redeemable points available" +msgstr "" + +msgid "No results for {0}" +msgstr "" + +msgid "No results for {0} in {1}" +msgstr "" + +msgid "No results found" +msgstr "" + +msgid "No results in {0}" +msgstr "" + +msgid "No return invoices" +msgstr "" + +msgid "No sales" +msgstr "" + +msgid "No sales persons found" +msgstr "" + +msgid "No serial numbers available" +msgstr "" + +msgid "No serial numbers match your search" +msgstr "" + +msgid "No stock available" +msgstr "" + +msgid "No variants found" +msgstr "" + +msgid "Nos" +msgstr "" + +msgid "Not Found" +msgstr "" + +msgid "Not Started" +msgstr "" + +msgid "" +"Not enough stock available in the warehouse.\\n\\nPlease reduce the quantity " +"or check stock availability." +msgstr "" + +msgid "OK" +msgstr "" + +msgid "Offer applied: {0}" +msgstr "" + +msgid "Offer has been removed from cart" +msgstr "" + +msgid "Offer removed: {0}. Cart no longer meets requirements." +msgstr "" + +msgid "Offers" +msgstr "" + +msgid "Offers applied: {0}" +msgstr "" + +msgid "Offline ({0} pending)" +msgstr "" + +msgid "Offline Invoices" +msgstr "" + +msgid "Offline invoice deleted successfully" +msgstr "" + +msgid "Offline mode active" +msgstr "" + +msgid "Offline: {0} applied" +msgstr "" + +msgid "On Account" +msgstr "" + +msgid "Online - Click to sync" +msgstr "" + +msgid "Online mode active" +msgstr "" + +msgid "Only One Use Per Customer" +msgstr "" + +msgid "Only one unit available" +msgstr "" + +msgid "Open POS Shift" +msgstr "" + +msgid "Open Shift" +msgstr "" + +msgid "Open a shift before creating a return invoice." +msgstr "" + +msgid "Opening" +msgstr "" + +msgid "Opening Balance (Optional)" +msgstr "" + +msgid "Optional cap in {0}" +msgstr "" + +msgid "Optional minimum in {0}" +msgstr "" + +msgid "Order" +msgstr "" + +msgid "Out of Stock" +msgstr "" + +msgid "Outstanding" +msgstr "" + +msgid "Outstanding Balance" +msgstr "" + +msgid "Outstanding Payments" +msgstr "" + +msgid "Outstanding:" +msgstr "" + +msgid "Over {0}" +msgstr "" + +msgid "Overdue" +msgstr "" + +msgid "Overdue ({0})" +msgstr "" + +msgid "PARTIAL PAYMENT" +msgstr "" + +msgid "POS Next" +msgstr "" + +msgid "POS Profile not found" +msgstr "" + +msgid "POS Profile: {0}" +msgstr "" + +msgid "POS Settings" +msgstr "" + +msgid "POS is offline without cached data. Please connect to sync." +msgstr "" + +msgid "PRICING RULE" +msgstr "" + +msgid "PROMO SCHEME" +msgstr "" + +msgid "Paid" +msgstr "" + +msgid "Paid Amount" +msgstr "" + +msgid "Paid Amount:" +msgstr "" + +msgid "Paid: {0}" +msgstr "" + +msgid "Partial" +msgstr "" + +msgid "Partial Payment" +msgstr "" + +msgid "Partial Payments" +msgstr "" + +msgid "Partially Paid ({0})" +msgstr "" + +msgid "Partially Paid Invoice" +msgstr "" + +msgid "Partly Paid" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Pay" +msgstr "" + +msgid "Pay on Account" +msgstr "" + +msgid "Payment Error" +msgstr "" + +msgid "Payment History" +msgstr "" + +msgid "Payment Method" +msgstr "" + +msgid "Payment Reconciliation" +msgstr "" + +msgid "Payment Total:" +msgstr "" + +msgid "Payment added successfully" +msgstr "" + +msgid "Payments" +msgstr "" + +msgid "Payments:" +msgstr "" + +msgid "Percentage" +msgstr "" + +msgid "Percentage (%)" +msgstr "" + +msgid "" +"Periodically sync stock quantities from server in the background (runs in " +"Web Worker)" +msgstr "" + +msgid "Permanently delete all {0} draft invoices?" +msgstr "" + +msgid "Permanently delete this draft invoice?" +msgstr "" + +msgid "Permission Denied" +msgstr "" + +msgid "Permission Required" +msgstr "" + +msgid "Please add items to cart before proceeding to payment" +msgstr "" + +msgid "Please enter a coupon code" +msgstr "" + +msgid "Please enter a coupon name" +msgstr "" + +msgid "Please enter a promotion name" +msgstr "" + +msgid "Please enter a valid discount amount" +msgstr "" + +msgid "Please enter a valid discount percentage (1-100)" +msgstr "" + +msgid "Please enter all closing amounts" +msgstr "" + +msgid "Please open a shift to start making sales" +msgstr "" + +msgid "Please select a POS Profile to configure settings" +msgstr "" + +msgid "Please select a customer" +msgstr "" + +msgid "Please select a customer before proceeding" +msgstr "" + +msgid "Please select a customer for gift card" +msgstr "" + +msgid "Please select a discount type" +msgstr "" + +msgid "Please select at least one variant" +msgstr "" + +msgid "Please select at least one {0}" +msgstr "" + +msgid "Please wait while we clear your cached data" +msgstr "" + +msgid "Points applied: {0}. Please pay remaining {1} with {2}" +msgstr "" + +msgid "Previous" +msgstr "" + +msgid "Price" +msgstr "" + +msgid "Pricing & Discounts" +msgstr "" + +msgid "Pricing Error" +msgstr "" + +msgid "Pricing Rule" +msgstr "" + +msgid "Print" +msgstr "" + +msgid "Print Invoice" +msgstr "" + +msgid "Print Receipt" +msgstr "" + +msgid "Print draft" +msgstr "" + +msgid "Print without confirmation" +msgstr "" + +msgid "Proceed to payment" +msgstr "" + +msgid "Process Return" +msgstr "" + +msgid "Process return invoice" +msgstr "" + +msgid "Processing..." +msgstr "" + +msgid "Product" +msgstr "" + +msgid "Products" +msgstr "" + +msgid "Promotion & Coupon Management" +msgstr "" + +msgid "Promotion Name" +msgstr "" + +msgid "Promotion created successfully" +msgstr "" + +msgid "Promotion deleted successfully" +msgstr "" + +msgid "Promotion saved successfully" +msgstr "" + +msgid "Promotion status updated successfully" +msgstr "" + +msgid "Promotion updated successfully" +msgstr "" + +msgid "Promotional" +msgstr "" + +msgid "Promotional Scheme" +msgstr "" + +msgid "Promotional Schemes" +msgstr "" + +msgid "Promotions" +msgstr "" + +msgid "Qty" +msgstr "" + +msgid "Qty: {0}" +msgstr "" + +msgid "Quantity" +msgstr "" + +msgid "Quick amounts for {0}" +msgstr "" + +msgid "Rate" +msgstr "" + +msgid "Read-only: Edit in ERPNext" +msgstr "" + +msgid "Ready" +msgstr "" + +msgid "Recent & Frequent" +msgstr "" + +msgid "Referral Code" +msgstr "" + +msgid "Refresh" +msgstr "" + +msgid "Refresh Items" +msgstr "" + +msgid "Refresh items list" +msgstr "" + +msgid "Refreshing items..." +msgstr "" + +msgid "Refreshing..." +msgstr "" + +msgid "Refund Payment Methods" +msgstr "" + +msgid "Refundable Amount:" +msgstr "" + +msgid "Remaining" +msgstr "" + +msgid "Remarks" +msgstr "" + +msgid "Remove" +msgstr "" + +msgid "Remove all {0} items from cart?" +msgstr "" + +msgid "Remove customer" +msgstr "" + +msgid "Remove item" +msgstr "" + +msgid "Remove serial" +msgstr "" + +msgid "Remove {0}" +msgstr "" + +msgid "Reports" +msgstr "" + +msgid "Requested quantity ({0}) exceeds available stock ({1})" +msgstr "" + +msgid "Required" +msgstr "" + +msgid "Resume Shift" +msgstr "" + +msgid "Return" +msgstr "" + +msgid "Return Against:" +msgstr "" + +msgid "Return Invoice" +msgstr "" + +msgid "Return Qty:" +msgstr "" + +msgid "Return Reason" +msgstr "" + +msgid "Return Summary" +msgstr "" + +msgid "Return Value:" +msgstr "" + +msgid "Return against {0}" +msgstr "" + +msgid "Return invoice {0} created successfully" +msgstr "" + +msgid "Return invoices will appear here" +msgstr "" + +msgid "Returns" +msgstr "" + +msgid "Rule" +msgstr "" + +msgid "Sale" +msgstr "" + +msgid "Sales Controls" +msgstr "" + +msgid "Sales Invoice" +msgstr "" + +msgid "Sales Management" +msgstr "" + +msgid "Sales Operations" +msgstr "" + +msgid "Sales Order" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Save Changes" +msgstr "" + +msgid "Save invoices as drafts to continue later" +msgstr "" + +msgid "Save these filters as..." +msgstr "" + +msgid "Saved Filters" +msgstr "" + +msgid "Scanner ON - Enable Auto for automatic addition" +msgstr "" + +msgid "Scheme" +msgstr "" + +msgid "Search Again" +msgstr "" + +msgid "Search and select a customer for the transaction" +msgstr "" + +msgid "Search by email: {0}" +msgstr "" + +msgid "Search by invoice number or customer name..." +msgstr "" + +msgid "Search by invoice number or customer..." +msgstr "" + +msgid "Search by item code, name or scan barcode" +msgstr "" + +msgid "Search by item name, code, or scan barcode" +msgstr "" + +msgid "Search by name or code..." +msgstr "" + +msgid "Search by phone: {0}" +msgstr "" + +msgid "Search countries..." +msgstr "" + +msgid "Search country or code..." +msgstr "" + +msgid "Search coupons..." +msgstr "" + +msgid "Search customer by name or mobile..." +msgstr "" + +msgid "Search customer in cart" +msgstr "" + +msgid "Search customers" +msgstr "" + +msgid "Search customers by name, mobile, or email..." +msgstr "" + +msgid "Search customers..." +msgstr "" + +msgid "Search for an item" +msgstr "" + +msgid "Search for items across warehouses" +msgstr "" + +msgid "Search invoices..." +msgstr "" + +msgid "Search item... (min 2 characters)" +msgstr "" + +msgid "Search items" +msgstr "" + +msgid "Search items by name or code..." +msgstr "" + +msgid "Search or add customer..." +msgstr "" + +msgid "Search products..." +msgstr "" + +msgid "Search promotions..." +msgstr "" + +msgid "Search sales person..." +msgstr "" + +msgid "Search serial numbers..." +msgstr "" + +msgid "Search..." +msgstr "" + +msgid "Searching..." +msgstr "" + +msgid "Sec" +msgstr "" + +msgid "Select" +msgstr "" + +msgid "Select All" +msgstr "" + +msgid "Select Batch Number" +msgstr "" + +msgid "Select Batch Numbers" +msgstr "" + +msgid "Select Brand" +msgstr "" + +msgid "Select Customer" +msgstr "" + +msgid "Select Customer Group" +msgstr "" + +msgid "Select Invoice to Return" +msgstr "" + +msgid "Select Item" +msgstr "" + +msgid "Select Item Group" +msgstr "" + +msgid "Select Item Variant" +msgstr "" + +msgid "Select Items to Return" +msgstr "" + +msgid "Select POS Profile" +msgstr "" + +msgid "Select Serial Numbers" +msgstr "" + +msgid "Select Territory" +msgstr "" + +msgid "Select Unit of Measure" +msgstr "" + +msgid "Select Variants" +msgstr "" + +msgid "Select a Coupon" +msgstr "" + +msgid "Select a Promotion" +msgstr "" + +msgid "Select a payment method" +msgstr "" + +msgid "Select a payment method to start" +msgstr "" + +msgid "Select items to start or choose a quick action" +msgstr "" + +msgid "Select method..." +msgstr "" + +msgid "Select option" +msgstr "" + +msgid "Select the unit of measure for this item:" +msgstr "" + +msgid "Select {0}" +msgstr "" + +msgid "Selected" +msgstr "" + +msgid "Serial No:" +msgstr "" + +msgid "Serial Numbers" +msgstr "" + +msgid "Server Error" +msgstr "" + +msgid "Settings" +msgstr "" + +msgid "Settings saved and warehouse updated. Reloading stock..." +msgstr "" + +msgid "Settings saved successfully" +msgstr "" + +msgid "" +"Settings saved, warehouse updated, and tax mode changed. Cart will be " +"recalculated." +msgstr "" + +msgid "Shift Open" +msgstr "" + +msgid "Shift Open:" +msgstr "" + +msgid "Shift Status" +msgstr "" + +msgid "Shift closed successfully" +msgstr "" + +msgid "Shift is Open" +msgstr "" + +msgid "Shift start" +msgstr "" + +msgid "Short {0}" +msgstr "" + +msgid "Show discounts as percentages" +msgstr "" + +msgid "Show exact totals without rounding" +msgstr "" + +msgid "Show password" +msgstr "" + +msgid "Sign Out" +msgstr "" + +msgid "Sign Out Confirmation" +msgstr "" + +msgid "Sign Out Only" +msgstr "" + +msgid "Sign Out?" +msgstr "" + +msgid "Sign in" +msgstr "" + +msgid "Sign in to POS Next" +msgstr "" + +msgid "Sign out" +msgstr "" + +msgid "Signing Out..." +msgstr "" + +msgid "Signing in..." +msgstr "" + +msgid "Signing out..." +msgstr "" + +msgid "Silent Print" +msgstr "" + +msgid "Skip & Sign Out" +msgstr "" + +msgid "Snooze for 7 days" +msgstr "" + +msgid "Some data may not be available offline" +msgstr "" + +msgid "Sort Items" +msgstr "" + +msgid "Sort items" +msgstr "" + +msgid "Sorted by {0} A-Z" +msgstr "" + +msgid "Sorted by {0} Z-A" +msgstr "" + +msgid "Special Offer" +msgstr "" + +msgid "Specific Items" +msgstr "" + +msgid "Start Sale" +msgstr "" + +msgid "Start typing to see suggestions" +msgstr "" + +msgid "Status:" +msgstr "" + +msgid "Status: {0}" +msgstr "" + +msgid "Stock Controls" +msgstr "" + +msgid "Stock Lookup" +msgstr "" + +msgid "Stock Management" +msgstr "" + +msgid "Stock Validation Policy" +msgstr "" + +msgid "Stock unit" +msgstr "" + +msgid "Stock: {0}" +msgstr "" + +msgid "Subtotal" +msgstr "" + +msgid "Subtotal (before tax)" +msgstr "" + +msgid "Subtotal:" +msgstr "" + +msgid "Summary" +msgstr "" + +msgid "Switch to grid view" +msgstr "" + +msgid "Switch to list view" +msgstr "" + +msgid "Switched to {0}. Stock quantities refreshed." +msgstr "" + +msgid "Sync All" +msgstr "" + +msgid "Sync Interval (seconds)" +msgstr "" + +msgid "Syncing" +msgstr "" + +msgid "Syncing catalog in background... {0} items cached" +msgstr "" + +msgid "Syncing..." +msgstr "" + +msgid "System Test" +msgstr "" + +msgid "TAX INVOICE" +msgstr "" + +msgid "TOTAL:" +msgstr "" + +msgid "Tabs" +msgstr "" + +msgid "Tax" +msgstr "" + +msgid "Tax Collected" +msgstr "" + +msgid "Tax Configuration Error" +msgstr "" + +msgid "Tax Inclusive" +msgstr "" + +msgid "Tax Summary" +msgstr "" + +msgid "Tax mode updated. Cart recalculated with new tax settings." +msgstr "" + +msgid "Tax:" +msgstr "" + +msgid "Taxes:" +msgstr "" + +msgid "Technical: {0}" +msgstr "" + +msgid "Territory" +msgstr "" + +msgid "Test Connection" +msgstr "" + +msgid "Thank you for your business!" +msgstr "" + +msgid "The coupon code you entered is not valid" +msgstr "" + +msgid "This Month" +msgstr "" + +msgid "This Week" +msgstr "" + +msgid "This action cannot be undone." +msgstr "" + +msgid "This combination is not available" +msgstr "" + +msgid "This coupon requires a minimum purchase of " +msgstr "" + +msgid "" +"This invoice was paid on account (credit sale). The return will reverse the " +"accounts receivable balance. No cash refund will be processed." +msgstr "" + +msgid "" +"This invoice was partially paid. The refund will be split proportionally." +msgstr "" + +msgid "This invoice was sold on credit. The customer owes the full amount." +msgstr "" + +msgid "This item is out of stock in all warehouses" +msgstr "" + +msgid "" +"This item template <strong>{0}<strong> has no variants created " +"yet." +msgstr "" + +msgid "" +"This return was against a Pay on Account invoice. The accounts receivable " +"balance has been reversed. No cash refund was processed." +msgstr "" + +msgid "" +"This will also delete all associated pricing rules. This action cannot be " +"undone." +msgstr "" + +msgid "" +"This will clear all cached items, customers, and stock data. Invoices and " +"drafts will be preserved." +msgstr "" + +msgid "Time" +msgstr "" + +msgid "Times Used" +msgstr "" + +msgid "Timestamp: {0}" +msgstr "" + +msgid "Title: {0}" +msgstr "" + +msgid "To Date" +msgstr "" + +msgid "To create variants:" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Total" +msgstr "" + +msgid "Total Actual" +msgstr "" + +msgid "Total Amount" +msgstr "" + +msgid "Total Available" +msgstr "" + +msgid "Total Expected" +msgstr "" + +msgid "Total Paid:" +msgstr "" + +msgid "Total Quantity" +msgstr "" + +msgid "Total Refund:" +msgstr "" + +msgid "Total Tax Collected" +msgstr "" + +msgid "Total Variance" +msgstr "" + +msgid "Total:" +msgstr "" + +msgid "Try Again" +msgstr "" + +msgid "Try a different search term" +msgstr "" + +msgid "Try a different search term or create a new customer" +msgstr "" + +msgid "Type" +msgstr "" + +msgid "Type to search items..." +msgstr "" + +msgid "Type: {0}" +msgstr "" + +msgid "UOM" +msgstr "" + +msgid "Unable to connect to server. Check your internet connection." +msgstr "" + +msgid "Unit changed to {0}" +msgstr "" + +msgid "Unit of Measure" +msgstr "" + +msgid "Unknown" +msgstr "" + +msgid "Unlimited" +msgstr "" + +msgid "Unpaid" +msgstr "" + +msgid "Unpaid ({0})" +msgstr "" + +msgid "Until {0}" +msgstr "" + +msgid "Update" +msgstr "" + +msgid "Update Item" +msgstr "" + +msgid "Update the promotion details below" +msgstr "" + +msgid "Use Percentage Discount" +msgstr "" + +msgid "Used: {0}" +msgstr "" + +msgid "Used: {0}/{1}" +msgstr "" + +msgid "User ID / Email" +msgstr "" + +msgid "User: {0}" +msgstr "" + +msgid "Valid From" +msgstr "" + +msgid "Valid Until" +msgstr "" + +msgid "Validation Error" +msgstr "" + +msgid "Validity & Usage" +msgstr "" + +msgid "View" +msgstr "" + +msgid "View Details" +msgstr "" + +msgid "View Shift" +msgstr "" + +msgid "View all available offers" +msgstr "" + +msgid "View and update coupon information" +msgstr "" + +msgid "View cart" +msgstr "" + +msgid "View cart with {0} items" +msgstr "" + +msgid "View current shift details" +msgstr "" + +msgid "View draft invoices" +msgstr "" + +msgid "View invoice history" +msgstr "" + +msgid "View items" +msgstr "" + +msgid "View pricing rule details (read-only)" +msgstr "" + +msgid "Walk-in Customer" +msgstr "" + +msgid "Warehouse" +msgstr "" + +msgid "Warehouse Selection" +msgstr "" + +msgid "Warehouse not set" +msgstr "" + +msgid "Warehouse updated but failed to reload stock. Please refresh manually." +msgstr "" + +msgid "Welcome to POS Next" +msgstr "" + +msgid "Welcome to POS Next!" +msgstr "" + +msgid "" +"When enabled, displayed prices include tax. When disabled, tax is calculated " +"separately. Changes apply immediately to your cart when you save." +msgstr "" + +msgid "Will apply when eligible" +msgstr "" + +msgid "Write Off Change" +msgstr "" + +msgid "Write off small change amounts" +msgstr "" + +msgid "Yesterday" +msgstr "" + +msgid "You can now start making sales" +msgstr "" + +msgid "You have an active shift open. Would you like to:" +msgstr "" + +msgid "" +"You have an open shift. Would you like to resume it or close it and open a " +"new one?" +msgstr "" + +msgid "You have less than expected." +msgstr "" + +msgid "You have more than expected." +msgstr "" + +msgid "You need to open a shift before you can start making sales." +msgstr "" + +msgid "You will be logged out of POS Next" +msgstr "" + +msgid "Your Shift is Still Open!" +msgstr "" + +msgid "Your cart is empty" +msgstr "" + +msgid "Your point of sale system is ready to use." +msgstr "" + +msgid "discount ({0})" +msgstr "" + +msgid "e.g., 20" +msgstr "" + +msgid "e.g., Summer Sale 2025" +msgstr "" + +msgid "e.g., Summer Sale Coupon 2025" +msgstr "" + +msgid "in 1 warehouse" +msgstr "" + +msgid "in {0} warehouses" +msgstr "" + +msgid "of {0}" +msgstr "" + +msgid "optional" +msgstr "" + +msgid "per {0}" +msgstr "" + +msgid "variant" +msgstr "" + +msgid "variants" +msgstr "" + +msgid "{0} ({1}) added to cart" +msgstr "" + +msgid "{0} - {1} of {2}" +msgstr "" + +msgid "{0} OFF" +msgstr "" + +msgid "{0} Pending Invoice(s)" +msgstr "" + +msgid "{0} added to cart" +msgstr "" + +msgid "{0} applied successfully" +msgstr "" + +msgid "{0} created and selected" +msgstr "" + +msgid "{0} failed" +msgstr "" + +msgid "{0} free item(s) included" +msgstr "" + +msgid "{0} hours ago" +msgstr "" + +msgid "{0} invoice - {1} outstanding" +msgstr "" + +msgid "{0} invoice(s) failed to sync" +msgstr "" + +msgid "{0} invoice(s) synced successfully" +msgstr "" + +msgid "{0} invoices" +msgstr "" + +msgid "{0} invoices - {1} outstanding" +msgstr "" + +msgid "{0} item(s)" +msgstr "" + +msgid "{0} item(s) selected" +msgstr "" + +msgid "{0} items" +msgstr "" + +msgid "{0} items found" +msgstr "" + +msgid "{0} minutes ago" +msgstr "" + +msgid "{0} of {1} customers" +msgstr "" + +msgid "{0} off {1}" +msgstr "" + +msgid "{0} paid" +msgstr "" + +msgid "{0} returns" +msgstr "" + +msgid "{0} selected" +msgstr "" + +msgid "{0} settings applied immediately" +msgstr "" + +msgid "{0} transactions • {1}" +msgstr "" + +msgid "{0} updated" +msgstr "" + +msgid "{0}%" +msgstr "" + +msgid "{0}% OFF" +msgstr "" + +msgid "{0}% off {1}" +msgstr "" + +msgid "{0}: maximum {1}" +msgstr "" + +msgid "{0}h {1}m" +msgstr "" + +msgid "{0}m" +msgstr "" + +msgid "{0}m ago" +msgstr "" + +msgid "{0}s ago" +msgstr "" + +msgid "~15 KB per sync cycle" +msgstr "" + +msgid "~{0} MB per hour" +msgstr "" + +msgid "• Use ↑↓ to navigate, Enter to select" +msgstr "" + +msgid "⚠️ Payment total must equal refund amount" +msgstr "" + +msgid "⚠️ Payment total must equal refundable amount" +msgstr "" + +msgid "⚠️ {0} already returned" +msgstr "" + +msgid "✓ Balanced" +msgstr "" + +msgid "✓ Connection successful: {0}" +msgstr "" + +msgid "✓ Shift Closed" +msgstr "" + +msgid "✓ Shift closed successfully" +msgstr "" + +msgid "✗ Connection failed: {0}" +msgstr "" diff --git a/pos_next/locale/pt_br.po b/pos_next/locale/pt_br.po new file mode 100644 index 00000000..5358d7a2 --- /dev/null +++ b/pos_next/locale/pt_br.po @@ -0,0 +1,4026 @@ +# Translations template for POS Next. +# Copyright (C) 2026 BrainWise +# This file is distributed under the same license as the POS Next project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: POS Next VERSION\n" +"Report-Msgid-Bugs-To: support@brainwise.me\n" +"POT-Creation-Date: 2026-01-12 12:13+0000\n" +"PO-Revision-Date: 2026-01-12 11:54+0034\n" +"Last-Translator: support@brainwise.me\n" +"Language-Team: support@brainwise.me\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.13.1\n" + +#: pos_next/api/bootstrap.py:36 pos_next/api/utilities.py:24 +msgid "Authentication required" +msgstr "" + +#: pos_next/api/branding.py:204 +msgid "Insufficient permissions" +msgstr "" + +#: pos_next/api/sales_invoice_hooks.py:140 +msgid "" +"Warning: Some credit journal entries may not have been cancelled. Please " +"check manually." +msgstr "" + +#: pos_next/api/shifts.py:108 +#, python-brace-format +msgid "You already have an open shift: {0}" +msgstr "" + +#: pos_next/api/shifts.py:163 +#, python-brace-format +msgid "Error getting closing shift data: {0}" +msgstr "" + +#: pos_next/api/shifts.py:181 +#, python-brace-format +msgid "Error submitting closing shift: {0}" +msgstr "" + +#: pos_next/api/utilities.py:27 +msgid "User is disabled" +msgstr "" + +#: pos_next/api/utilities.py:30 +msgid "Invalid session" +msgstr "" + +#: pos_next/api/utilities.py:35 +msgid "Failed to generate CSRF token" +msgstr "" + +#: pos_next/api/utilities.py:59 +#, python-brace-format +msgid "Could not parse '{0}' as JSON: {1}" +msgstr "" + +#: pos_next/api/items.py:324 pos_next/api/items.py:1290 +#: pos_next/api/credit_sales.py:470 pos_next/api/credit_sales.py:510 +#: pos_next/api/partial_payments.py:563 pos_next/api/partial_payments.py:640 +#: pos_next/api/partial_payments.py:924 pos_next/api/partial_payments.py:987 +#: pos_next/api/invoices.py:1104 pos_next/api/pos_profile.py:35 +#: pos_next/api/pos_profile.py:129 pos_next/api/pos_profile.py:253 +msgid "POS Profile is required" +msgstr "" + +#: pos_next/api/items.py:340 +#, python-brace-format +msgid "Item with barcode {0} not found" +msgstr "" + +#: pos_next/api/items.py:347 +#, python-brace-format +msgid "Warehouse not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:349 +#, python-brace-format +msgid "Selling Price List not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:351 +#, python-brace-format +msgid "Company not set in POS Profile {0}" +msgstr "" + +#: pos_next/api/items.py:358 pos_next/api/items.py:1297 +#, python-brace-format +msgid "Item {0} is not allowed for sales" +msgstr "" + +#: pos_next/api/items.py:384 +#, python-brace-format +msgid "Error searching by barcode: {0}" +msgstr "" + +#: pos_next/api/items.py:414 +#, python-brace-format +msgid "Error fetching item stock: {0}" +msgstr "" + +#: pos_next/api/items.py:465 +#, python-brace-format +msgid "Error fetching batch/serial details: {0}" +msgstr "" + +#: pos_next/api/items.py:502 +#, python-brace-format +msgid "" +"No variants created for template item '{template_item}'. Please create " +"variants first." +msgstr "" + +#: pos_next/api/items.py:601 +#, python-brace-format +msgid "Error fetching item variants: {0}" +msgstr "" + +#: pos_next/api/items.py:1271 +#, python-brace-format +msgid "Error fetching items: {0}" +msgstr "" + +#: pos_next/api/items.py:1321 +#, python-brace-format +msgid "Error fetching item details: {0}" +msgstr "" + +#: pos_next/api/items.py:1353 +#, python-brace-format +msgid "Error fetching item groups: {0}" +msgstr "" + +#: pos_next/api/items.py:1460 +#, python-brace-format +msgid "Error fetching stock quantities: {0}" +msgstr "" + +#: pos_next/api/items.py:1574 +msgid "Either item_code or item_codes must be provided" +msgstr "" + +#: pos_next/api/items.py:1655 +#, python-brace-format +msgid "Error fetching warehouse availability: {0}" +msgstr "" + +#: pos_next/api/items.py:1746 +#, python-brace-format +msgid "Error fetching bundle availability for {0}: {1}" +msgstr "" + +#: pos_next/api/offers.py:504 +msgid "Coupons are not enabled" +msgstr "" + +#: pos_next/api/offers.py:518 +msgid "Invalid coupon code" +msgstr "" + +#: pos_next/api/offers.py:521 +msgid "This coupon is disabled" +msgstr "" + +#: pos_next/api/offers.py:526 +msgid "This gift card has already been used" +msgstr "" + +#: pos_next/api/offers.py:530 +msgid "This coupon has reached its usage limit" +msgstr "" + +#: pos_next/api/offers.py:534 +msgid "This coupon is not yet valid" +msgstr "" + +#: pos_next/api/offers.py:537 +msgid "This coupon has expired" +msgstr "" + +#: pos_next/api/offers.py:541 +msgid "This coupon is not valid for this customer" +msgstr "" + +#: pos_next/api/credit_sales.py:34 pos_next/api/credit_sales.py:149 +#: pos_next/api/customers.py:196 +msgid "Customer is required" +msgstr "" + +#: pos_next/api/credit_sales.py:152 pos_next/api/promotions.py:235 +#: pos_next/api/promotions.py:673 +msgid "Company is required" +msgstr "" + +#: pos_next/api/credit_sales.py:156 +msgid "Credit sale is not enabled for this POS Profile" +msgstr "" + +#: pos_next/api/credit_sales.py:238 pos_next/api/partial_payments.py:710 +#: pos_next/api/partial_payments.py:796 pos_next/api/invoices.py:1076 +msgid "Invoice name is required" +msgstr "" + +#: pos_next/api/credit_sales.py:247 +msgid "Invoice must be submitted to redeem credit" +msgstr "" + +#: pos_next/api/credit_sales.py:346 +#, python-brace-format +msgid "Journal Entry {0} created for credit redemption" +msgstr "" + +#: pos_next/api/credit_sales.py:372 +#, python-brace-format +msgid "Payment Entry {0} has insufficient unallocated amount" +msgstr "" + +#: pos_next/api/credit_sales.py:394 +#, python-brace-format +msgid "Payment Entry {0} allocated to invoice" +msgstr "" + +#: pos_next/api/credit_sales.py:451 +#, python-brace-format +msgid "Cancelled {0} credit redemption journal entries" +msgstr "" + +#: pos_next/api/credit_sales.py:519 pos_next/api/partial_payments.py:571 +#: pos_next/api/partial_payments.py:647 pos_next/api/partial_payments.py:931 +#: pos_next/api/partial_payments.py:994 pos_next/api/invoices.py:1113 +#: pos_next/api/pos_profile.py:44 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:93 +msgid "You don't have access to this POS Profile" +msgstr "" + +#: pos_next/api/promotions.py:24 +msgid "You don't have permission to view promotions" +msgstr "" + +#: pos_next/api/promotions.py:27 +msgid "You don't have permission to create or modify promotions" +msgstr "" + +#: pos_next/api/promotions.py:30 +msgid "You don't have permission to delete promotions" +msgstr "" + +#: pos_next/api/promotions.py:199 +#, python-brace-format +msgid "Promotion or Pricing Rule {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:233 +msgid "Promotion name is required" +msgstr "" + +#: pos_next/api/promotions.py:237 +msgid "Apply On is required" +msgstr "" + +#: pos_next/api/promotions.py:293 +msgid "Discount Rule" +msgstr "" + +#: pos_next/api/promotions.py:312 +msgid "Free Item Rule" +msgstr "" + +#: pos_next/api/promotions.py:330 +#, python-brace-format +msgid "Promotion {0} created successfully" +msgstr "" + +#: pos_next/api/promotions.py:337 +msgid "Promotion Creation Failed" +msgstr "" + +#: pos_next/api/promotions.py:340 +#, python-brace-format +msgid "Failed to create promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:356 pos_next/api/promotions.py:428 +#: pos_next/api/promotions.py:462 +#, python-brace-format +msgid "Promotional Scheme {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:410 +#, python-brace-format +msgid "Promotion {0} updated successfully" +msgstr "" + +#: pos_next/api/promotions.py:416 +msgid "Promotion Update Failed" +msgstr "" + +#: pos_next/api/promotions.py:419 +#, python-brace-format +msgid "Failed to update promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:443 +#, python-brace-format +msgid "Promotion {0} {1}" +msgstr "" + +#: pos_next/api/promotions.py:450 +msgid "Promotion Toggle Failed" +msgstr "" + +#: pos_next/api/promotions.py:453 +#, python-brace-format +msgid "Failed to toggle promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:470 +#, python-brace-format +msgid "Promotion {0} deleted successfully" +msgstr "" + +#: pos_next/api/promotions.py:476 +msgid "Promotion Deletion Failed" +msgstr "" + +#: pos_next/api/promotions.py:479 +#, python-brace-format +msgid "Failed to delete promotion: {0}" +msgstr "" + +#: pos_next/api/promotions.py:513 +msgid "Too many search requests. Please wait a moment." +msgstr "" + +#: pos_next/api/promotions.py:626 pos_next/api/promotions.py:744 +#: pos_next/api/promotions.py:799 pos_next/api/promotions.py:834 +#, python-brace-format +msgid "Coupon {0} not found" +msgstr "" + +#: pos_next/api/promotions.py:667 +msgid "Coupon name is required" +msgstr "" + +#: pos_next/api/promotions.py:669 +msgid "Coupon type is required" +msgstr "" + +#: pos_next/api/promotions.py:671 +msgid "Discount type is required" +msgstr "" + +#: pos_next/api/promotions.py:678 +msgid "Discount percentage is required when discount type is Percentage" +msgstr "" + +#: pos_next/api/promotions.py:680 +msgid "Discount percentage must be between 0 and 100" +msgstr "" + +#: pos_next/api/promotions.py:683 +msgid "Discount amount is required when discount type is Amount" +msgstr "" + +#: pos_next/api/promotions.py:685 +msgid "Discount amount must be greater than 0" +msgstr "" + +#: pos_next/api/promotions.py:689 +msgid "Customer is required for Gift Card coupons" +msgstr "" + +#: pos_next/api/promotions.py:717 +#, python-brace-format +msgid "Coupon {0} created successfully" +msgstr "" + +#: pos_next/api/promotions.py:725 +msgid "Coupon Creation Failed" +msgstr "" + +#: pos_next/api/promotions.py:728 +#, python-brace-format +msgid "Failed to create coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:781 +#, python-brace-format +msgid "Coupon {0} updated successfully" +msgstr "" + +#: pos_next/api/promotions.py:787 +msgid "Coupon Update Failed" +msgstr "" + +#: pos_next/api/promotions.py:790 +#, python-brace-format +msgid "Failed to update coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:815 +#, python-brace-format +msgid "Coupon {0} {1}" +msgstr "" + +#: pos_next/api/promotions.py:822 +msgid "Coupon Toggle Failed" +msgstr "" + +#: pos_next/api/promotions.py:825 +#, python-brace-format +msgid "Failed to toggle coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:840 +#, python-brace-format +msgid "Cannot delete coupon {0} as it has been used {1} times" +msgstr "" + +#: pos_next/api/promotions.py:848 +msgid "Coupon deleted successfully" +msgstr "Cupom excluído com sucesso" + +#: pos_next/api/promotions.py:854 +msgid "Coupon Deletion Failed" +msgstr "" + +#: pos_next/api/promotions.py:857 +#, python-brace-format +msgid "Failed to delete coupon: {0}" +msgstr "" + +#: pos_next/api/promotions.py:882 +msgid "Referral code applied successfully! You've received a welcome coupon." +msgstr "" + +#: pos_next/api/promotions.py:889 +msgid "Apply Referral Code Failed" +msgstr "" + +#: pos_next/api/promotions.py:892 +#, python-brace-format +msgid "Failed to apply referral code: {0}" +msgstr "" + +#: pos_next/api/promotions.py:927 +#, python-brace-format +msgid "Referral Code {0} not found" +msgstr "" + +#: pos_next/api/partial_payments.py:87 pos_next/api/partial_payments.py:389 +msgid "Invalid invoice name provided" +msgstr "" + +#: pos_next/api/partial_payments.py:393 +msgid "Payment amount must be greater than zero" +msgstr "" + +#: pos_next/api/partial_payments.py:399 pos_next/api/partial_payments.py:720 +#: pos_next/api/partial_payments.py:820 pos_next/api/invoices.py:1079 +#: pos_next/api/invoices.py:1208 pos_next/api/invoices.py:1311 +#, python-brace-format +msgid "Invoice {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:403 +msgid "Invoice must be submitted before adding payments" +msgstr "" + +#: pos_next/api/partial_payments.py:406 +msgid "Cannot add payment to cancelled invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:411 +#, python-brace-format +msgid "Payment amount {0} exceeds outstanding amount {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:421 +#, python-brace-format +msgid "Payment date {0} cannot be before invoice date {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:428 +#, python-brace-format +msgid "Mode of Payment {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:445 +#, python-brace-format +msgid "Payment account {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:457 +#, python-brace-format +msgid "" +"Could not determine payment account for {0}. Please specify payment_account " +"parameter." +msgstr "" + +#: pos_next/api/partial_payments.py:468 +msgid "" +"Could not determine payment account. Please specify payment_account " +"parameter." +msgstr "" + +#: pos_next/api/partial_payments.py:532 +#, python-brace-format +msgid "Failed to create payment entry: {0}" +msgstr "" + +#: pos_next/api/partial_payments.py:567 pos_next/api/partial_payments.py:644 +#: pos_next/api/partial_payments.py:928 pos_next/api/partial_payments.py:991 +#, python-brace-format +msgid "POS Profile {0} does not exist" +msgstr "" + +#: pos_next/api/partial_payments.py:714 pos_next/api/invoices.py:1083 +msgid "You don't have permission to view this invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:803 +msgid "Invalid payments payload: malformed JSON" +msgstr "" + +#: pos_next/api/partial_payments.py:807 +msgid "Payments must be a list" +msgstr "" + +#: pos_next/api/partial_payments.py:810 +msgid "At least one payment is required" +msgstr "" + +#: pos_next/api/partial_payments.py:814 +msgid "You don't have permission to add payments to this invoice" +msgstr "" + +#: pos_next/api/partial_payments.py:825 +#, python-brace-format +msgid "Total payment amount {0} exceeds outstanding amount {1}" +msgstr "" + +#: pos_next/api/partial_payments.py:870 +#, python-brace-format +msgid "Rolled back Payment Entry {0}" +msgstr "" + +#: pos_next/api/partial_payments.py:888 +#, python-brace-format +msgid "Failed to create payment entry: {0}. All changes have been rolled back." +msgstr "" + +#: pos_next/api/customers.py:55 +#, python-brace-format +msgid "Error fetching customers: {0}" +msgstr "" + +#: pos_next/api/customers.py:76 +msgid "You don't have permission to create customers" +msgstr "" + +#: pos_next/api/customers.py:79 +msgid "Customer name is required" +msgstr "" + +#: pos_next/api/invoices.py:141 +#, python-brace-format +msgid "" +"Please set default Cash or Bank account in Mode of Payment {0} or set " +"default accounts in Company {1}" +msgstr "" + +#: pos_next/api/invoices.py:143 +msgid "Missing Account" +msgstr "" + +#: pos_next/api/invoices.py:280 +#, python-brace-format +msgid "No batches available in {0} for {1}." +msgstr "" + +#: pos_next/api/invoices.py:350 +#, python-brace-format +msgid "You are trying to return more quantity for item {0} than was sold." +msgstr "" + +#: pos_next/api/invoices.py:389 +#, python-brace-format +msgid "Unable to load POS Profile {0}" +msgstr "" + +#: pos_next/api/invoices.py:678 +msgid "This invoice is currently being processed. Please wait." +msgstr "" + +#: pos_next/api/invoices.py:849 +#, python-brace-format +msgid "Missing invoice parameter. Received data: {0}" +msgstr "" + +#: pos_next/api/invoices.py:854 +msgid "Missing invoice parameter" +msgstr "" + +#: pos_next/api/invoices.py:856 +msgid "Both invoice and data parameters are missing" +msgstr "" + +#: pos_next/api/invoices.py:866 +msgid "Invalid invoice format" +msgstr "" + +#: pos_next/api/invoices.py:912 +msgid "Failed to create invoice draft" +msgstr "" + +#: pos_next/api/invoices.py:915 +msgid "Failed to get invoice name from draft" +msgstr "" + +#: pos_next/api/invoices.py:1026 +msgid "" +"Invoice submitted successfully but credit redemption failed. Please contact " +"administrator." +msgstr "" + +#: pos_next/api/invoices.py:1212 +#, python-brace-format +msgid "Cannot delete submitted invoice {0}" +msgstr "" + +#: pos_next/api/invoices.py:1215 +#, python-brace-format +msgid "Invoice {0} Deleted" +msgstr "" + +#: pos_next/api/invoices.py:1910 +#, python-brace-format +msgid "Error applying offers: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:151 +#, python-brace-format +msgid "Error fetching payment methods: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:256 +msgid "Warehouse is required" +msgstr "" + +#: pos_next/api/pos_profile.py:265 +#: pos_next/pos_next/doctype/pos_settings/pos_settings.py:141 +msgid "You don't have permission to update this POS Profile" +msgstr "" + +#: pos_next/api/pos_profile.py:273 +#, python-brace-format +msgid "Warehouse {0} is disabled" +msgstr "" + +#: pos_next/api/pos_profile.py:278 +#, python-brace-format +msgid "Warehouse {0} belongs to {1}, but POS Profile belongs to {2}" +msgstr "" + +#: pos_next/api/pos_profile.py:287 +msgid "Warehouse updated successfully" +msgstr "" + +#: pos_next/api/pos_profile.py:292 +#, python-brace-format +msgid "Error updating warehouse: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:345 pos_next/api/pos_profile.py:467 +msgid "User must have a company assigned" +msgstr "" + +#: pos_next/api/pos_profile.py:424 +#, python-brace-format +msgid "Error getting create POS profile: {0}" +msgstr "" + +#: pos_next/api/pos_profile.py:476 +msgid "At least one payment method is required" +msgstr "" + +#: pos_next/api/wallet.py:33 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:37 +#, python-brace-format +msgid "Insufficient wallet balance. Available: {0}, Requested: {1}" +msgstr "" + +#: pos_next/api/wallet.py:37 +msgid "Wallet Balance Error" +msgstr "" + +#: pos_next/api/wallet.py:100 +#, python-brace-format +msgid "Loyalty points conversion from {0}: {1} points = {2}" +msgstr "" + +#: pos_next/api/wallet.py:111 +#, python-brace-format +msgid "Loyalty points converted to wallet: {0} points = {1}" +msgstr "" + +#: pos_next/api/wallet.py:458 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:29 +msgid "Amount must be greater than zero" +msgstr "" + +#: pos_next/api/wallet.py:464 +#, python-brace-format +msgid "Could not create wallet for customer {0}" +msgstr "" + +#: pos_next/api/wallet.py:472 +msgid "Manual wallet credit" +msgstr "" + +#: pos_next/realtime_events.py:98 +msgid "Real-time Stock Update Event Error" +msgstr "" + +#: pos_next/realtime_events.py:135 +msgid "Real-time Invoice Created Event Error" +msgstr "" + +#: pos_next/realtime_events.py:183 +msgid "Real-time POS Profile Update Event Error" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:56 +#, python-brace-format +msgid "" +"POS Closing Shift already exists against {0} between " +"selected period" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:60 +msgid "Invalid Period" +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:65 +msgid "Selected POS Opening Shift should be open." +msgstr "" + +#: pos_next/pos_next/doctype/pos_closing_shift/pos_closing_shift.py:66 +msgid "Invalid Opening Entry" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:21 +msgid "Wallet Account must be a Receivable type account" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:32 +#, python-brace-format +msgid "A wallet already exists for customer {0} in company {1}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet/wallet.py:200 +#, python-brace-format +msgid "Please configure a default wallet account for company {0}" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:25 +msgid "Referrer Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:29 +msgid "Referrer Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:31 +msgid "Referrer Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:34 +msgid "Referrer Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:36 +msgid "Referrer Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:40 +msgid "Referee Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:44 +msgid "Referee Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:46 +msgid "Referee Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:49 +msgid "Referee Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:51 +msgid "Referee Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:104 +msgid "Invalid referral code" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:110 +msgid "This referral code has been disabled" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:120 +msgid "You have already used this referral code" +msgstr "" + +#: pos_next/pos_next/doctype/referral_code/referral_code.py:154 +msgid "Failed to generate your welcome coupon" +msgstr "" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:20 +msgid "POS Profile {} does not belongs to company {}" +msgstr "" + +#: pos_next/pos_next/doctype/pos_opening_shift/pos_opening_shift.py:24 +msgid "User {} has been disabled. Please select valid user/cashier" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:20 +msgid "Wallet is required" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:24 +#, python-brace-format +msgid "Wallet {0} is not active" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:83 +#, python-brace-format +msgid "Wallet {0} does not have an account configured" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:89 +msgid "Source account is required for wallet transaction" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:106 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:117 +#, python-brace-format +msgid "Wallet Credit: {0}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:132 +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:141 +#, python-brace-format +msgid "Wallet Debit: {0}" +msgstr "" + +#: pos_next/pos_next/doctype/wallet_transaction/wallet_transaction.py:282 +#, python-brace-format +msgid "Loyalty points conversion: {0} points = {1}" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:28 +msgid "Please select the customer for Gift Card." +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:32 +msgid "Discount Type is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:36 +msgid "Discount Percentage is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:38 +msgid "Discount Percentage must be between 0 and 100" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:41 +msgid "Discount Amount is required" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:43 +msgid "Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:47 +msgid "Minimum Amount cannot be negative" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:51 +msgid "Maximum Discount Amount must be greater than 0" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:56 +msgid "Valid From date cannot be after Valid Until date" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:65 +msgid "Sorry, this coupon code does not exist" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:72 +msgid "Sorry, this coupon has been disabled" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:78 +msgid "Sorry, this coupon code's validity has not started" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:83 +msgid "Sorry, this coupon code has expired" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:88 +msgid "Sorry, this coupon code has been fully redeemed" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:93 +msgid "Sorry, this coupon is not valid for this company" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:99 +msgid "Sorry, this gift card is assigned to a specific customer" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:111 +msgid "Sorry, you have already used this coupon code" +msgstr "" + +#: pos_next/pos_next/doctype/pos_coupon/pos_coupon.py:132 +#, python-brace-format +msgid "Minimum cart amount of {0} is required" +msgstr "" + +msgid "<strong>Company:<strong>" +msgstr "" + +msgid "<strong>Items Tracked:<strong> {0}" +msgstr "" + +msgid "<strong>Last Sync:<strong> Never" +msgstr "" + +msgid "<strong>Last Sync:<strong> {0}" +msgstr "" + +msgid "" +"<strong>Note:<strong> When enabled, the system will allow sales " +"even when stock quantity is zero or negative. This is useful for handling " +"stock sync delays or backorders. All transactions are tracked in the stock " +"ledger." +msgstr "" + +msgid "<strong>Opened:</strong> {0}" +msgstr "" + +msgid "<strong>Opened:<strong>" +msgstr "" + +msgid "<strong>POS Profile:</strong> {0}" +msgstr "" + +msgid "<strong>POS Profile:<strong> {0}" +msgstr "" + +msgid "<strong>Status:<strong> Running" +msgstr "" + +msgid "<strong>Status:<strong> Stopped" +msgstr "" + +msgid "<strong>Warehouse:<strong> {0}" +msgstr "" + +msgid "" +"<strong>{0}</strong> of <strong>{1}</strong> " +"invoice(s)" +msgstr "" + +msgid "(FREE)" +msgstr "(GRÁTIS)" + +msgid "(Max Discount: {0})" +msgstr "(Desconto Máx: {0})" + +msgid "(Min: {0})" +msgstr "(Mín: {0})" + +msgid "+ Add Payment" +msgstr "+ Adicionar Pagamento" + +msgid "+ Create New Customer" +msgstr "+ Criar Novo Cliente" + +msgid "+ Free Item" +msgstr "+ Item Grátis" + +msgid "+{0} FREE" +msgstr "+{0} GRÁTIS" + +msgid "+{0} more" +msgstr "+{0} mais" + +msgid "-- No Campaign --" +msgstr "-- Nenhuma Campanha --" + +msgid "-- Select --" +msgstr "-- Selecionar --" + +msgid "1 item" +msgstr "" + +msgid "1 {0} = {1} {2}" +msgstr "" + +msgid "" +"1. Go to <strong>Item Master<strong> → <strong>{0}<" +"strong>" +msgstr "" + +msgid "2. Click <strong>"Make Variants"<strong> button" +msgstr "" + +msgid "3. Select attribute combinations" +msgstr "3. Selecione as combinações de atributos" + +msgid "4. Click <strong>"Create"<strong>" +msgstr "" + +msgid "APPLIED" +msgstr "APLICADO" + +msgid "Access your point of sale system" +msgstr "Acesse seu sistema de ponto de venda" + +msgid "Active" +msgstr "Ativo" + +msgid "Active Only" +msgstr "Somente Ativas" + +msgid "Active Shift Detected" +msgstr "Turno Ativo Detectado" + +msgid "Active Warehouse" +msgstr "Depósito Ativo" + +msgid "Actual Amount *" +msgstr "Valor Real *" + +msgid "Actual Stock" +msgstr "Estoque Atual" + +msgid "Add" +msgstr "Adicionar" + +msgid "Add Payment" +msgstr "Adicionar Pagamento" + +msgid "Add items to the cart before applying an offer." +msgstr "Adicione itens ao carrinho antes de aplicar uma oferta." + +msgid "Add items to your cart to see eligible offers" +msgstr "Adicione itens ao seu carrinho para ver as ofertas elegíveis" + +msgid "Add to Cart" +msgstr "Adicionar ao Carrinho" + +msgid "Add {0} more to unlock" +msgstr "Adicione mais {0} para desbloquear" + +msgid "Additional Discount" +msgstr "Desconto Adicional" + +msgid "Adjust return quantities before submitting.\\n\\n{0}" +msgstr "Ajuste as quantidades de devolução antes de enviar.\\n\\n{0}" + +msgid "After returns" +msgstr "Após devoluções" + +msgid "Against: {0}" +msgstr "Contra: {0}" + +msgid "All ({0})" +msgstr "Todos ({0})" + +msgid "All Items" +msgstr "Todos os Itens" + +msgid "All Status" +msgstr "Todos os Status" + +msgid "All Territories" +msgstr "Todos os Territórios" + +msgid "All Types" +msgstr "Todos os Tipos" + +msgid "All cached data has been cleared successfully" +msgstr "Todos os dados em cache foram limpos com sucesso" + +msgid "All draft invoices deleted" +msgstr "" + +msgid "All invoices are either fully paid or unpaid" +msgstr "Todas as faturas estão totalmente pagas ou não pagas" + +msgid "All invoices are fully paid" +msgstr "Todas as faturas estão totalmente pagas" + +msgid "All items from this invoice have already been returned" +msgstr "Todos os itens desta fatura já foram devolvidos" + +msgid "All items loaded" +msgstr "Todos os itens carregados" + +msgid "All items removed from cart" +msgstr "Todos os itens removidos do carrinho" + +msgid "" +"All stock operations will use this warehouse. Stock quantities will refresh " +"after saving." +msgstr "" +"Todas as operações de estoque usarão este depósito. As quantidades de " +"estoque serão atualizadas após salvar." + +msgid "Allow Additional Discount" +msgstr "Permitir Desconto Adicional" + +msgid "Allow Credit Sale" +msgstr "Permitir Venda a Crédito" + +msgid "Allow Item Discount" +msgstr "Permitir Desconto por Item" + +msgid "Allow Negative Stock" +msgstr "Permitir Estoque Negativo" + +msgid "Allow Partial Payment" +msgstr "Permitir Pagamento Parcial" + +msgid "Allow Return" +msgstr "Permitir Devolução de Compras" + +msgid "Allow Write Off Change" +msgstr "Permitir Baixa de Troco" + +msgid "Amount" +msgstr "Valor" + +msgid "Amount in {0}" +msgstr "Valor em {0}" + +msgid "Amount:" +msgstr "" + +msgid "An error occurred" +msgstr "Ocorreu um erro" + +msgid "An unexpected error occurred" +msgstr "Ocorreu um erro inesperado" + +msgid "An unexpected error occurred." +msgstr "Ocorreu um erro inesperado." + +msgid "Applied" +msgstr "Aplicado" + +msgid "Apply" +msgstr "Aplicar" + +msgid "Apply Discount On" +msgstr "Aplicar Desconto Em" + +msgid "Apply On" +msgstr "Aplicar Em" + +msgid "Apply coupon code" +msgstr "Aplicar código de cupom" + +msgid "" +"Are you sure you want to delete <strong>"{0}"<strong>?" +msgstr "" + +msgid "Are you sure you want to delete this offline invoice?" +msgstr "Tem certeza de que deseja excluir esta fatura offline?" + +msgid "Are you sure you want to sign out of POS Next?" +msgstr "Tem certeza de que deseja sair do POS Next?" + +msgid "At least {0} eligible items required" +msgstr "" + +msgid "Auto" +msgstr "Auto" + +msgid "Auto-Add ON - Type or scan barcode" +msgstr "Adição Automática LIGADA - Digite ou escaneie o código de barras" + +msgid "Auto-Add: OFF - Click to enable automatic cart addition on Enter" +msgstr "" +"Adição Automática: DESLIGADA - Clique para habilitar adição automática ao " +"carrinho no Enter" + +msgid "Auto-Add: ON - Press Enter to add items to cart" +msgstr "" +"Adição Automática: LIGADA - Pressione Enter para adicionar itens ao carrinho" + +msgid "Auto-Sync:" +msgstr "Sincronização Automática:" + +msgid "Auto-generated if empty" +msgstr "Gerado automaticamente se vazio" + +msgid "Available" +msgstr "Disponível" + +msgid "Available Offers" +msgstr "Ofertas Disponíveis" + +msgid "BALANCE DUE:" +msgstr "SALDO DEVEDOR:" + +msgid "Back" +msgstr "Voltar" + +msgid "Background Stock Sync" +msgstr "Sincronização de Estoque em Segundo Plano" + +msgid "Barcode Scanner: OFF (Click to enable)" +msgstr "Leitor de Código de Barras: DESLIGADO (Clique para habilitar)" + +msgid "Barcode Scanner: ON (Click to disable)" +msgstr "Leitor de Código de Barras: LIGADO (Clique para desabilitar)" + +msgid "Basic Information" +msgstr "Informações Básicas" + +msgid "Brands" +msgstr "Marcas" + +msgid "Cache" +msgstr "Cache" + +msgid "Cache empty" +msgstr "Cache vazio" + +msgid "Cache ready" +msgstr "Cache pronto" + +msgid "Cache syncing" +msgstr "Cache sincronizando" + +msgid "Calculating totals and reconciliation..." +msgstr "Calculando totais e conciliação..." + +msgid "Campaign" +msgstr "Campanha" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Cannot create return against a return invoice" +msgstr "Não é possível criar devolução contra uma fatura de devolução" + +msgid "Cannot delete coupon as it has been used {0} times" +msgstr "Não é possível excluir o cupom, pois ele foi usado {0} vezes" + +msgid "Cannot remove last serial" +msgstr "Não é possível remover o último serial" + +msgid "Cannot save an empty cart as draft" +msgstr "Não é possível salvar um carrinho vazio como rascunho" + +msgid "Cannot sync while offline" +msgstr "Não é possível sincronizar estando offline" + +msgid "Cart" +msgstr "Carrinho" + +msgid "Cart Items" +msgstr "Itens do Carrinho" + +msgid "Cart does not contain eligible items for this offer" +msgstr "O carrinho não contém itens elegíveis para esta oferta" + +msgid "Cart does not contain items from eligible brands" +msgstr "" + +msgid "Cart does not contain items from eligible groups" +msgstr "O carrinho não contém itens de grupos elegíveis" + +msgid "Cart is empty" +msgstr "" + +msgid "Cart subtotal BEFORE tax - used for discount calculations" +msgstr "" +"Subtotal do carrinho ANTES do imposto - usado para cálculos de desconto" + +msgid "Cash" +msgstr "Dinheiro" + +msgid "Cash Over" +msgstr "Sobra de Caixa" + +msgid "Cash Refund:" +msgstr "Reembolso em Dinheiro:" + +msgid "Cash Short" +msgstr "Falta de Caixa" + +msgid "Change Due" +msgstr "" + +msgid "Change Profile" +msgstr "Alterar Perfil" + +msgid "Change:" +msgstr "Troco:" + +msgid "Check Availability in All Wherehouses" +msgstr "Verificar Disponibilidade em Todos os Depósitos" + +msgid "Check availability in other warehouses" +msgstr "Verificar disponibilidade em outros depósitos" + +msgid "Checking Stock..." +msgstr "Verificando Estoque..." + +msgid "Checking warehouse availability..." +msgstr "Verificando disponibilidade no depósito..." + +msgid "Checkout" +msgstr "Finalizar Venda" + +msgid "" +"Choose a coupon from the list to view and edit, or create a new one to get " +"started" +msgstr "" +"Escolha um cupom da lista para visualizar e editar, ou crie um novo para " +"começar" + +msgid "" +"Choose a promotion from the list to view and edit, or create a new one to " +"get started" +msgstr "" +"Escolha uma promoção da lista para visualizar e editar, ou crie uma nova " +"para começar" + +msgid "Choose a variant of this item:" +msgstr "Escolha uma variante deste item:" + +msgid "Clear" +msgstr "Limpar" + +msgid "Clear All" +msgstr "Limpar Tudo" + +msgid "Clear All Drafts?" +msgstr "" + +msgid "Clear Cache" +msgstr "Limpar Cache" + +msgid "Clear Cache?" +msgstr "Limpar Cache?" + +msgid "Clear Cart?" +msgstr "Limpar Carrinho?" + +msgid "Clear all" +msgstr "Limpar tudo" + +msgid "Clear all items" +msgstr "Limpar todos os itens" + +msgid "Clear all payments" +msgstr "" + +msgid "Clear search" +msgstr "Limpar busca" + +msgid "Clear selection" +msgstr "Limpar seleção" + +msgid "Clearing Cache..." +msgstr "Limpando Cache..." + +msgid "Click to change unit" +msgstr "Clique para alterar a unidade" + +msgid "Close" +msgstr "Fechar" + +msgid "Close & Open New" +msgstr "Fechar e Abrir Novo" + +msgid "Close (shows again next session)" +msgstr "Fechar (mostra novamente na próxima sessão)" + +msgid "Close POS Shift" +msgstr "Fechar Turno PDV" + +msgid "Close Shift" +msgstr "Fechar Turno" + +msgid "Close Shift & Sign Out" +msgstr "Fechar Turno e Sair" + +msgid "Close current shift" +msgstr "Fechar turno atual" + +msgid "Close your shift first to save all transactions properly" +msgstr "Feche seu turno primeiro para salvar todas as transações corretamente" + +msgid "Closing Shift..." +msgstr "Fechando Turno..." + +msgid "Code" +msgstr "Código" + +msgid "Code is case-insensitive" +msgstr "O código não diferencia maiúsculas/minúsculas" + +msgid "Company" +msgstr "Empresa" + +msgid "Complete Payment" +msgstr "Concluir Pagamento" + +msgid "Complete Sales Order" +msgstr "" + +msgid "Configure pricing, discounts, and sales operations" +msgstr "Configurar preços, descontos e operações de venda" + +msgid "Configure warehouse and inventory settings" +msgstr "Configurar depósito e configurações de inventário" + +msgid "Confirm" +msgstr "Confirmar" + +msgid "Confirm Sign Out" +msgstr "Confirmar Saída" + +msgid "Connection Error" +msgstr "Erro de Conexão" + +msgid "Count & enter" +msgstr "Contar e inserir" + +msgid "Coupon" +msgstr "Cupom" + +msgid "Coupon Applied Successfully!" +msgstr "Cupom Aplicado com Sucesso!" + +msgid "Coupon Code" +msgstr "Código do Cupom" + +msgid "Coupon Details" +msgstr "Detalhes do Cupom" + +msgid "Coupon Name" +msgstr "Nome do Cupom" + +msgid "Coupon Status & Info" +msgstr "Status e Informações do Cupom" + +msgid "Coupon Type" +msgstr "Tipo de Cupom" + +msgid "Coupon created successfully" +msgstr "Cupom criado com sucesso" + +msgid "Coupon status updated successfully" +msgstr "Status do cupom atualizado com sucesso" + +msgid "Coupon updated successfully" +msgstr "Cupom atualizado com sucesso" + +msgid "Coupons" +msgstr "Cupons" + +msgid "Create" +msgstr "Criar" + +msgid "Create Customer" +msgstr "Cadastrar Cliente" + +msgid "Create New Coupon" +msgstr "Criar Novo Cupom" + +msgid "Create New Customer" +msgstr "Criar Novo Cliente" + +msgid "Create New Promotion" +msgstr "Criar Nova Promoção" + +msgid "Create Return" +msgstr "Criar Devolução" + +msgid "Create Return Invoice" +msgstr "Criar Fatura de Devolução" + +msgid "Create new customer" +msgstr "Criar novo cliente" + +msgid "Create new customer: {0}" +msgstr "Criar novo cliente: {0}" + +msgid "Create permission required" +msgstr "Permissão de criação necessária" + +msgid "Create your first customer to get started" +msgstr "Crie seu primeiro cliente para começar" + +msgid "Created On" +msgstr "Criado Em" + +msgid "Creating return for invoice {0}" +msgstr "Criando devolução para a fatura {0}" + +msgid "Credit Adjustment:" +msgstr "Ajuste de Crédito:" + +msgid "Credit Balance" +msgstr "" + +msgid "Credit Sale" +msgstr "Venda a Crédito" + +msgid "Credit Sale Return" +msgstr "Devolução de Venda a Crédito" + +msgid "Current Discount:" +msgstr "Desconto Atual:" + +msgid "Current Status" +msgstr "Status Atual" + +msgid "Custom" +msgstr "" + +msgid "Customer" +msgstr "Cliente" + +msgid "Customer Credit:" +msgstr "Crédito do Cliente:" + +msgid "Customer Error" +msgstr "Erro do Cliente" + +msgid "Customer Group" +msgstr "Grupo de Clientes" + +msgid "Customer Name" +msgstr "Nome do Cliente" + +msgid "Customer Name is required" +msgstr "O Nome do Cliente é obrigatório" + +msgid "Customer {0} created successfully" +msgstr "Cliente {0} criado com sucesso" + +msgid "Customer {0} updated successfully" +msgstr "" + +msgid "Customer:" +msgstr "Cliente:" + +msgid "Customer: {0}" +msgstr "Cliente: {0}" + +msgid "Dashboard" +msgstr "Painel" + +msgid "Data is ready for offline use" +msgstr "Dados prontos para uso offline" + +msgid "Date" +msgstr "Data" + +msgid "Date & Time" +msgstr "Data e Hora" + +msgid "Date:" +msgstr "Data:" + +msgid "Decrease quantity" +msgstr "Diminuir quantidade" + +msgid "Default" +msgstr "Padrão" + +msgid "Delete" +msgstr "Excluir" + +msgid "Delete Coupon" +msgstr "Excluir Cupom" + +msgid "Delete Draft?" +msgstr "" + +msgid "Delete Invoice" +msgstr "Excluir Fatura" + +msgid "Delete Offline Invoice" +msgstr "" + +msgid "Delete Promotion" +msgstr "Excluir Promoção" + +msgid "Delete draft" +msgstr "Excluir rascunho" + +msgid "Delivery Date" +msgstr "" + +msgid "Deselect All" +msgstr "Desselecionar Todos" + +msgid "Disable" +msgstr "" + +msgid "Disable Rounded Total" +msgstr "Desabilitar Total Arredondado" + +msgid "Disable auto-add" +msgstr "Desabilitar adição automática" + +msgid "Disable barcode scanner" +msgstr "Desabilitar leitor de código de barras" + +msgid "Disabled" +msgstr "Desabilitado" + +msgid "Disabled Only" +msgstr "Somente Desabilitadas" + +msgid "Discount" +msgstr "Desconto" + +msgid "Discount (%)" +msgstr "" + +msgid "Discount Amount" +msgstr "Valor do Desconto" + +msgid "Discount Configuration" +msgstr "Configuração de Desconto" + +msgid "Discount Details" +msgstr "Detalhes do Desconto" + +msgid "Discount Percentage (%)" +msgstr "" + +msgid "Discount Type" +msgstr "Tipo de Desconto" + +msgid "Discount has been removed" +msgstr "Desconto foi removido" + +msgid "Discount has been removed from cart" +msgstr "Desconto foi removido do carrinho" + +msgid "Discount settings changed. Cart recalculated." +msgstr "Configurações de desconto alteradas. Carrinho recalculado." + +msgid "Discount:" +msgstr "Desconto:" + +msgid "Dismiss" +msgstr "Dispensar" + +msgid "Draft Invoices" +msgstr "Faturas Rascunho" + +msgid "Draft deleted successfully" +msgstr "" + +msgid "Draft invoice deleted" +msgstr "Fatura rascunho excluída" + +msgid "Draft invoice loaded successfully" +msgstr "Fatura rascunho carregada com sucesso" + +msgid "Drafts" +msgstr "Rascunhos" + +msgid "Duplicate Entry" +msgstr "Entrada Duplicada" + +msgid "Duration" +msgstr "Duração" + +msgid "ENTER-CODE-HERE" +msgstr "INSIRA-O-CÓDIGO-AQUI" + +msgid "Edit Customer" +msgstr "" + +msgid "Edit Invoice" +msgstr "Editar Fatura" + +msgid "Edit Item Details" +msgstr "Editar Detalhes do Item" + +msgid "Edit Promotion" +msgstr "Editar Promoção" + +msgid "Edit customer details" +msgstr "" + +msgid "Edit serials" +msgstr "Editar seriais" + +msgid "Email" +msgstr "E-mail" + +msgid "Empty" +msgstr "Vazio" + +msgid "Enable" +msgstr "Habilitar" + +msgid "Enable Automatic Stock Sync" +msgstr "Habilitar Sincronização Automática de Estoque" + +msgid "Enable auto-add" +msgstr "Habilitar adição automática" + +msgid "Enable barcode scanner" +msgstr "Habilitar leitor de código de barras" + +msgid "Enable invoice-level discount" +msgstr "Habilitar desconto a nível de fatura" + +msgid "Enable item-level discount in edit dialog" +msgstr "Habilitar desconto a nível de item no diálogo de edição" + +msgid "Enable partial payment for invoices" +msgstr "Habilitar pagamento parcial para faturas" + +msgid "Enable product returns" +msgstr "Ativar Devolução de Compras" + +msgid "Enable sales on credit" +msgstr "Ativar Venda a Crédito" + +msgid "" +"Enable selling items even when stock reaches zero or below. Integrates with " +"ERPNext stock settings." +msgstr "" +"Habilita a venda de itens mesmo quando o estoque chega a zero ou abaixo. " +"Integra-se com as configurações de estoque do ERPNext." + +msgid "Enter" +msgstr "Enter" + +msgid "Enter actual amount for {0}" +msgstr "Insira o valor real para {0}" + +msgid "Enter customer name" +msgstr "Insira o nome do cliente" + +msgid "Enter email address" +msgstr "Insira o endereço de e-mail" + +msgid "Enter phone number" +msgstr "Insira o número de telefone" + +msgid "" +"Enter reason for return (e.g., defective product, wrong item, customer " +"request)..." +msgstr "" +"Insira o motivo da devolução (ex: produto com defeito, item errado, " +"solicitação do cliente)..." + +msgid "Enter your password" +msgstr "Insira sua senha" + +msgid "Enter your promotional or gift card code below" +msgstr "Insira seu código promocional ou de cartão-presente abaixo" + +msgid "Enter your username or email" +msgstr "Insira seu nome de usuário ou e-mail" + +msgid "Entire Transaction" +msgstr "Transação Completa" + +msgid "Error" +msgstr "Erro" + +msgid "Error Closing Shift" +msgstr "Erro ao Fechar o Turno" + +msgid "Error Report - POS Next" +msgstr "Relatório de Erro - POS Next" + +msgid "Esc" +msgstr "Esc" + +msgid "Exception: {0}" +msgstr "" + +msgid "Exhausted" +msgstr "Esgotado" + +msgid "Existing Shift Found" +msgstr "Turno Existente Encontrado" + +msgid "Exp: {0}" +msgstr "Venc: {0}" + +msgid "Expected" +msgstr "Esperado" + +msgid "Expected: <span class="font-medium">{0}</span>" +msgstr "" + +msgid "Expired" +msgstr "Expirado" + +msgid "Expired Only" +msgstr "Somente Expiradas" + +msgid "Failed to Load Shift Data" +msgstr "Falha ao Carregar Dados do Turno" + +msgid "Failed to add payment" +msgstr "Falha ao adicionar pagamento" + +msgid "Failed to apply coupon. Please try again." +msgstr "Falha ao aplicar cupom. Por favor, tente novamente." + +msgid "Failed to apply offer. Please try again." +msgstr "Falha ao aplicar oferta. Por favor, tente novamente." + +msgid "Failed to clear cache. Please try again." +msgstr "Falha ao limpar o cache. Por favor, tente novamente." + +msgid "Failed to clear drafts" +msgstr "" + +msgid "Failed to create coupon" +msgstr "Falha ao criar cupom" + +msgid "Failed to create customer" +msgstr "Falha ao criar cliente" + +msgid "Failed to create promotion" +msgstr "Falha ao criar promoção" + +msgid "Failed to create return invoice" +msgstr "Falha ao criar fatura de devolução" + +msgid "Failed to delete coupon" +msgstr "Falha ao excluir cupom" + +msgid "Failed to delete draft" +msgstr "" + +msgid "Failed to delete offline invoice" +msgstr "Falha ao excluir fatura offline" + +msgid "Failed to delete promotion" +msgstr "Falha ao excluir promoção" + +msgid "Failed to load brands" +msgstr "Falha ao carregar marcas" + +msgid "Failed to load coupon details" +msgstr "Falha ao carregar detalhes do cupom" + +msgid "Failed to load coupons" +msgstr "Falha ao carregar cupons" + +msgid "Failed to load draft" +msgstr "Falha ao carregar rascunho" + +msgid "Failed to load draft invoices" +msgstr "" + +msgid "Failed to load invoice details" +msgstr "Falha ao carregar detalhes da fatura" + +msgid "Failed to load invoices" +msgstr "Falha ao carregar faturas" + +msgid "Failed to load item groups" +msgstr "Falha ao carregar grupos de itens" + +msgid "Failed to load partial payments" +msgstr "Falha ao carregar pagamentos parciais" + +msgid "Failed to load promotion details" +msgstr "Falha ao carregar detalhes da promoção" + +msgid "Failed to load recent invoices" +msgstr "Falha ao carregar faturas recentes" + +msgid "Failed to load settings" +msgstr "Falha ao carregar configurações" + +msgid "Failed to load unpaid invoices" +msgstr "Falha ao carregar faturas não pagas" + +msgid "Failed to load variants" +msgstr "" + +msgid "Failed to load warehouse availability" +msgstr "Falha ao carregar disponibilidade do depósito" + +msgid "Failed to print draft" +msgstr "" + +msgid "Failed to process selection. Please try again." +msgstr "Falha ao processar a seleção. Por favor, tente novamente." + +msgid "Failed to save draft" +msgstr "Falha ao salvar rascunho" + +msgid "Failed to save settings" +msgstr "Falha ao salvar configurações" + +msgid "Failed to toggle coupon status" +msgstr "Falha ao alternar status do cupom" + +msgid "Failed to update UOM. Please try again." +msgstr "Falha ao atualizar a UDM. Por favor, tente novamente." + +msgid "Failed to update cart after removing offer." +msgstr "Falha ao atualizar o carrinho após remover a oferta." + +msgid "Failed to update coupon" +msgstr "Falha ao atualizar cupom" + +msgid "Failed to update customer" +msgstr "" + +msgid "Failed to update item." +msgstr "" + +msgid "Failed to update promotion" +msgstr "Falha ao atualizar promoção" + +msgid "Failed to update promotion status" +msgstr "Falha ao atualizar status da promoção" + +msgid "Faster access and offline support" +msgstr "Acesso mais rápido e suporte offline" + +msgid "Fill in the details to create a new coupon" +msgstr "Preencha os detalhes para criar um novo cupom" + +msgid "Fill in the details to create a new promotional scheme" +msgstr "Preencha os detalhes para criar um novo esquema promocional" + +msgid "Final Amount" +msgstr "Valor Final" + +msgid "First" +msgstr "Primeira" + +msgid "Fixed Amount" +msgstr "Valor Fixo" + +msgid "Free Item" +msgstr "Item Grátis" + +msgid "Free Quantity" +msgstr "Quantidade Grátis" + +msgid "Frequent Customers" +msgstr "Clientes Frequentes" + +msgid "From Date" +msgstr "Data Inicial" + +msgid "From {0}" +msgstr "De {0}" + +msgid "Fully Paid" +msgstr "" + +msgid "Generate" +msgstr "Gerar" + +msgid "Gift" +msgstr "Presente" + +msgid "Gift Card" +msgstr "Cartão-Presente" + +msgid "Go to first page" +msgstr "Ir para primeira página" + +msgid "Go to last page" +msgstr "Ir para última página" + +msgid "Go to next page" +msgstr "Ir para próxima página" + +msgid "Go to page {0}" +msgstr "Ir para página {0}" + +msgid "Go to previous page" +msgstr "Ir para página anterior" + +msgid "Grand Total" +msgstr "Total Geral" + +msgid "Grand Total:" +msgstr "Total Geral:" + +msgid "Grid View" +msgstr "Visualização em Grade" + +msgid "Gross Sales" +msgstr "Vendas Brutas" + +msgid "Have a coupon code?" +msgstr "Tem um código de cupom?" + +msgid "Hello" +msgstr "" + +msgid "Hello {0}" +msgstr "" + +msgid "Hide password" +msgstr "Ocultar senha" + +msgid "Hold" +msgstr "" + +msgid "Hold order as draft" +msgstr "Suspender pedido como rascunho" + +msgid "How often to check server for stock updates (minimum 10 seconds)" +msgstr "" +"Com que frequência verificar o servidor para atualizações de estoque (mínimo " +"10 segundos)" + +msgid "Hr" +msgstr "H" + +msgid "Image" +msgstr "Imagem" + +msgid "In Stock" +msgstr "Em Estoque" + +msgid "Inactive" +msgstr "Inativo" + +msgid "Increase quantity" +msgstr "Aumentar quantidade" + +msgid "Individual" +msgstr "Individual" + +msgid "Install" +msgstr "Instalar" + +msgid "Install POSNext" +msgstr "Instalar POSNext" + +msgid "Insufficient Stock" +msgstr "Estoque Insuficiente" + +msgid "Invoice" +msgstr "Fatura" + +msgid "Invoice #:" +msgstr "Fatura #:" + +msgid "Invoice - {0}" +msgstr "Fatura - {0}" + +msgid "Invoice Created Successfully" +msgstr "Fatura Criada com Sucesso" + +msgid "Invoice Details" +msgstr "Detalhes da Fatura" + +msgid "Invoice History" +msgstr "Histórico de Faturas" + +msgid "Invoice ID: {0}" +msgstr "ID da Fatura: {0}" + +msgid "Invoice Management" +msgstr "Gerenciamento de Faturas" + +msgid "Invoice Summary" +msgstr "" + +msgid "Invoice loaded to cart for editing" +msgstr "Fatura carregada no carrinho para edição" + +msgid "Invoice must be submitted to create a return" +msgstr "A fatura deve ser enviada para criar uma devolução" + +msgid "Invoice saved as draft successfully" +msgstr "Fatura salva como rascunho com sucesso" + +msgid "Invoice saved offline. Will sync when online" +msgstr "Fatura salva offline. Será sincronizada quando estiver online" + +msgid "Invoice {0} created and sent to printer" +msgstr "Fatura {0} criada e enviada para a impressora" + +msgid "Invoice {0} created but print failed" +msgstr "Fatura {0} criada, mas a impressão falhou" + +msgid "Invoice {0} created successfully" +msgstr "Fatura {0} criada com sucesso" + +msgid "Invoice {0} created successfully!" +msgstr "Fatura {0} criada com sucesso!" + +msgid "Item" +msgstr "Item" + +msgid "Item Code" +msgstr "Código do Item" + +msgid "Item Discount" +msgstr "Desconto do Item" + +msgid "Item Group" +msgstr "Grupo de Itens" + +msgid "Item Groups" +msgstr "Grupos de Itens" + +msgid "Item Not Found: No item found with barcode: {0}" +msgstr "Item Não Encontrado: Nenhum item encontrado com código de barras: {0}" + +msgid "Item: {0}" +msgstr "Item: {0}" + +msgid "Items" +msgstr "Itens" + +msgid "Items to Return:" +msgstr "Itens a Devolver:" + +msgid "Items:" +msgstr "Itens:" + +msgid "Just now" +msgstr "Agora mesmo" + +msgid "Language" +msgstr "Idioma" + +msgid "Last" +msgstr "Última" + +msgid "Last 30 Days" +msgstr "Últimos 30 Dias" + +msgid "Last 7 Days" +msgstr "Últimos 7 Dias" + +msgid "Last Modified" +msgstr "Última Modificação" + +msgid "Last Sync:" +msgstr "Última Sincronização:" + +msgid "List View" +msgstr "Visualização em Lista" + +msgid "Load More" +msgstr "Carregar Mais" + +msgid "Load more ({0} remaining)" +msgstr "Carregar mais ({0} restante)" + +msgid "Loading customers for offline use..." +msgstr "Carregando clientes para uso offline..." + +msgid "Loading customers..." +msgstr "Carregando clientes..." + +msgid "Loading invoice details..." +msgstr "Carregando detalhes da fatura..." + +msgid "Loading invoices..." +msgstr "Carregando faturas..." + +msgid "Loading items..." +msgstr "Carregando itens..." + +msgid "Loading more items..." +msgstr "Carregando mais itens..." + +msgid "Loading offers..." +msgstr "Carregando ofertas..." + +msgid "Loading options..." +msgstr "Carregando opções..." + +msgid "Loading serial numbers..." +msgstr "Carregando números de série..." + +msgid "Loading settings..." +msgstr "Carregando configurações..." + +msgid "Loading shift data..." +msgstr "Carregando dados do turno..." + +msgid "Loading stock information..." +msgstr "" + +msgid "Loading variants..." +msgstr "" + +msgid "Loading warehouses..." +msgstr "Carregando depósitos..." + +msgid "Loading {0}..." +msgstr "" + +msgid "Loading..." +msgstr "Carregando..." + +msgid "Login Failed" +msgstr "Falha no Login" + +msgid "Logout" +msgstr "Sair" + +msgid "Low Stock" +msgstr "Baixo Estoque" + +msgid "Manage all your invoices in one place" +msgstr "Gerencie todas as suas faturas em um só lugar" + +msgid "Manage invoices with pending payments" +msgstr "Gerenciar faturas com pagamentos pendentes" + +msgid "Manage promotional schemes and coupons" +msgstr "Gerenciar esquemas promocionais e cupons" + +msgid "Max Discount (%)" +msgstr "" + +msgid "Maximum Amount ({0})" +msgstr "Valor Máximo ({0})" + +msgid "Maximum Discount Amount" +msgstr "Valor Máximo de Desconto" + +msgid "Maximum Quantity" +msgstr "Quantidade Máxima" + +msgid "Maximum Use" +msgstr "Uso Máximo" + +msgid "Maximum allowed discount is {0}%" +msgstr "" + +msgid "Maximum allowed discount is {0}% ({1} {2})" +msgstr "" + +msgid "Maximum cart value exceeded ({0})" +msgstr "Valor máximo do carrinho excedido ({0})" + +msgid "Maximum discount per item" +msgstr "Desconto máximo por item" + +msgid "Maximum {0} eligible items allowed for this offer" +msgstr "" + +msgid "Merged into {0} (Total: {1})" +msgstr "" + +msgid "Message: {0}" +msgstr "Mensagem: {0}" + +msgid "Min" +msgstr "Min" + +msgid "Min Purchase" +msgstr "Compra Mínima" + +msgid "Min Quantity" +msgstr "Quantidade Mínima" + +msgid "Minimum Amount ({0})" +msgstr "Valor Mínimo ({0})" + +msgid "Minimum Cart Amount" +msgstr "Valor Mínimo do Carrinho" + +msgid "Minimum Quantity" +msgstr "Quantidade Mínima" + +msgid "Minimum cart value of {0} required" +msgstr "Valor mínimo do carrinho de {0} necessário" + +msgid "Mobile" +msgstr "Celular" + +msgid "Mobile Number" +msgstr "Número de Celular" + +msgid "More" +msgstr "Mais" + +msgid "Multiple Items Found: {0} items match barcode. Please refine search." +msgstr "" +"Múltiplos Itens Encontrados: {0} itens correspondem ao código. Por favor, " +"refine a busca." + +msgid "Multiple Items Found: {0} items match. Please select one." +msgstr "" +"Múltiplos Itens Encontrados: {0} itens correspondem. Por favor, selecione um." + +msgid "My Gift Cards ({0})" +msgstr "Meus Cartões-Presente ({0})" + +msgid "N/A" +msgstr "N/D" + +msgid "Name" +msgstr "Nome" + +msgid "Naming Series Error" +msgstr "Erro na Série de Nomenclatura" + +msgid "Navigate" +msgstr "Navegar" + +msgid "Negative Stock" +msgstr "Estoque Negativo" + +msgid "Negative stock sales are now allowed" +msgstr "Vendas com estoque negativo agora são permitidas" + +msgid "Negative stock sales are now restricted" +msgstr "Vendas com estoque negativo agora são restritas" + +msgid "Net Sales" +msgstr "Vendas Líquidas" + +msgid "Net Total" +msgstr "Total Líquido" + +msgid "Net Total:" +msgstr "Total Líquido:" + +msgid "Net Variance" +msgstr "Variação Líquida" + +msgid "Net tax" +msgstr "Imposto líquido" + +msgid "Network Usage:" +msgstr "Uso da Rede:" + +msgid "Never" +msgstr "Nunca" + +msgid "Next" +msgstr "Próximo" + +msgid "No Active Shift" +msgstr "Nenhum Turno Ativo" + +msgid "No Options Available" +msgstr "Nenhuma Opção Disponível" + +msgid "No POS Profile Selected" +msgstr "Nenhum Perfil PDV Selecionado" + +msgid "No POS Profiles available. Please contact your administrator." +msgstr "Nenhum Perfil PDV disponível. Por favor, contate seu administrador." + +msgid "No Partial Payments" +msgstr "Nenhum Pagamento Parcial" + +msgid "No Sales During This Shift" +msgstr "Nenhuma Venda Durante Este Turno" + +msgid "No Sorting" +msgstr "Sem Ordenação" + +msgid "No Stock Available" +msgstr "Sem Estoque Disponível" + +msgid "No Unpaid Invoices" +msgstr "Nenhuma Fatura Não Paga" + +msgid "No Variants Available" +msgstr "Nenhuma Variante Disponível" + +msgid "No additional units of measurement configured for this item." +msgstr "Nenhuma unidade de medida adicional configurada para este item." + +msgid "No countries found" +msgstr "Nenhum país encontrado" + +msgid "No coupons found" +msgstr "Nenhum cupom encontrado" + +msgid "No customers available" +msgstr "Nenhum cliente disponível" + +msgid "No draft invoices" +msgstr "Nenhuma fatura rascunho" + +msgid "No expiry" +msgstr "Sem validade" + +msgid "No invoices found" +msgstr "Nenhuma fatura encontrada" + +msgid "No invoices were created. Closing amounts should match opening amounts." +msgstr "" +"Nenhuma fatura foi criada. Os valores de fechamento devem corresponder aos " +"valores de abertura." + +msgid "No items" +msgstr "" + +msgid "No items available" +msgstr "Nenhum item disponível" + +msgid "No items available for return" +msgstr "Nenhum item disponível para devolução" + +msgid "No items found" +msgstr "Nenhum item encontrado" + +msgid "No offers available" +msgstr "Nenhuma oferta disponível" + +msgid "No options available" +msgstr "Nenhuma opção disponível" + +msgid "No payment methods available" +msgstr "" + +msgid "No payment methods configured for this POS Profile" +msgstr "Nenhum método de pagamento configurado para este Perfil PDV" + +msgid "No pending invoices to sync" +msgstr "Nenhuma fatura pendente para sincronizar" + +msgid "No pending offline invoices" +msgstr "Nenhuma fatura offline pendente" + +msgid "No promotions found" +msgstr "Nenhuma promoção encontrada" + +msgid "No redeemable points available" +msgstr "" + +msgid "No results for {0}" +msgstr "Nenhum resultado para {0}" + +msgid "No results for {0} in {1}" +msgstr "Nenhum resultado para {0} em {1}" + +msgid "No results found" +msgstr "Nenhum resultado encontrado" + +msgid "No results in {0}" +msgstr "Nenhum resultado em {0}" + +msgid "No return invoices" +msgstr "Nenhuma fatura de devolução" + +msgid "No sales" +msgstr "Sem vendas" + +msgid "No sales persons found" +msgstr "Nenhum vendedor encontrado" + +msgid "No serial numbers available" +msgstr "Nenhum número de série disponível" + +msgid "No serial numbers match your search" +msgstr "Nenhum número de série corresponde à sua busca" + +msgid "No stock available" +msgstr "Sem estoque disponível" + +msgid "No variants found" +msgstr "" + +msgid "Nos" +msgstr "N°s" + +msgid "Not Found" +msgstr "Não Encontrado" + +msgid "Not Started" +msgstr "Não Iniciadas" + +msgid "" +"Not enough stock available in the warehouse.\\n\\nPlease reduce the quantity " +"or check stock availability." +msgstr "" + +msgid "OK" +msgstr "OK" + +msgid "Offer applied: {0}" +msgstr "Oferta aplicada: {0}" + +msgid "Offer has been removed from cart" +msgstr "Oferta foi removida do carrinho" + +msgid "Offer removed: {0}. Cart no longer meets requirements." +msgstr "Oferta removida: {0}. O carrinho não atende mais aos requisitos." + +msgid "Offers" +msgstr "Ofertas" + +msgid "Offers applied: {0}" +msgstr "" + +msgid "Offline ({0} pending)" +msgstr "Offline ({0} pendente)" + +msgid "Offline Invoices" +msgstr "Faturas Offline" + +msgid "Offline invoice deleted successfully" +msgstr "Fatura offline excluída com sucesso" + +msgid "Offline mode active" +msgstr "Modo offline ativo" + +msgid "Offline: {0} applied" +msgstr "" + +msgid "On Account" +msgstr "" + +msgid "Online - Click to sync" +msgstr "Online - Clique para sincronizar" + +msgid "Online mode active" +msgstr "Modo online ativo" + +msgid "Only One Use Per Customer" +msgstr "Apenas Um Uso Por Cliente" + +msgid "Only one unit available" +msgstr "Apenas uma unidade disponível" + +msgid "Open POS Shift" +msgstr "Abrir Turno PDV" + +msgid "Open Shift" +msgstr "Abrir Turno" + +msgid "Open a shift before creating a return invoice." +msgstr "" + +msgid "Opening" +msgstr "Abertura" + +msgid "Opening Balance (Optional)" +msgstr "Saldo de Abertura (Opcional)" + +msgid "Optional cap in {0}" +msgstr "Limite opcional em {0}" + +msgid "Optional minimum in {0}" +msgstr "Mínimo opcional em {0}" + +msgid "Order" +msgstr "Pedido" + +msgid "Out of Stock" +msgstr "Esgotado" + +msgid "Outstanding" +msgstr "Pendente" + +msgid "Outstanding Balance" +msgstr "" + +msgid "Outstanding Payments" +msgstr "Pagamentos Pendentes" + +msgid "Outstanding:" +msgstr "Pendente:" + +msgid "Over {0}" +msgstr "Sobra de {0}" + +msgid "Overdue" +msgstr "Vencido" + +msgid "Overdue ({0})" +msgstr "Vencido ({0})" + +msgid "PARTIAL PAYMENT" +msgstr "PAGAMENTO PARCIAL" + +msgid "POS Next" +msgstr "POS Next" + +msgid "POS Profile not found" +msgstr "Perfil PDV não encontrado" + +msgid "POS Profile: {0}" +msgstr "Perfil PDV: {0}" + +msgid "POS Settings" +msgstr "Configurações do PDV" + +msgid "POS is offline without cached data. Please connect to sync." +msgstr "" +"O PDV está offline sem dados em cache. Por favor, conecte-se para " +"sincronizar." + +msgid "PRICING RULE" +msgstr "REGRA DE PREÇO" + +msgid "PROMO SCHEME" +msgstr "ESQUEMA PROMOCIONAL" + +msgid "Paid" +msgstr "Pago" + +msgid "Paid Amount" +msgstr "Valor Pago" + +msgid "Paid Amount:" +msgstr "Valor Pago:" + +msgid "Paid: {0}" +msgstr "Pago: {0}" + +msgid "Partial" +msgstr "Parcial" + +msgid "Partial Payment" +msgstr "Pagamento Parcial" + +msgid "Partial Payments" +msgstr "Pagamentos Parciais" + +msgid "Partially Paid ({0})" +msgstr "Parcialmente Pago ({0})" + +msgid "Partially Paid Invoice" +msgstr "Fatura Parcialmente Paga" + +msgid "Partly Paid" +msgstr "Parcialmente Pago" + +msgid "Password" +msgstr "Senha" + +msgid "Pay" +msgstr "" + +msgid "Pay on Account" +msgstr "Pagar na Conta (a Prazo)" + +msgid "Payment Error" +msgstr "Erro de Pagamento" + +msgid "Payment History" +msgstr "Histórico de Pagamentos" + +msgid "Payment Method" +msgstr "Método de Pagamento" + +msgid "Payment Reconciliation" +msgstr "Conciliação de Pagamento" + +msgid "Payment Total:" +msgstr "Total do Pagamento:" + +msgid "Payment added successfully" +msgstr "Pagamento adicionado com sucesso" + +msgid "Payments" +msgstr "Pagamentos" + +msgid "Payments:" +msgstr "Pagamentos:" + +msgid "Percentage" +msgstr "Porcentagem" + +msgid "Percentage (%)" +msgstr "" + +msgid "" +"Periodically sync stock quantities from server in the background (runs in " +"Web Worker)" +msgstr "" +"Sincroniza periodicamente quantidades de estoque do servidor em segundo " +"plano (executa em Web Worker)" + +msgid "Permanently delete all {0} draft invoices?" +msgstr "" + +msgid "Permanently delete this draft invoice?" +msgstr "" + +msgid "Permission Denied" +msgstr "Permissão Negada" + +msgid "Permission Required" +msgstr "Permissão Necessária" + +msgid "Please add items to cart before proceeding to payment" +msgstr "" +"Por favor, adicione itens ao carrinho antes de prosseguir para o pagamento" + +msgid "Please enter a coupon code" +msgstr "Por favor, insira um código de cupom" + +msgid "Please enter a coupon name" +msgstr "Por favor, insira um nome para o cupom" + +msgid "Please enter a promotion name" +msgstr "Por favor, insira um nome para a promoção" + +msgid "Please enter a valid discount amount" +msgstr "Por favor, insira um valor de desconto válido" + +msgid "Please enter a valid discount percentage (1-100)" +msgstr "Por favor, insira uma porcentagem de desconto válida (1-100)" + +msgid "Please enter all closing amounts" +msgstr "Por favor, insira todos os valores de fechamento" + +msgid "Please open a shift to start making sales" +msgstr "Por favor, abra um turno para começar a fazer vendas" + +msgid "Please select a POS Profile to configure settings" +msgstr "Por favor, selecione um Perfil PDV para configurar as definições" + +msgid "Please select a customer" +msgstr "Por favor, selecione um cliente" + +msgid "Please select a customer before proceeding" +msgstr "Por favor, selecione um cliente antes de prosseguir" + +msgid "Please select a customer for gift card" +msgstr "Por favor, selecione um cliente para o cartão-presente" + +msgid "Please select a discount type" +msgstr "Por favor, selecione um tipo de desconto" + +msgid "Please select at least one variant" +msgstr "" + +msgid "Please select at least one {0}" +msgstr "Por favor, selecione pelo menos um {0}" + +msgid "Please wait while we clear your cached data" +msgstr "Por favor, aguarde enquanto limpamos seus dados em cache" + +msgid "Points applied: {0}. Please pay remaining {1} with {2}" +msgstr "" + +msgid "Previous" +msgstr "Anterior" + +msgid "Price" +msgstr "Preço" + +msgid "Pricing & Discounts" +msgstr "Preços e Descontos" + +msgid "Pricing Error" +msgstr "Erro de Preço" + +msgid "Pricing Rule" +msgstr "Regra de Preço" + +msgid "Print" +msgstr "Imprimir" + +msgid "Print Invoice" +msgstr "Imprimir Fatura" + +msgid "Print Receipt" +msgstr "Imprimir Comprovante" + +msgid "Print draft" +msgstr "" + +msgid "Print without confirmation" +msgstr "Imprimir sem confirmação" + +msgid "Proceed to payment" +msgstr "Prosseguir para pagamento" + +msgid "Process Return" +msgstr "Processar Devolução" + +msgid "Process return invoice" +msgstr "Processar fatura de devolução" + +msgid "Processing..." +msgstr "Processando..." + +msgid "Product" +msgstr "Produto" + +msgid "Products" +msgstr "Produtos" + +msgid "Promotion & Coupon Management" +msgstr "Gerenciamento de Promoções e Cupons" + +msgid "Promotion Name" +msgstr "Nome da Promoção" + +msgid "Promotion created successfully" +msgstr "Promoção criada com sucesso" + +msgid "Promotion deleted successfully" +msgstr "Promoção excluída com sucesso" + +msgid "Promotion saved successfully" +msgstr "Promoção salva com sucesso" + +msgid "Promotion status updated successfully" +msgstr "Status da promoção atualizado com sucesso" + +msgid "Promotion updated successfully" +msgstr "Promoção atualizada com sucesso" + +msgid "Promotional" +msgstr "Promocional" + +msgid "Promotional Scheme" +msgstr "Esquema Promocional" + +msgid "Promotional Schemes" +msgstr "Esquemas Promocionais" + +msgid "Promotions" +msgstr "Promoções" + +msgid "Qty" +msgstr "Quantidade" + +msgid "Qty: {0}" +msgstr "Qtd: {0}" + +msgid "Quantity" +msgstr "Quantidade" + +msgid "Quick amounts for {0}" +msgstr "Valores rápidos para {0}" + +msgid "Rate" +msgstr "Preço Unitário" + +msgid "Read-only: Edit in ERPNext" +msgstr "Somente leitura: Edite no ERPNext" + +msgid "Ready" +msgstr "Pronto" + +msgid "Recent & Frequent" +msgstr "Recentes e Frequentes" + +msgid "Referral Code" +msgstr "Código de Referência" + +msgid "Refresh" +msgstr "Atualizar" + +msgid "Refresh Items" +msgstr "Atualizar Itens" + +msgid "Refresh items list" +msgstr "Atualizar lista de itens" + +msgid "Refreshing items..." +msgstr "Atualizando itens..." + +msgid "Refreshing..." +msgstr "Atualizando..." + +msgid "Refund Payment Methods" +msgstr "Métodos de Pagamento de Reembolso" + +msgid "Refundable Amount:" +msgstr "Valor a Ser Reembolsado:" + +msgid "Remaining" +msgstr "Pendente" + +msgid "Remarks" +msgstr "Observações" + +msgid "Remove" +msgstr "Remover" + +msgid "Remove all {0} items from cart?" +msgstr "Remover todos os {0} itens do carrinho?" + +msgid "Remove customer" +msgstr "Remover cliente" + +msgid "Remove item" +msgstr "Remover item" + +msgid "Remove serial" +msgstr "Remover serial" + +msgid "Remove {0}" +msgstr "Remover {0}" + +msgid "Reports" +msgstr "Relatórios" + +msgid "Requested quantity ({0}) exceeds available stock ({1})" +msgstr "Quantidade solicitada ({0}) excede o estoque disponível ({1})" + +msgid "Required" +msgstr "Obrigatório" + +msgid "Resume Shift" +msgstr "Retomar Turno" + +msgid "Return" +msgstr "Devolução" + +msgid "Return Against:" +msgstr "Devolução Contra:" + +msgid "Return Invoice" +msgstr "Fatura de Devolução" + +msgid "Return Qty:" +msgstr "Qtd. Devolução:" + +msgid "Return Reason" +msgstr "Motivo da Devolução" + +msgid "Return Summary" +msgstr "Resumo da Devolução" + +msgid "Return Value:" +msgstr "Valor de Devolução:" + +msgid "Return against {0}" +msgstr "Devolução contra {0}" + +msgid "Return invoice {0} created successfully" +msgstr "Fatura de devolução {0} criada com sucesso" + +msgid "Return invoices will appear here" +msgstr "Faturas de devolução aparecerão aqui" + +msgid "Returns" +msgstr "Devoluções" + +msgid "Rule" +msgstr "Regra" + +msgid "Sale" +msgstr "Venda" + +msgid "Sales Controls" +msgstr "Controles de Vendas" + +msgid "Sales Invoice" +msgstr "" + +msgid "Sales Management" +msgstr "Gestão de Vendas" + +msgid "Sales Operations" +msgstr "Operações de Venda" + +msgid "Sales Order" +msgstr "" + +msgid "Save" +msgstr "Salvar" + +msgid "Save Changes" +msgstr "Salvar Alterações" + +msgid "Save invoices as drafts to continue later" +msgstr "Salve faturas como rascunho para continuar depois" + +msgid "Save these filters as..." +msgstr "Salvar estes filtros como..." + +msgid "Saved Filters" +msgstr "Filtros Salvos" + +msgid "Scanner ON - Enable Auto for automatic addition" +msgstr "Leitor LIGADO - Habilite o Auto para adição automática" + +msgid "Scheme" +msgstr "Esquema" + +msgid "Search Again" +msgstr "Buscar Novamente" + +msgid "Search and select a customer for the transaction" +msgstr "Busque e selecione um cliente para a transação" + +msgid "Search by email: {0}" +msgstr "Buscar por e-mail: {0}" + +msgid "Search by invoice number or customer name..." +msgstr "Buscar por número da fatura ou nome do cliente..." + +msgid "Search by invoice number or customer..." +msgstr "Buscar por número da fatura ou cliente..." + +msgid "Search by item code, name or scan barcode" +msgstr "Buscar por código, nome do item ou escanear código de barras" + +msgid "Search by item name, code, or scan barcode" +msgstr "Buscar por nome, código do item ou escanear código de barras" + +msgid "Search by name or code..." +msgstr "Buscar por nome ou código..." + +msgid "Search by phone: {0}" +msgstr "Buscar por telefone: {0}" + +msgid "Search countries..." +msgstr "Buscar países..." + +msgid "Search country or code..." +msgstr "Buscar país ou código..." + +msgid "Search coupons..." +msgstr "Buscar cupons..." + +msgid "Search customer by name or mobile..." +msgstr "" + +msgid "Search customer in cart" +msgstr "Buscar cliente no carrinho" + +msgid "Search customers" +msgstr "Buscar clientes" + +msgid "Search customers by name, mobile, or email..." +msgstr "Buscar clientes por nome, celular ou e-mail..." + +msgid "Search customers..." +msgstr "" + +msgid "Search for an item" +msgstr "Buscar por um item" + +msgid "Search for items across warehouses" +msgstr "Buscar itens em todos os depósitos" + +msgid "Search invoices..." +msgstr "Buscar faturas..." + +msgid "Search item... (min 2 characters)" +msgstr "Buscar item... (mín. 2 caracteres)" + +msgid "Search items" +msgstr "Buscar itens" + +msgid "Search items by name or code..." +msgstr "Pesquisar itens por nome ou código..." + +msgid "Search or add customer..." +msgstr "Buscar ou adicionar cliente..." + +msgid "Search products..." +msgstr "Buscar produtos..." + +msgid "Search promotions..." +msgstr "Buscar promoções..." + +msgid "Search sales person..." +msgstr "Buscar vendedor..." + +msgid "Search serial numbers..." +msgstr "Buscar números de série..." + +msgid "Search..." +msgstr "Buscar..." + +msgid "Searching..." +msgstr "Buscando..." + +msgid "Sec" +msgstr "Seg" + +msgid "Select" +msgstr "" + +msgid "Select All" +msgstr "Selecionar Todos" + +msgid "Select Batch Number" +msgstr "Selecionar Número de Lote" + +msgid "Select Batch Numbers" +msgstr "Selecionar Números de Lote" + +msgid "Select Brand" +msgstr "Selecione Marca" + +msgid "Select Customer" +msgstr "Selecionar Cliente" + +msgid "Select Customer Group" +msgstr "Selecionar Grupo de Clientes" + +msgid "Select Invoice to Return" +msgstr "Selecionar Fatura para Devolução" + +msgid "Select Item" +msgstr "Selecionar Item" + +msgid "Select Item Group" +msgstr "Selecione Grupo de Itens" + +msgid "Select Item Variant" +msgstr "Selecionar Variante do Item" + +msgid "Select Items to Return" +msgstr "Selecionar Itens para Devolução" + +msgid "Select POS Profile" +msgstr "Selecionar Perfil PDV" + +msgid "Select Serial Numbers" +msgstr "Selecionar Números de Série" + +msgid "Select Territory" +msgstr "Selecionar Território" + +msgid "Select Unit of Measure" +msgstr "Selecionar Unidade de Medida" + +msgid "Select Variants" +msgstr "" + +msgid "Select a Coupon" +msgstr "Selecionar um Cupom" + +msgid "Select a Promotion" +msgstr "Selecionar uma Promoção" + +msgid "Select a payment method" +msgstr "" + +msgid "Select a payment method to start" +msgstr "" + +msgid "Select items to start or choose a quick action" +msgstr "Selecione itens para começar ou escolha uma ação rápida" + +msgid "Select method..." +msgstr "Selecionar método..." + +msgid "Select option" +msgstr "Selecione uma opção" + +msgid "Select the unit of measure for this item:" +msgstr "Selecione a unidade de medida para este item:" + +msgid "Select {0}" +msgstr "Selecionar {0}" + +msgid "Selected" +msgstr "Selecionado" + +msgid "Serial No:" +msgstr "N° de Série:" + +msgid "Serial Numbers" +msgstr "Números de Série" + +msgid "Server Error" +msgstr "Erro do Servidor" + +msgid "Settings" +msgstr "Configurações" + +msgid "Settings saved and warehouse updated. Reloading stock..." +msgstr "Configurações salvas e depósito atualizado. Recarregando estoque..." + +msgid "Settings saved successfully" +msgstr "Configurações salvas com sucesso" + +msgid "" +"Settings saved, warehouse updated, and tax mode changed. Cart will be " +"recalculated." +msgstr "" +"Configurações salvas, depósito atualizado e modo de imposto alterado. O " +"carrinho será recalculado." + +msgid "Shift Open" +msgstr "Turno Aberto" + +msgid "Shift Open:" +msgstr "Turno Aberto:" + +msgid "Shift Status" +msgstr "Status do Turno" + +msgid "Shift closed successfully" +msgstr "Turno fechado com sucesso" + +msgid "Shift is Open" +msgstr "O Turno Está Aberto" + +msgid "Shift start" +msgstr "Início do turno" + +msgid "Short {0}" +msgstr "Falta de {0}" + +msgid "Show discounts as percentages" +msgstr "Mostrar descontos como porcentagens" + +msgid "Show exact totals without rounding" +msgstr "Mostrar totais exatos sem arredondamento" + +msgid "Show password" +msgstr "Mostrar senha" + +msgid "Sign Out" +msgstr "Sair" + +msgid "Sign Out Confirmation" +msgstr "Confirmação de Saída" + +msgid "Sign Out Only" +msgstr "Apenas Sair" + +msgid "Sign Out?" +msgstr "Sair?" + +msgid "Sign in" +msgstr "Entrar" + +msgid "Sign in to POS Next" +msgstr "Acesse o POS Next" + +msgid "Sign out" +msgstr "Sair" + +msgid "Signing Out..." +msgstr "Saindo..." + +msgid "Signing in..." +msgstr "Acessando..." + +msgid "Signing out..." +msgstr "Saindo..." + +msgid "Silent Print" +msgstr "Impressão Silenciosa" + +msgid "Skip & Sign Out" +msgstr "Ignorar e Sair" + +msgid "Snooze for 7 days" +msgstr "Adiar por 7 dias" + +msgid "Some data may not be available offline" +msgstr "Alguns dados podem não estar disponíveis offline" + +msgid "Sort Items" +msgstr "Ordenar Itens" + +msgid "Sort items" +msgstr "Ordenar itens" + +msgid "Sorted by {0} A-Z" +msgstr "Ordenado por {0} A-Z" + +msgid "Sorted by {0} Z-A" +msgstr "Ordenado por {0} Z-A" + +msgid "Special Offer" +msgstr "Oferta Especial" + +msgid "Specific Items" +msgstr "Itens Específicos" + +msgid "Start Sale" +msgstr "Iniciar Venda" + +msgid "Start typing to see suggestions" +msgstr "Comece a digitar para ver sugestões" + +msgid "Status:" +msgstr "Status:" + +msgid "Status: {0}" +msgstr "Status: {0}" + +msgid "Stock Controls" +msgstr "Controles de Estoque" + +msgid "Stock Lookup" +msgstr "Consulta de Estoque" + +msgid "Stock Management" +msgstr "Gestão de Estoque" + +msgid "Stock Validation Policy" +msgstr "Política de Validação de Estoque" + +msgid "Stock unit" +msgstr "Unidade de estoque" + +msgid "Stock: {0}" +msgstr "Estoque: {0}" + +msgid "Subtotal" +msgstr "Subtotal" + +msgid "Subtotal (before tax)" +msgstr "Subtotal (antes do imposto)" + +msgid "Subtotal:" +msgstr "Subtotal:" + +msgid "Summary" +msgstr "" + +msgid "Switch to grid view" +msgstr "Mudar para visualização em grade" + +msgid "Switch to list view" +msgstr "Mudar para visualização em lista" + +msgid "Switched to {0}. Stock quantities refreshed." +msgstr "Mudado para {0}. Quantidades de estoque atualizadas." + +msgid "Sync All" +msgstr "Sincronizar Tudo" + +msgid "Sync Interval (seconds)" +msgstr "Intervalo de Sincronização (segundos)" + +msgid "Syncing" +msgstr "Sincronizando" + +msgid "Syncing catalog in background... {0} items cached" +msgstr "Sincronizando catálogo em segundo plano... {0} itens em cache" + +msgid "Syncing..." +msgstr "Sincronizando..." + +msgid "System Test" +msgstr "Teste do Sistema" + +msgid "TAX INVOICE" +msgstr "FATURA DE IMPOSTOS" + +msgid "TOTAL:" +msgstr "TOTAL:" + +msgid "Tabs" +msgstr "" + +msgid "Tax" +msgstr "Imposto" + +msgid "Tax Collected" +msgstr "Imposto Arrecadado" + +msgid "Tax Configuration Error" +msgstr "Erro de Configuração de Imposto" + +msgid "Tax Inclusive" +msgstr "Imposto Incluso" + +msgid "Tax Summary" +msgstr "Resumo de Impostos" + +msgid "Tax mode updated. Cart recalculated with new tax settings." +msgstr "" +"Modo de imposto atualizado. Carrinho recalculado com as novas configurações " +"de imposto." + +msgid "Tax:" +msgstr "Imposto:" + +msgid "Taxes:" +msgstr "Impostos:" + +msgid "Technical: {0}" +msgstr "Técnico: {0}" + +msgid "Territory" +msgstr "Território" + +msgid "Test Connection" +msgstr "Testar Conexão" + +msgid "Thank you for your business!" +msgstr "Obrigado(a) pela preferência!" + +msgid "The coupon code you entered is not valid" +msgstr "O código de cupom inserido não é válido" + +msgid "This Month" +msgstr "Este Mês" + +msgid "This Week" +msgstr "Esta Semana" + +msgid "This action cannot be undone." +msgstr "Esta ação não pode ser desfeita." + +msgid "This combination is not available" +msgstr "Esta combinação não está disponível" + +msgid "This coupon requires a minimum purchase of " +msgstr "" + +msgid "" +"This invoice was paid on account (credit sale). The return will reverse the " +"accounts receivable balance. No cash refund will be processed." +msgstr "" +"Esta fatura foi paga a crédito (venda a prazo). A devolução reverterá o " +"saldo de contas a receber. Nenhum reembolso em dinheiro será processado." + +msgid "" +"This invoice was partially paid. The refund will be split proportionally." +msgstr "" +"Esta fatura foi paga parcialmente. O reembolso será dividido " +"proporcionalmente." + +msgid "This invoice was sold on credit. The customer owes the full amount." +msgstr "Esta fatura foi vendida a crédito. O cliente deve o valor total." + +msgid "This item is out of stock in all warehouses" +msgstr "Este item está esgotado em todos os depósitos" + +msgid "" +"This item template <strong>{0}<strong> has no variants created " +"yet." +msgstr "" + +msgid "" +"This return was against a Pay on Account invoice. The accounts receivable " +"balance has been reversed. No cash refund was processed." +msgstr "" +"Esta devolução foi contra uma fatura Paga a Prazo. O saldo de contas a " +"receber foi revertido. Nenhum reembolso em dinheiro foi processado." + +msgid "" +"This will also delete all associated pricing rules. This action cannot be " +"undone." +msgstr "" +"Isso também excluirá todas as regras de preço associadas. Esta ação não pode " +"ser desfeita." + +msgid "" +"This will clear all cached items, customers, and stock data. Invoices and " +"drafts will be preserved." +msgstr "" +"Isso limpará todos os itens, clientes e dados de estoque em cache. Faturas e " +"rascunhos serão preservados." + +msgid "Time" +msgstr "Hora" + +msgid "Times Used" +msgstr "Vezes Usado" + +msgid "Timestamp: {0}" +msgstr "Data e Hora: {0}" + +msgid "Title: {0}" +msgstr "Título: {0}" + +msgid "To Date" +msgstr "Data Final" + +msgid "To create variants:" +msgstr "Para criar variantes:" + +msgid "Today" +msgstr "Hoje" + +msgid "Total" +msgstr "Total" + +msgid "Total Actual" +msgstr "Total Real" + +msgid "Total Amount" +msgstr "Valor Total" + +msgid "Total Available" +msgstr "Total Disponível" + +msgid "Total Expected" +msgstr "Total Esperado" + +msgid "Total Paid:" +msgstr "Total Pago:" + +msgid "Total Quantity" +msgstr "Quantidade Total" + +msgid "Total Refund:" +msgstr "Total do Reembolso:" + +msgid "Total Tax Collected" +msgstr "Total de Imposto Arrecadado" + +msgid "Total Variance" +msgstr "Variação Total" + +msgid "Total:" +msgstr "Total:" + +msgid "Try Again" +msgstr "Tentar Novamente" + +msgid "Try a different search term" +msgstr "Tente um termo de busca diferente" + +msgid "Try a different search term or create a new customer" +msgstr "Tente um termo de busca diferente ou crie um novo cliente" + +msgid "Type" +msgstr "Tipo" + +msgid "Type to search items..." +msgstr "Digite para buscar itens..." + +msgid "Type: {0}" +msgstr "Tipo: {0}" + +msgid "UOM" +msgstr "UDM" + +msgid "Unable to connect to server. Check your internet connection." +msgstr "" +"Não foi possível conectar ao servidor. Verifique sua conexão com a internet." + +msgid "Unit changed to {0}" +msgstr "Unidade alterada para {0}" + +msgid "Unit of Measure" +msgstr "Unidade de Medida" + +msgid "Unknown" +msgstr "Desconhecido" + +msgid "Unlimited" +msgstr "Ilimitado" + +msgid "Unpaid" +msgstr "Não Pago" + +msgid "Unpaid ({0})" +msgstr "Não Pago ({0})" + +msgid "Until {0}" +msgstr "Até {0}" + +msgid "Update" +msgstr "Atualizar" + +msgid "Update Item" +msgstr "Atualizar Item" + +msgid "Update the promotion details below" +msgstr "Atualize os detalhes da promoção abaixo" + +msgid "Use Percentage Discount" +msgstr "Usar Desconto em Porcentagem" + +msgid "Used: {0}" +msgstr "Usado: {0}" + +msgid "Used: {0}/{1}" +msgstr "Usado: {0}/{1}" + +msgid "User ID / Email" +msgstr "ID de Usuário / E-mail" + +msgid "User: {0}" +msgstr "Usuário: {0}" + +msgid "Valid From" +msgstr "Válido A Partir De" + +msgid "Valid Until" +msgstr "Válido Até" + +msgid "Validation Error" +msgstr "Erro de Validação" + +msgid "Validity & Usage" +msgstr "Validade e Uso" + +msgid "View" +msgstr "Visualizar" + +msgid "View Details" +msgstr "Ver Detalhes" + +msgid "View Shift" +msgstr "Visualizar Turno" + +msgid "View all available offers" +msgstr "Visualizar todas as ofertas disponíveis" + +msgid "View and update coupon information" +msgstr "Visualizar e atualizar informações do cupom" + +msgid "View cart" +msgstr "Visualizar carrinho" + +msgid "View cart with {0} items" +msgstr "Visualizar carrinho com {0} itens" + +msgid "View current shift details" +msgstr "Visualizar detalhes do turno atual" + +msgid "View draft invoices" +msgstr "Visualizar faturas rascunho" + +msgid "View invoice history" +msgstr "Visualizar histórico de faturas" + +msgid "View items" +msgstr "Visualizar itens" + +msgid "View pricing rule details (read-only)" +msgstr "Visualizar detalhes da regra de preço (somente leitura)" + +msgid "Walk-in Customer" +msgstr "Cliente de Balcão" + +msgid "Warehouse" +msgstr "Depósito" + +msgid "Warehouse Selection" +msgstr "Seleção de Depósito" + +msgid "Warehouse not set" +msgstr "Depósito não definido" + +msgid "Warehouse updated but failed to reload stock. Please refresh manually." +msgstr "" +"Depósito atualizado, mas falha ao recarregar estoque. Por favor, atualize " +"manualmente." + +msgid "Welcome to POS Next" +msgstr "Bem-vindo(a) ao POS Next" + +msgid "Welcome to POS Next!" +msgstr "Bem-vindo(a) ao POS Next!" + +msgid "" +"When enabled, displayed prices include tax. When disabled, tax is calculated " +"separately. Changes apply immediately to your cart when you save." +msgstr "" +"Quando habilitado, os preços exibidos incluem imposto. Quando desabilitado, " +"o imposto é calculado separadamente. As alterações se aplicam imediatamente " +"ao seu carrinho ao salvar." + +msgid "Will apply when eligible" +msgstr "" + +msgid "Write Off Change" +msgstr "Baixa de Troco" + +msgid "Write off small change amounts" +msgstr "Dar baixa em pequenos valores de troco" + +msgid "Yesterday" +msgstr "Ontem" + +msgid "You can now start making sales" +msgstr "Você já pode começar a fazer vendas" + +msgid "You have an active shift open. Would you like to:" +msgstr "Você tem um turno ativo aberto. Gostaria de:" + +msgid "" +"You have an open shift. Would you like to resume it or close it and open a " +"new one?" +msgstr "" +"Você tem um turno aberto. Gostaria de retomá-lo ou fechá-lo e abrir um novo?" + +msgid "You have less than expected." +msgstr "Você tem menos do que o esperado." + +msgid "You have more than expected." +msgstr "Você tem mais do que o esperado." + +msgid "You need to open a shift before you can start making sales." +msgstr "Você precisa abrir um turno antes de poder começar a fazer vendas." + +msgid "You will be logged out of POS Next" +msgstr "Você será desconectado(a) do POS Next" + +msgid "Your Shift is Still Open!" +msgstr "Seu Turno Ainda Está Aberto!" + +msgid "Your cart is empty" +msgstr "Seu carrinho está vazio" + +msgid "Your point of sale system is ready to use." +msgstr "Seu sistema de ponto de venda está pronto para uso." + +msgid "discount ({0})" +msgstr "desconto ({0})" + +msgid "e.g., 20" +msgstr "Ex: 20" + +msgid "e.g., Summer Sale 2025" +msgstr "Ex: Venda de Verão 2025" + +msgid "e.g., Summer Sale Coupon 2025" +msgstr "Ex: Cupom Venda de Verão 2025" + +msgid "in 1 warehouse" +msgstr "em 1 depósito" + +msgid "in {0} warehouses" +msgstr "em {0} depósitos" + +msgid "of {0}" +msgstr "" + +msgid "optional" +msgstr "opcional" + +msgid "per {0}" +msgstr "por {0}" + +msgid "variant" +msgstr "" + +msgid "variants" +msgstr "" + +msgid "{0} ({1}) added to cart" +msgstr "{0} ({1}) adicionado(s) ao carrinho" + +msgid "{0} - {1} of {2}" +msgstr "" + +msgid "{0} OFF" +msgstr "{0} DESCONTO" + +msgid "{0} Pending Invoice(s)" +msgstr "{0} Fatura(s) Pendente(s)" + +msgid "{0} added to cart" +msgstr "{0} adicionado(s) ao carrinho" + +msgid "{0} applied successfully" +msgstr "{0} aplicado com sucesso" + +msgid "{0} created and selected" +msgstr "{0} criado e selecionado" + +msgid "{0} failed" +msgstr "{0} falhou" + +msgid "{0} free item(s) included" +msgstr "{0} item(s) grátis incluído(s)" + +msgid "{0} hours ago" +msgstr "Há {0} horas" + +msgid "{0} invoice - {1} outstanding" +msgstr "{0} fatura - {1} pendente" + +msgid "{0} invoice(s) failed to sync" +msgstr "{0} fatura(s) falhou(ram) ao sincronizar" + +msgid "{0} invoice(s) synced successfully" +msgstr "{0} fatura(s) sincronizada(s) com sucesso" + +msgid "{0} invoices" +msgstr "{0} faturas" + +msgid "{0} invoices - {1} outstanding" +msgstr "{0} faturas - {1} pendente" + +msgid "{0} item(s)" +msgstr "{0} item(s)" + +msgid "{0} item(s) selected" +msgstr "{0} item(s) selecionado(s)" + +msgid "{0} items" +msgstr "{0} itens" + +msgid "{0} items found" +msgstr "{0} itens encontrados" + +msgid "{0} minutes ago" +msgstr "Há {0} minutos" + +msgid "{0} of {1} customers" +msgstr "{0} de {1} clientes" + +msgid "{0} off {1}" +msgstr "{0} de desconto em {1}" + +msgid "{0} paid" +msgstr "{0} pago(s)" + +msgid "{0} returns" +msgstr "{0} devoluções" + +msgid "{0} selected" +msgstr "{0} selecionado(s)" + +msgid "{0} settings applied immediately" +msgstr "Configurações de {0} aplicadas imediatamente" + +msgid "{0} transactions • {1}" +msgstr "" + +msgid "{0} updated" +msgstr "" + +msgid "{0}%" +msgstr "" + +msgid "{0}% OFF" +msgstr "" + +msgid "{0}% off {1}" +msgstr "" + +msgid "{0}: maximum {1}" +msgstr "{0}: máximo {1}" + +msgid "{0}h {1}m" +msgstr "{0}h {1}m" + +msgid "{0}m" +msgstr "{0}m" + +msgid "{0}m ago" +msgstr "Há {0}m" + +msgid "{0}s ago" +msgstr "Há {0}s" + +msgid "~15 KB per sync cycle" +msgstr "~15 KB por ciclo de sincronização" + +msgid "~{0} MB per hour" +msgstr "~{0} MB por hora" + +msgid "• Use ↑↓ to navigate, Enter to select" +msgstr "• Use ↑↓ para navegar, Enter para selecionar" + +msgid "⚠️ Payment total must equal refund amount" +msgstr "⚠️ O total do pagamento deve ser igual ao valor do reembolso" + +msgid "⚠️ Payment total must equal refundable amount" +msgstr "⚠️ O total do pagamento deve ser igual ao valor a ser reembolsado" + +msgid "⚠️ {0} already returned" +msgstr "⚠️ {0} já devolvido(s)" + +msgid "✓ Balanced" +msgstr "✓ Balanceado" + +msgid "✓ Connection successful: {0}" +msgstr "✓ Conexão bem-sucedida: {0}" + +msgid "✓ Shift Closed" +msgstr "✓ Turno Fechado" + +msgid "✓ Shift closed successfully" +msgstr "✓ Turno fechado com sucesso" + +msgid "✗ Connection failed: {0}" +msgstr "✗ Conexão falhou: {0}" + +#~ msgid "Account" +#~ msgstr "Conta" + +#~ msgid "Brand" +#~ msgstr "Marca" + +#~ msgid "Cancelled" +#~ msgstr "Cancelado" + +#~ msgid "Cashier" +#~ msgstr "Caixa" + +#~ msgid "Closing Amount" +#~ msgstr "Valor de Fechamento" + +#~ msgid "Description" +#~ msgstr "Descrição" + +#~ msgid "Difference" +#~ msgstr "Diferença" + +#~ msgid "Draft" +#~ msgstr "Rascunho" + +#~ msgid "Enabled" +#~ msgstr "Habilitado" + +#~ msgctxt "Error" +#~ msgid "Exception: {0}" +#~ msgstr "Exceção: {0}" + +#~ msgid "Expected Amount" +#~ msgstr "Valor Esperado" + +#~ msgid "Help" +#~ msgstr "Ajuda" + +#~ msgctxt "order" +#~ msgid "Hold" +#~ msgstr "Suspender" + +#~ msgid "Loyalty Points" +#~ msgstr "Pontos de Fidelidade" + +#~ msgctxt "UOM" +#~ msgid "Nos" +#~ msgstr "N°s" + +#~ msgid "Offer Applied" +#~ msgstr "Oferta Aplicada" + +#~ msgid "Opening Amount" +#~ msgstr "Valor de Abertura" + +#~ msgid "POS Profile" +#~ msgstr "Perfil do PDV" + +#~ msgid "Pending" +#~ msgstr "Pendente" + +#~ msgid "" +#~ "Prices are now tax-exclusive. This will apply to new items added to cart." +#~ msgstr "" +#~ "Os preços agora não incluem impostos (tax-exclusive). Isso será aplicado " +#~ "a novos itens adicionados ao carrinho." + +#~ msgid "" +#~ "Prices are now tax-inclusive. This will apply to new items added to cart." +#~ msgstr "" +#~ "Os preços agora incluem impostos. Isso será aplicado a novos itens " +#~ "adicionados ao carrinho." + +#~ msgid "Refund" +#~ msgstr "Reembolso" + +#~ msgid "Status" +#~ msgstr "Status" + +#~ msgid "Synced" +#~ msgstr "Sincronizado" + +#~ msgid "These invoices will be submitted when you're back online" +#~ msgstr "Estas faturas serão enviadas quando você voltar a ficar online" + +#~ msgid "Transaction" +#~ msgstr "Transação" + +#~ msgid "Wallet" +#~ msgstr "Carteira Digital" + +#~ msgid "You don't have permission to create coupons" +#~ msgstr "Você não tem permissão para criar cupons" + +#~ msgid "" +#~ "You don't have permission to create customers. Contact your administrator." +#~ msgstr "" +#~ "Você não tem permissão para criar clientes. Contate seu administrador." + +#~ msgid "You don't have permission to create promotions" +#~ msgstr "Você não tem permissão para criar promoções" + +#~ msgid "Your cart doesn't meet the requirements for this offer." +#~ msgstr "Seu carrinho não atende aos requisitos desta oferta." + +#~ msgctxt "item qty" +#~ msgid "of {0}" +#~ msgstr "de {0}" + +#~ msgid "{0} reserved" +#~ msgstr "{0} reservado(s)" diff --git a/pos_next/pos_next/doctype/pos_settings/pos_settings.json b/pos_next/pos_next/doctype/pos_settings/pos_settings.json index badd1c88..94be463c 100644 --- a/pos_next/pos_next/doctype/pos_settings/pos_settings.json +++ b/pos_next/pos_next/doctype/pos_settings/pos_settings.json @@ -95,7 +95,7 @@ "fieldtype": "Table MultiSelect", "label": "Allowed Languages", "options": "POS Allowed Locale", - "description": "Select languages available in the POS language switcher. If empty, defaults to English and Arabic." + "description": "Select languages available in the POS language switcher. If empty, all supported languages are available." }, { "collapsible": 0, diff --git a/pos_next/translations/ar.csv b/pos_next/translations/ar.csv deleted file mode 100644 index cbf5055f..00000000 --- a/pos_next/translations/ar.csv +++ /dev/null @@ -1,1394 +0,0 @@ -"Complete Payment","إتمام الدفع","" -"optional","اختياري","" -"Payment Method","طريقة الدفع","" -"Refund Amount","المبلغ المسترد","" -"Enter amount...","أدخل المبلغ...","" -"Total Amount","إجمالي المبلغ","" -"Remaining","المتبقي","" -"Change Due","الباقي","" -"On Account","بالآجل","" -"Paid in Full","خالص / مدفوع بالكامل","" -"Fully Paid","مدفوع بالكامل","" -"Paid Amount","المبلغ المدفوع","" -"Paid: {0}","المدفوع: {0}","" -"Customer Credit Available","رصيد العميل المتاح","" -"Outstanding Balance","مديونية العميل","" -"Credit can be applied to invoice","يمكن استخدام الرصيد لسداد الفاتورة","" -"Amount owed by customer","المبلغ المستحق على العميل","" -"No outstanding balance","لا توجد مديونية","" -"Save","حفظ","" -"Cancel","إلغاء","" -"Submit","تأكيد","" -"Delete","حذف","" -"Edit","تعديل","" -"Search","بحث","" -"Close","إغلاق","" -"Confirm","تأكيد","" -"Yes","نعم","" -"No","لا","" -"Loading...","جاري التحميل...","" -"Error","خطأ","" -"Success","تم بنجاح","" -"Warning","تنبيه","" -"Information","معلومات","" -"Add Item","إضافة صنف","" -"Select Customer","اختر العميل","" -"Create Customer","عميل جديد","" -"Discount","خصم","" -"Tax","ضريبة","" -"Total","الإجمالي","" -"Checkout","الدفع وإنهاء الطلب","" -"Clear Cart","إفراغ السلة","" -"Hold Invoice","تعليق الفاتورة","" -"Print Receipt","طباعة الإيصال","" -"No stock available","الكمية نفدت","" -"Item added to cart","تمت الإضافة للسلة","" -"Item removed from cart","تم الحذف من السلة","" -"Open Shift","فتح وردية","" -"Close Shift","إغلاق الوردية","" -"Shift Opening","بداية الوردية","" -"Shift Closing","نهاية الوردية","" -"Opening Amount","عهدة الفتح","" -"Closing Amount","نقدية الإغلاق","" -"Cash in Hand","النقدية بالدرج","" -"Expected Amount","المبلغ المتوقع","" -"Difference","العجز / الزيادة","" -"Draft Invoices","مسودات","" -"Invoice History","سجل الفواتير","" -"Offline Invoices","فواتير غير مرحلة","" -"Return Invoice","مرتجع فاتورة","" -"Invoice Number","رقم الفاتورة","" -"Date","التاريخ","" -"Customer","العميل","" -"Amount","المبلغ","" -"Status","الحالة","" -"Paid","مدفوع","" -"Unpaid","غير مدفوع","" -"Partially Paid","مدفوع جزئياً","" -"Credit Note Issued","إشعار دائن","" -"Cancelled","ملغي","" -"Draft","مسودة","" -"Settings","الإعدادات","" -"General","عام","" -"Appearance","المظهر","" -"Language","اللغة","" -"Select Language","اختر اللغة","" -"Theme","السمة","" -"Notifications","الإشعارات","" -"Receipt Settings","إعدادات الإيصال","" -"Hardware","الأجهزة","" -"POS Profile","ملف نقطة البيع","" -"Network connection error","لا يوجد اتصال بالشبكة","" -"Session expired, please login again","انتهت الجلسة، يرجى الدخول مجدداً","" -"Insufficient stock for {0}","رصيد الصنف {0} غير كافٍ","" -"Invalid quantity","الكمية غير صحيحة","" -"Please select a customer","يرجى اختيار العميل أولاً","" -"Payment processing failed","فشلت عملية الدفع","" -"An unexpected error occurred","حدث خطأ غير متوقع","" -"This field is required","هذا الحقل مطلوب","" -"Minimum length is {0} characters","الحد الأدنى {0} حروف","" -"Maximum length is {0} characters","الحد الأقصى {0} حروف","" -"Please enter a valid email address","البريد الإلكتروني غير صحيح","" -"Please enter a valid phone number","رقم الهاتف غير صحيح","" -"Please enter a valid number","يرجى إدخال رقم صحيح","" -"Value must be positive","القيمة يجب أن تكون موجبة","" -"Customer Credit","رصيد العميل","" -"Available Credit","الرصيد المتاح","" -"Payment Methods","طرق الدفع","" -"Cash","نقدي","" -"Card","بطاقة بنكية","" -"Wallet","محفظة إلكترونية","" -"Bank Transfer","تحويل بنكي","" -"Item","الصنف","" -"Items","الأصناف","" -"1 item","صنف واحد","" -"{0} items","{0} أصناف","" -"Invoice Summary","ملخص الفاتورة","" -"Quantity","الكمية","" -"Price","السعر","" -"Subtotal","المجموع الفرعي","" -"Grand Total","الإجمالي الكلي","" -"Custom Amount","مبلغ مخصص","" -"Enter amount","أدخل المبلغ","" -"Apply","تطبيق","" -"Apply Coupon","تطبيق الكوبون","" -"Coupon Code","كود الخصم","" -"Remove","حذف","" -"Add","إضافة","" -"Update","تحديث","" -"Refresh","تنشيط","" -"Reload","إعادة تحميل","" -"Print","طباعة","" -"Download","تنزيل","" -"Upload","رفع","" -"Import","رفع ملف","" -"Export","تحميل ملف","" -"Filter","تصفية","" -"Sort","ترتيب","" -"Ascending","تصاعدي","" -"Descending","تنازلي","" -"All","الكل","" -"None","لا شيء","" -"Select All","تحديد الكل","" -"Deselect All","إلغاء التحديد","" -"Name","الاسم","" -"Email","البريد الإلكتروني","" -"Phone","الهاتف","" -"Address","العنوان","" -"City","المدينة","" -"State","المحافظة","" -"Country","الدولة","" -"Postal Code","الرمز البريدي","" -"Notes","ملاحظات","" -"Description","الوصف","" -"Category","القسم","" -"Type","النوع","" -"Unit","الوحدة","" -"Stock","الرصيد المخزني","" -"Available","متاح","" -"Out of Stock","نفدت الكمية","" -"Low Stock","رصيد منخفض","" -"In Stock","متوفر","" -"Barcode","باركود","" -"SKU","كود الصنف (SKU)","" -"Image","صورة","" -"Gallery","الصور","" -"Product","منتج","" -"Products","منتجات","" -"Service","خدمة","" -"Services","الخدمات","" -"Order","طلب","" -"Orders","الطلبات","" -"Invoice","فاتورة","" -"Invoices","الفواتير","" -"Payment","دفعة","" -"Payments","المدفوعات","" -"Receipt","إيصال","" -"Receipts","إيصالات","" -"Refund","استرداد","" -"Refunds","المبالغ المستردة","" -"Return","مرتجع","" -"Returns","المرتجعات","" -"Exchange","استبدال","" -"Exchanges","عمليات الاستبدال","" -"Sale","بيع","" -"Sales","المبيعات","" -"Purchase","شراء","" -"Purchases","المشتريات","" -"Report","تقرير","" -"Reports","التقارير","" -"Dashboard","لوحة التحكم","" -"Home","الرئيسية","" -"Profile","الملف الشخصي","" -"Account","الحساب","" -"Logout","تسجيل خروج","" -"Login","تسجيل دخول","" -"Sign In","دخول","" -"Sign Up","إنشاء حساب","" -"Register","تسجيل جديد","" -"Password","كلمة المرور","" -"Username","اسم المستخدم","" -"Remember Me","تذكرني","" -"Forgot Password?","نسيت كلمة المرور؟","" -"Reset Password","إعادة تعيين كلمة المرور","" -"Change Password","تغيير كلمة المرور","" -"Old Password","كلمة المرور الحالية","" -"New Password","كلمة المرور الجديدة","" -"Confirm Password","تأكيد كلمة المرور","" -"Today","اليوم","" -"Yesterday","أمس","" -"This Week","هذا الأسبوع","" -"Last Week","الأسبوع الماضي","" -"This Month","هذا الشهر","" -"Last Month","الشهر الماضي","" -"This Year","هذا العام","" -"Last Year","العام الماضي","" -"Custom Range","فترة مخصصة","" -"From","من","" -"To","إلى","" -"Start Date","تاريخ البدء","" -"End Date","تاريخ الانتهاء","" -"Time","الوقت","" -"Hour","ساعة","" -"Hours","ساعات","" -"Minute","دقيقة","" -"Minutes","دقائق","" -"Second","ثانية","" -"Seconds","ثوانٍ","" -"Day","يوم","" -"Days","أيام","" -"Week","أسبوع","" -"Weeks","أسابيع","" -"Month","شهر","" -"Months","أشهر","" -"Year","سنة","" -"Years","سنوات","" -"Are you sure?","هل أنت متأكد؟","" -"This action cannot be undone","لن يمكنك التراجع عن هذا الإجراء","" -"Confirm Delete","تأكيد الحذف","" -"Confirm Action","تأكيد الإجراء","" -"Processing...","جاري المعالجة...","" -"Please wait...","يرجى الانتظار...","" -"Saving...","جاري الحفظ...","" -"Loading data...","جاري تحميل البيانات...","" -"No data available","لا توجد بيانات","" -"No results found","لا توجد نتائج","" -"Search results","نتائج البحث","" -"Showing {0} to {1} of {2} entries","عرض {0} إلى {1} من {2}","" -"Page","صفحة","" -"Previous","السابق","" -"Next","التالي","" -"First","الأول","" -"Last","الأخير","" -"per page","في الصفحة","" -"View","عرض","" -"View Shift","عرض الوردية","" -"View Details","عرض التفاصيل","" -"Edit Details","تعديل البيانات","" -"Copy","نسخ","" -"Duplicate","تكرار","" -"Archive","أرشفة","" -"Restore","استعادة","" -"Move","نقل","" -"Rename","إعادة تسمية","" -"Share","مشاركة","" -"Download PDF","تنزيل PDF","" -"Send Email","إرسال بريد","" -"Print Invoice","طباعة الفاتورة","" -"Email Invoice","إرسال الفاتورة","" -"Mark as Paid","تسجيل كمدفوع","" -"Mark as Unpaid","تسجيل كغير مدفوع","" -"Payment Received","تم استلام الدفعة","" -"Payment Pending","الدفع معلق","" -"Payment Failed","فشل الدفع","" -"Completed","مكتمل","" -"Pending","قيد الانتظار","" -"Processing","قيد التنفيذ","" -"Cancelled","ملغي","" -"Refunded","تم الاسترداد","" -"Draft","مسودة","" -"Submitted","مُرسلة","" -"Approved","معتمدة","" -"Rejected","مرفوضة","" -"Active","نشط","" -"Inactive","غير نشط","" -"Enabled","مفعّل","" -"Disabled","معطّل","" -"Online","متصل","" -"Offline","غير متصل","" -"Connected","متصل","" -"Disconnected","غير متصل","" -"Synced","تمت المزامنة","" -"Not Synced","غير متزامن","" -"Syncing...","جاري المزامنة...","" -"Last Sync","آخر مزامنة","" -"Sync Now","مزامنة الآن","" -"Auto Sync","مزامنة تلقائية","" -"Manual Sync","مزامنة يدوية","" -"Clear Cache","مسح الذاكرة المؤقتة","" -"Reset Settings","إعادة تعيين الإعدادات","" -"Restore Defaults","استعادة الافتراضيات","" -"About","عن النظام","" -"Help","مساعدة","" -"Support","الدعم الفني","" -"Documentation","دليل الاستخدام","" -"Version","إصدار","" -"License","الترخيص","" -"Privacy Policy","سياسة الخصوصية","" -"Terms of Service","شروط الخدمة","" -"Contact Us","اتصل بنا","" -"Feedback","ملاحظات","" -"Rate Us","قيم التطبيق","" -"More","المزيد","" -"Less","أقل","" -"Show More","عرض المزيد","" -"Show Less","عرض أقل","" -"Expand","توسيع","" -"Collapse","طي","" -"Full Screen","ملء الشاشة","" -"Exit Full Screen","إنهاء ملء الشاشة","" -"Shift Open:","وقت بداية الوردية:","" -"Offline ({0} pending)","غير متصل ({0} معلقة)","" -"Online - Click to sync","متصل - اضغط للمزامنة","" -"Offline mode active","أنت تعمل في وضع ""عدم الاتصال""","" -"Online mode active","تم الاتصال بالإنترنت","" -"Cache","الذاكرة المؤقتة","" -"Items:","عدد الأصناف:","" -"Last Sync:","آخر مزامنة:","" -"Status:","الحالة:","" -"Auto-Sync:","مزامنة تلقائية:","" -"Refreshing...","جاري التحديث...","" -"Refresh Items","تحديث البيانات","" -"Refreshing items...","جاري تحديث الأصناف...","" -"Refresh items list","تحديث قائمة الأصناف","" -"Empty","فارغ","" -"Syncing","جاري المزامنة","" -"Ready","جاهز","" -"Never","أبداً","" -"Cache empty","الذاكرة فارغة","" -"Cache syncing","مزامنة الذاكرة","" -"Cache ready","البيانات جاهزة","" -"Access your point of sale system","الدخول لنظام نقاط البيع","" -"Your cart is empty","السلة فارغة","" -"Cart Items","محتويات السلة","" -"Clear","مسح","" -"Last 7 Days","آخر 7 أيام","" -"Last 30 Days","آخر 30 يوم","" -"All Status","جميع الحالات","" -"Partly Paid","مدفوع جزئياً","" -"Overdue","مستحق / متأخر","" -"Negative Stock","مخزون بالسالب","" -"Cart","السلة","" -"Welcome to POS Next","مرحباً بك في POS Next","" -"Please open a shift to start making sales","يرجى فتح وردية لبدء البيع","" -"Clear Cart?","إفراغ السلة؟","" -"Remove all {0} items from cart?","هل تريد حذف جميع الأصناف ({0}) من السلة؟","" -"Clear All","حذف الكل","" -"Sign Out Confirmation","تأكيد الخروج","" -"Your Shift is Still Open!","الوردية لا تزال مفتوحة!","" -"Close your shift first to save all transactions properly","يجب إغلاق الوردية أولاً لضمان ترحيل كافة العمليات بشكل صحيح.","" -"Close Shift & Sign Out","إغلاق الوردية والخروج","" -"Skip & Sign Out","خروج دون إغلاق","" -"Sign Out?","تسجيل الخروج؟","" -"You will be logged out of POS Next","سيتم تسجيل خروجك من POS Next","" -"Sign Out","خروج","" -"Signing Out...","جاري الخروج...","" -"Invoice Created Successfully","تم إنشاء الفاتورة","" -"Invoice {0} created successfully!","تم إنشاء الفاتورة {0} بنجاح!","" -"Total: {0}","الإجمالي: {0}","" -"An unexpected error occurred.","حدث خطأ غير متوقع.","" -"Delete Invoice","حذف الفاتورة","" -"Try Again","حاول مرة أخرى","" -"Tax mode updated. Cart recalculated with new tax settings.","تم تحديث نظام الضرائب. تمت إعادة حساب السلة.","" -"Discount settings changed. Cart recalculated.","تغيرت إعدادات الخصم. تمت إعادة حساب السلة.","" -"Prices are now tax-inclusive. This will apply to new items added to cart.","الأسعار الآن شاملة الضريبة (للأصناف الجديدة).","" -"Prices are now tax-exclusive. This will apply to new items added to cart.","الأسعار الآن غير شاملة الضريبة (للأصناف الجديدة).","" -"Negative stock sales are now allowed","البيع بالسالب مسموح الآن","" -"Negative stock sales are now restricted","البيع بالسالب غير مسموح","" -"Credit Sale","بيع آجل","" -"Write Off Change","شطب الكسور / الفكة","" -"Partial Payment","سداد جزئي","" -"Silent Print","طباعة مباشرة","" -"{0} settings applied immediately","تم تطبيق إعدادات {0}","" -"You can now start making sales","يمكنك البدء بالبيع الآن","" -"Shift closed successfully","تم إغلاق الوردية بنجاح","" -"Insufficient Stock","الرصيد غير كافٍ","" -"Item: {0}","الصنف: {0}","" -"\"{0}\" cannot be added to cart. Bundle is out of stock. Allow Negative Stock is disabled.","لا يمكن إضافة \"{0}\". المجموعة غير متوفرة (البيع بالسالب معطل).","" -"\"{0}\" cannot be added to cart. Item is out of stock. Allow Negative Stock is disabled.","لا يمكن إضافة \"{0}\". الصنف غير متوفر (البيع بالسالب معطل).","" -"{0} selected","تم تحديد {0}","" -"Please add items to cart before proceeding to payment","يرجى إضافة أصناف للسلة قبل الدفع","" -"Please select a customer before proceeding","يرجى اختيار العميل أولاً","" -"Invoice saved offline. Will sync when online","حُفظت الفاتورة محلياً (بدون اتصال). ستتم المزامنة لاحقاً.","" -"Unknown","غير معروف","" -"Invoice {0} created and sent to printer","تم إصدار الفاتورة {0} وإرسالها للطباعة","" -"Invoice {0} created but print failed","تم إصدار الفاتورة {0} لكن فشلت الطباعة","" -"Invoice {0} created successfully","تم إصدار الفاتورة {0} بنجاح","" -"All items removed from cart","تم إفراغ السلة","" -"{0} added to cart","أضيف للسلة: {0}","" -"{0} ({1}) added to cart","أضيف للسلة: {0} ({1})","" -"Failed to process selection. Please try again.","فشل الاختيار. يرجى المحاولة مرة أخرى.","" -"Return invoice {0} created successfully","تم عمل مرتجع للفاتورة {0} بنجاح","" -"Creating return for invoice {0}","جاري إنشاء مرتجع للفاتورة {0}","" -"{0} created and selected","تم إنشاء واختيار {0}","" -"All cached data has been cleared successfully","تم تنظيف الذاكرة المؤقتة بنجاح","" -"Failed to clear cache. Please try again.","فشل مسح الذاكرة المؤقتة.","" -"Your point of sale system is ready to use.","النظام جاهز للاستخدام.","" -"Shift Status","حالة الوردية","" -"Shift is Open","الوردية مفتوحة","" -"POS Profile: {0}","نقطة البيع: {0}","" -"Company:","الشركة:","" -"Opened:","وقت الفتح:","" -"Start Sale","بدء البيع","" -"No Active Shift","لا توجد وردية مفتوحة","" -"You need to open a shift before you can start making sales.","يجب فتح وردية قبل البدء في عمليات البيع.","" -"System Test","فحص النظام","" -"Test Connection","فحص الاتصال","" -"✓ Connection successful: {0}","✓ الاتصال ناجح: {0}","" -"✗ Connection failed: {0}","✗ فشل الاتصال: {0}","" -"Confirm Sign Out","تأكيد الخروج","" -"Active Shift Detected","تنبيه: الوردية مفتوحة","" -"You have an active shift open. Would you like to:","لديك وردية نشطة حالياً. ماذا تريد أن تفعل؟","" -"Are you sure you want to sign out of POS Next?","هل أنت متأكد من تسجيل الخروج من POS Next؟","" -"Sign Out Only","تسجيل الخروج فقط","" -"TAX INVOICE","فاتورة ضريبية","" -"Invoice #:","رقم الفاتورة:","" -"Date:","التاريخ:","" -"Customer:","العميل:","" -"Status:","الحالة:","" -"PARTIAL PAYMENT","سداد جزئي","" -"(FREE)","(مجاني)","" -"Subtotal:","المجموع الفرعي:","" -"Tax:","الضريبة:","" -"TOTAL:","الإجمالي:","" -"Total Paid:","إجمالي المدفوع:","" -"Change:","الباقي:","" -"BALANCE DUE:","المبلغ المستحق:","" -"Thank you for your business!","شكراً لتعاملكم معنا!","" -"Invoice - {0}","فاتورة رقم {0}","" -"Offline invoice deleted successfully","تم حذف الفاتورة (غير المرحلة) بنجاح","" -"Failed to delete offline invoice","فشل حذف الفاتورة","" -"Cannot sync while offline","لا يمكن المزامنة (لا يوجد اتصال)","" -"{0} invoice(s) synced successfully","تمت مزامنة {0} فاتورة","" -"Loading customers for offline use...","تجهيز بيانات العملاء للعمل دون اتصال...","" -"Data is ready for offline use","البيانات جاهزة للعمل دون اتصال","" -"Some data may not be available offline","بعض البيانات قد لا تتوفر دون اتصال","" -"POS is offline without cached data. Please connect to sync.","النظام غير متصل ولا توجد بيانات محفوظة. يرجى الاتصال بالإنترنت.","" -"{0} applied successfully","تم تطبيق {0}","" -"Discount has been removed from cart","تم إلغاء الخصم","" -"Add items to the cart before applying an offer.","أضف أصنافاً للسلة قبل تطبيق العرض.","" -"Your cart doesn't meet the requirements for this offer.","السلة لا تستوفي شروط هذا العرض.","" -"Failed to apply offer. Please try again.","فشل تطبيق العرض. حاول مجدداً.","" -"Offer has been removed from cart","تم حذف العرض من السلة","" -"Failed to update cart after removing offer.","فشل تحديث السلة بعد حذف العرض.","" -"Unit changed to {0}","تغيرت الوحدة إلى {0}","" -"Failed to update UOM. Please try again.","فشل تغيير وحدة القياس.","" -"{0} updated successfully","تم تحديث {0}","" -"Failed to update item. Please try again.","فشل تحديث الصنف.","" -"{0}h {1}m {2}s","{0}س {1}د {2}ث","" -"Sync Complete","اكتملت المزامنة","" -"Search by phone: {0}","بحث بالهاتف: {0}","" -"Search by email: {0}","بحث بالبريد: {0}","" -"Create new customer: {0}","إنشاء عميل جديد: {0}","" -"From {0}","من {0}","" -"Until {0}","إلى {0}","" -"Validation Error","خطأ في البيانات","" -"Permission Denied","غير مصرح لك","" -"Not Found","غير موجود","" -"Server Error","خطأ في الخادم","" -"Not enough stock available in the warehouse.\n\nPlease reduce the quantity or check stock availability.","لا يوجد مخزون كافٍ في المستودع.\n\nيرجى تقليل الكمية أو التحقق من توفر المخزون.","" -"Pricing Error","خطأ في التسعير","" -"Customer Error","خطأ في العميل","" -"Tax Configuration Error","خطأ في إعداد الضريبة","" -"Payment Error","خطأ في الدفع","" -"Naming Series Error","خطأ في سلسلة التسمية","" -"Connection Error","خطأ في الاتصال","" -"Unable to connect to server. Check your internet connection.","تعذر الاتصال بالخادم. تحقق من اتصالك بالإنترنت.","" -"Duplicate Entry","إدخال مكرر","" -"Error Report - POS Next","تقرير الخطأ - POS Next","" -"Title: {0}","العنوان: {0}","" -"Type: {0}","النوع: {0}","" -"Message: {0}","الرسالة: {0}","" -"Technical: {0}","تقني: {0}","" -"Timestamp: {0}","الطابع الزمني: {0}","" -"User: {0}","المستخدم: {0}","" -"POS Profile: {0}","ملف نقطة البيع: {0}","" -"Partial Payments","الدفعات الجزئية","" -"Manage invoices with pending payments","إدارة الفواتير ذات الدفعات المعلقة","" -"{0} invoice - {1} outstanding","{0} فاتورة - {1} مستحق","" -"{0} invoices - {1} outstanding","{0} فواتير - {1} مستحق","" -"Loading invoices...","جاري تحميل الفواتير...","" -"No Partial Payments","لا توجد دفعات جزئية","" -"All invoices are either fully paid or unpaid","جميع الفواتير إما مدفوعة بالكامل أو غير مدفوعة","" -"Add Payment","إضافة دفعة","" -"Payment History","سجل الدفعات","" -"Failed to load partial payments","فشل في تحميل الدفعات الجزئية","" -"Payment added successfully","تمت إضافة الدفعة بنجاح","" -"Failed to add payment","فشل في إضافة الدفعة","" -"Open POS Shift","فتح وردية نقطة البيع","" -"Select POS Profile","اختيار ملف نقطة البيع","" -"No POS Profiles available. Please contact your administrator.","لا توجد ملفات نقطة بيع متاحة. يرجى التواصل مع المسؤول.","" -"Change Profile","تغيير الحساب","" -"Opening Balance (Optional)","الرصيد الافتتاحي (اختياري)","" -"No payment methods configured for this POS Profile","لم يتم تكوين طرق دفع لملف نقطة البيع هذا","" -"Existing Shift Found","تم العثور على وردية موجودة","" -"You have an open shift. Would you like to resume it or close it and open a new one?","لديك وردية مفتوحة. هل تريد استئنافها أو إغلاقها وفتح وردية جديدة؟","" -"POS Profile: {0}","ملف نقطة البيع: {0}","" -"Opened: {0}","تم الفتح: {0}","" -"Resume Shift","استئناف الوردية","" -"Close & Open New","إغلاق وفتح جديد","" -"Back","رجوع","" -"At least {0} items required","مطلوب {0} عناصر على الأقل","" -"Maximum {0} items allowed for this offer","الحد الأقصى {0} عناصر مسموحة لهذا العرض","" -"Minimum cart value of {0} required","مطلوب قيمة سلة لا تقل عن {0}","" -"Maximum cart value exceeded ({0})","تم تجاوز الحد الأقصى لقيمة السلة ({0})","" -"Cart does not contain eligible items for this offer","السلة لا تحتوي على منتجات مؤهلة لهذا العرض","" -"Cart does not contain items from eligible groups","السلة لا تحتوي على منتجات من المجموعات المؤهلة","" -"Cannot save an empty cart as draft","لا يمكن حفظ سلة فارغة كمسودة","" -"Invoice saved as draft successfully","تم حفظ الفاتورة كمسودة بنجاح","" -"Failed to save draft","فشل في حفظ المسودة","" -"Draft invoice loaded successfully","تم تحميل مسودة الفاتورة بنجاح","" -"Failed to load draft","فشل في تحميل المسودة","" -"Close POS Shift","إغلاق وردية نقطة البيع","" -"Loading shift data...","جاري تحميل بيانات الوردية...","" -"Calculating totals and reconciliation...","جاري حساب الإجماليات والتسوية...","" -"Duration","المدة","" -"Total Sales","إجمالي المبيعات","" -"{0} invoices","{0} فواتير","" -"Net Amount","صافي المبلغ","" -"Before tax","قبل الضريبة","" -"Items Sold","المنتجات المباعة","" -"Total items","إجمالي العناصر","" -"Tax Collected","الضريبة المحصلة","" -"Total tax","إجمالي الضريبة","" -"No Sales During This Shift","لا مبيعات خلال هذه الوردية","" -"No invoices were created. Closing amounts should match opening amounts.","لم يتم إنشاء فواتير. يجب أن تتطابق مبالغ الإغلاق مع مبالغ الافتتاح.","" -"Invoice Details","تفاصيل الفاتورة","" -"{0} transactions • {1}","{0} معاملات • {1}","" -"N/A","غير متوفر","" -"Total:","الإجمالي:","" -"Payment Reconciliation","تسوية الدفعات","" -"✓ Shift Closed","✓ تم إغلاق الوردية","" -"Total Variance","إجمالي الفرق","" -"Enter actual amount for {0}","أدخل المبلغ الفعلي لـ {0}","" -"Expected: {0}","المتوقع: {0}","" -"✓ Balanced","✓ متوازن","" -"Over {0}","زيادة {0}","" -"Short {0}","نقص {0}","" -"Opening","الافتتاح","" -"Shift start","بداية الوردية","" -"Expected","المتوقع","" -"No sales","لا مبيعات","" -"Actual Amount *","المبلغ الفعلي *","" -"Final Amount","المبلغ النهائي","" -"Count & enter","عد وأدخل","" -"Cash Over","زيادة نقدية","" -"Cash Short","نقص نقدي","" -"You have more than expected.","لديك أكثر من المتوقع.","" -"You have less than expected.","لديك أقل من المتوقع.","" -"Total Expected","إجمالي المتوقع","" -"Total Actual","إجمالي الفعلي","" -"Net Variance","صافي الفرق","" -"Tax Summary","ملخص الضريبة","" -"Total Tax Collected","إجمالي الضريبة المحصلة","" -"Error Closing Shift","خطأ في إغلاق الوردية","" -"Dismiss","إغلاق","" -"Failed to Load Shift Data","فشل في تحميل بيانات الوردية","" -"Please enter all closing amounts","يرجى إدخال جميع مبالغ الإغلاق","" -"✓ Shift closed successfully","✓ تم إغلاق الوردية بنجاح","" -"Closing Shift...","جاري إغلاق الوردية...","" -"{0}h {1}m","{0}س {1}د","" -"{0}m","{0}د","" -"-- Select --","-- اختر --","" -"Select Customer","اختيار عميل","" -"Search and select a customer for the transaction","البحث واختيار عميل للمعاملة","" -"Search customers by name, mobile, or email...","البحث عن العملاء بالاسم أو الهاتف أو البريد...","" -"Search customers","البحث عن العملاء","" -"⭐ Recent & Frequent","⭐ الأحدث والأكثر تكراراً","" -"{0} of {1} customers","{0} من {1} عميل","" -"• Use ↑↓ to navigate, Enter to select","• استخدم ↑↓ للتنقل، Enter للاختيار","" -"Loading customers...","جاري تحميل العملاء...","" -"No customers available","لا يوجد عملاء متاحين","" -"Create your first customer to get started","قم بإنشاء أول عميل للبدء","" -"No results for \"{0}\"","لا توجد نتائج لـ \"{0}\"","" -"Try a different search term or create a new customer","جرب مصطلح بحث مختلف أو أنشئ عميلاً جديداً","" -"+ Create New Customer","+ إنشاء عميل جديد","" -"All Items","جميع المنتجات","" -"Syncing catalog in background... {0} items cached","جاري مزامنة الكتالوج في الخلفية... {0} عنصر مخزن","" -"Search items","البحث عن منتجات","" -"Barcode Scanner: ON (Click to disable)","ماسح الباركود: مفعل (انقر للتعطيل)","" -"Barcode Scanner: OFF (Click to enable)","ماسح الباركود: معطل (انقر للتفعيل)","" -"Disable barcode scanner","تعطيل ماسح الباركود","" -"Enable barcode scanner","تفعيل ماسح الباركود","" -"Auto-Add: ON - Press Enter to add items to cart","الإضافة التلقائية: مفعلة - اضغط Enter لإضافة منتجات للسلة","" -"Auto-Add: OFF - Click to enable automatic cart addition on Enter","الإضافة التلقائية: معطلة - انقر لتفعيل الإضافة التلقائية عند Enter","" -"Disable auto-add","تعطيل الإضافة التلقائية","" -"Enable auto-add","تفعيل الإضافة التلقائية","" -"Auto","تلقائي","" -"Grid View","عرض شبكي","" -"Switch to grid view","التبديل إلى العرض الشبكي","" -"List View","عرض قائمة","" -"Switch to list view","التبديل إلى عرض القائمة","" -"Sorted by {0} A-Z","مرتب حسب {0} أ-ي","" -"Sorted by {0} Z-A","مرتب حسب {0} ي-أ","" -"Sort items","ترتيب المنتجات","" -"Sort Items","ترتيب المنتجات","" -"No Sorting","بدون ترتيب","" -"Loading items...","جاري تحميل المنتجات...","" -"No results for {0} in {1}","لا توجد نتائج لـ {0} في {1}","" -"No results in {0}","لا توجد نتائج في {0}","" -"No results for {0}","لا توجد نتائج لـ {0}","" -"No items available","لا توجد منتجات متاحة","" -"{0}: {1} {2}","{0}: {1} {2}","" -"Nos","قطعة","" -"Check availability in other warehouses","التحقق من التوفر في مستودعات أخرى","" -"Check Availability in All Wherehouses","التحقق من التوفر في كل المستودعات", -"Selected","اختيار", -"Check warehouse availability","التحقق من توفر المستودع","" -"Loading more items...","جاري تحميل المزيد من المنتجات...","" -"All items loaded","تم تحميل جميع المنتجات","" -"{0} items found","تم العثور على {0} منتج","" -"{0} - {1} of {2}","{0} - {1} من {2}","" -"Go to first page","الذهاب للصفحة الأولى","" -"Go to previous page","الذهاب للصفحة السابقة","" -"Go to page {0}","الذهاب للصفحة {0}","" -"Go to next page","الذهاب للصفحة التالية","" -"Go to last page","الذهاب للصفحة الأخيرة","" -"Code","الرمز","" -"Rate","السعر","" -"Qty","الكمية","" -"UOM","وحدة القياس","" -"{0}: {1} Bundles","{0}: {1} حزم","" -"Auto-Add ON - Type or scan barcode","الإضافة التلقائية مفعلة - اكتب أو امسح الباركود","" -"Scanner ON - Enable Auto for automatic addition","الماسح مفعل - فعّل التلقائي للإضافة التلقائية","" -"Search by item code, name or scan barcode","البحث برمز المنتج أو الاسم أو مسح الباركود","" -"Item Not Found: No item found with barcode: {0}","المنتج غير موجود: لم يتم العثور على منتج بالباركود: {0}","" -"Multiple Items Found: {0} items match barcode. Please refine search.","تم العثور على منتجات متعددة: {0} منتج يطابق الباركود. يرجى تحسين البحث.","" -"Multiple Items Found: {0} items match. Please select one.","تم العثور على منتجات متعددة: {0} منتج. يرجى اختيار واحد.","" -"Loading invoice details...","جاري تحميل تفاصيل الفاتورة...","" -"Return Against:","إرجاع مقابل:","" -"Grand Total","المجموع الكلي","" -"Taxes:","الضرائب:","" -"Net Total:","صافي الإجمالي:","" -"Discount:","الخصم:","" -"Grand Total:","المجموع الكلي:","" -"Paid Amount:","المبلغ المدفوع:","" -"Outstanding:","المستحق:","" -"Remarks","ملاحظات","" -"Failed to load invoice details","فشل في تحميل تفاصيل الفاتورة","" -"Warehouse Availability","توفر المستودعات","" -"Close dialog","إغلاق النافذة","" -"Checking warehouse availability...","جاري التحقق من توفر المستودعات...","" -"Actual Stock:","المخزون الفعلي:","" -"This item is out of stock in all warehouses","هذا المنتج غير متوفر في جميع المستودعات","" -"Total Available:","إجمالي المتاح:","" -"across 1 warehouse","عبر مستودع واحد","" -"across {0} warehouses","عبر {0} مستودعات","" -"Have a coupon code?","هل لديك رمز كوبون؟","" -"Enter your promotional or gift card code below","أدخل رمز العرض الترويجي أو بطاقة الهدايا أدناه","" -"ENTER-CODE-HERE","أدخل-الرمز-هنا","" -"Code is case-insensitive","الرمز غير حساس لحالة الأحرف","" -"My Gift Cards ({0})","بطاقات الهدايا الخاصة بي ({0})","" -"Coupon Applied Successfully!","تم تطبيق الكوبون بنجاح!","" -"Discount Amount","قيمة الخصم","" -"Please enter a coupon code","يرجى إدخال رمز الكوبون","" -"The coupon code you entered is not valid","رمز الكوبون الذي أدخلته غير صالح","" -"This coupon requires a minimum purchase of ","هذا الكوبون يتطلب حد أدنى للشراء بقيمة ","" -"Failed to apply coupon. Please try again.","فشل في تطبيق الكوبون. يرجى المحاولة مرة أخرى.","" -"Discount has been removed","تمت إزالة الخصم","" -"Search countries...","البحث عن الدول...","" -"No countries found","لم يتم العثور على دول","" -"Create New Customer","إنشاء عميل جديد","" -"Customer Name","اسم العميل","" -"Enter customer name","أدخل اسم العميل","" -"Mobile Number","رقم الهاتف","" -"Search country or code...","البحث عن دولة أو رمز...","" -"Enter phone number","أدخل رقم الهاتف","" -"Enter email address","أدخل البريد الإلكتروني","" -"Customer Group","مجموعة العملاء","" -"Select Customer Group","اختر مجموعة العملاء","" -"Territory","المنطقة","" -"Select Territory","اختر المنطقة","" -"Permission Required","إذن مطلوب","" -"You don't have permission to create customers. Contact your administrator.","ليس لديك إذن لإنشاء عملاء. تواصل مع المسؤول.","" -"Individual","فرد","" -"All Territories","جميع المناطق","" -"Customer {0} created successfully","تم إنشاء العميل {0} بنجاح","" -"Failed to create customer","فشل في إنشاء العميل","" -"Customer Name is required","اسم العميل مطلوب","" -"Promotion & Coupon Management","إدارة العروض والكوبونات","" -"Manage promotional schemes and coupons","إدارة مخططات العروض الترويجية والكوبونات","" -"Promotional Schemes","المخططات الترويجية","" -"Coupons","الكوبونات","" -"Search promotions...","البحث عن العروض...","" -"Active Only","النشطة فقط","" -"Expired Only","المنتهية فقط","" -"Not Started","لم تبدأ بعد","" -"Disabled Only","المعطلة فقط","" -"Create New Promotion","إنشاء عرض جديد","" -"Create permission required","إذن الإنشاء مطلوب","" -"No promotions found","لم يتم العثور على عروض","" -"Rule","قاعدة","" -"Scheme","مخطط","" -"{0} items","{0} منتجات","" -"No expiry","بدون انتهاء","" -"Select a Promotion","اختر عرضاً","" -"Choose a promotion from the list to view and edit, or create a new one to get started","اختر عرضاً من القائمة لعرضه وتعديله، أو أنشئ واحداً جديداً للبدء","" -"You don't have permission to create promotions","ليس لديك إذن لإنشاء العروض","" -"Create New Promotion","إنشاء عرض جديد","" -"Edit Promotion","تعديل العرض","" -"Pricing Rule","قاعدة التسعير","" -"Promotional Scheme","المخطط الترويجي","" -"Fill in the details to create a new promotional scheme","أملأ التفاصيل لإنشاء مخطط ترويجي جديد","" -"View pricing rule details (read-only)","عرض تفاصيل قاعدة التسعير (للقراءة فقط)","" -"Update the promotion details below","تحديث تفاصيل العرض أدناه","" -"Read-only: Edit in ERPNext","للقراءة فقط: عدّل في ERPNext","" -"Enable","تفعيل","" -"Basic Information","المعلومات الأساسية","" -"Promotion Name","اسم العرض","" -"e.g., Summer Sale 2025","مثال: تخفيضات الصيف 2025","" -"Valid From","صالح من","" -"Valid Until","صالح حتى","" -"Apply On","تطبيق على","" -"Specific Items","منتجات محددة","" -"Item Groups","مجموعات المنتجات","" -"Brands","العلامات التجارية","" -"Entire Transaction","المعاملة بالكامل","" -"Select {0}","اختر {0}","" -"Required","مطلوب","" -"Search items... (min 2 characters)","البحث عن منتجات... (حرفين كحد أدنى)","" -"Searching from {0} cached items","البحث من {0} منتج مخزن","" -"Select Item Group","اختر مجموعة المنتجات","" -"Select Brand","اختر العلامة التجارية","" -"Select Item","اختر المنتج","" -"Select option","اختر خياراً","" -"Search by name or code...","البحث بالاسم أو الكود...","" -"No items found","لم يتم العثور على منتجات","" -"Discount Details","تفاصيل الخصم","" -"Discount Type","نوع الخصم","" -"Discount (%)","الخصم (%)","" -"discount ({0})","الخصم ({0})","" -"Free Item","منتج مجاني","" -"Search item... (min 2 characters)","البحث عن منتج... (حرفين كحد أدنى)","" -"Free Quantity","الكمية المجانية","" -"Minimum Quantity","الحد الأدنى للكمية","" -"Maximum Quantity","الحد الأقصى للكمية","" -"Minimum Amount ({0})","الحد الأدنى للمبلغ ({0})","" -"Maximum Amount ({0})","الحد الأقصى للمبلغ ({0})","" -"Delete Promotion","حذف العرض","" -"Are you sure you want to delete \"{0}\"?","هل أنت متأكد من حذف \"{0}\"؟","" -"This will also delete all associated pricing rules. This action cannot be undone.","سيؤدي هذا أيضاً إلى حذف جميع قواعد التسعير المرتبطة. لا يمكن التراجع عن هذا الإجراء.","" -"Percentage","نسبة مئوية","" -"Fixed Amount","مبلغ ثابت","" -"Failed to load item groups","فشل في تحميل مجموعات المنتجات","" -"Failed to load brands","فشل في تحميل العلامات التجارية","" -"Promotion created successfully","تم إنشاء العرض بنجاح","" -"Failed to create promotion","فشل في إنشاء العرض","" -"Promotion updated successfully","تم تحديث العرض بنجاح","" -"Failed to update promotion","فشل في تحديث العرض","" -"Promotion status updated successfully","تم تحديث حالة العرض بنجاح","" -"Failed to update promotion status","فشل في تحديث حالة العرض","" -"Promotion deleted successfully","تم حذف العرض بنجاح","" -"Failed to delete promotion","فشل في حذف العرض","" -"Failed to load promotion details","فشل في تحميل تفاصيل العرض","" -"An error occurred","حدث خطأ","" -"Please enter a promotion name","يرجى إدخال اسم العرض","" -"Promotion \"{0}\" already exists. Please use a different name.","العرض \"{0}\" موجود بالفعل. يرجى استخدام اسم مختلف.","" -"Please select at least one {0}","يرجى اختيار {0} واحد على الأقل","" -"Partially Paid ({0})","مدفوع جزئياً ({0})","" -"Unpaid ({0})","غير مدفوع ({0})","" -"Overdue ({0})","متأخر السداد ({0})","" -"Outstanding Payments","المدفوعات المستحقة","" -"{0} paid","تم دفع {0}","" -"No Unpaid Invoices","لا توجد فواتير غير مدفوعة","" -"All invoices are fully paid","جميع الفواتير مدفوعة بالكامل","" -"No invoices found","لم يتم العثور على فواتير","" -"Date & Time","التاريخ والوقت","" -"Paid Amount","المبلغ المدفوع","" -"No draft invoices","لا توجد مسودات فواتير","" -"Save invoices as drafts to continue later","احفظ الفواتير كمسودات للمتابعة لاحقاً","" -"Customer: {0}","العميل: {0}","" -"Delete draft","حذف المسودة","" -"{0} item(s)","{0} منتج(منتجات)","" -"+{0} more","+{0} أخرى","" -"No return invoices","لا توجد فواتير إرجاع","" -"Return invoices will appear here","ستظهر فواتير الإرجاع هنا","" -"Against: {0}","مقابل: {0}","" -"Drafts","المسودات","" -"Failed to load unpaid invoices","فشل في تحميل الفواتير غير المدفوعة","" -"Select Batch Numbers","اختر أرقام الدفعات","" -"Select Serial Numbers","اختر الأرقام التسلسلية","" -"Select Batch Number","اختر رقم الدفعة","" -"Qty: {0}","الكمية: {0}","" -"Exp: {0}","تنتهي: {0}","" -"Select Serial Numbers ({0}/{1})","اختر الأرقام التسلسلية ({0}/{1})","" -"Warehouse: {0}","المستودع: {0}","" -"Or enter serial numbers manually (one per line)","أو أدخل الأرقام التسلسلية يدوياً (واحد لكل سطر)","" -"Enter serial numbers...","أدخل الأرقام التسلسلية...","" -"Change language: {0}","تغيير اللغة: {0}","" -"{0} of {1} invoice(s)","{0} من {1} فاتورة(فواتير)","" -"Clear all","مسح الكل","" -"From Date","من تاريخ","" -"To Date","إلى تاريخ","" -"Save these filters as...","حفظ هذه الفلاتر كـ...","" -"Saved Filters","الفلاتر المحفوظة","" -"Partial","جزئي","" -"Delete \"{0}\"?","حذف \"{0}\"؟","" -"Install POSNext","تثبيت POSNext","" -"Faster access and offline support","وصول أسرع ودعم بدون اتصال","" -"Snooze for 7 days","تأجيل لمدة 7 أيام","" -"Install","تثبيت","" -"Close (shows again next session)","إغلاق (يظهر مجدداً في الجلسة القادمة)","" -"Searching...","جاري البحث...","" -"No options available","لا توجد خيارات متاحة","" -"Clear selection","مسح الاختيار","" -"Load more ({0} remaining)","تحميل المزيد ({0} متبقي)","" -"Search...","بحث...","" -"Search coupons...","البحث عن الكوبونات...","" -"Expired","منتهي الصلاحية","" -"Exhausted","مستنفد","" -"All Types","جميع الأنواع","" -"POS Next","POS Next","" -"View items","عرض المنتجات","" -"View cart","عرض السلة","" -"View cart with {0} items","عرض السلة مع {0} منتجات","" -"Hr","س","" -"Min","د","" -"Sec","ث","" -"{0} paid of {1}","تم دفع {0} من {1}","" -"Outstanding","مستحق","" -"Sales Persons","مندوبو المبيعات","" -"Sales Person","مندوب المبيعات","" -"1 selected","1 مختار","" -"Selected:","المختارين:","" -"Total: {0}% (should be 100%)","الإجمالي: {0}% (يجب أن يكون 100%)","" -"Commission: {0}%","العمولة: {0}%","" -"Search to add sales persons","ابحث لإضافة مندوبي مبيعات","" -"Loading sales persons...","جاري تحميل مندوبي المبيعات...","" -"No sales persons found","لم يتم العثور على مندوبي مبيعات","" -"Additional Discount","خصم إضافي","" -"% Percent","% نسبة","" -"{0} Amount","المبلغ {0}","" -"Select payment method to add","اختر طريقة دفع للإضافة","" -"Added","مضاف","" -"Quick amounts for {0}","مبالغ سريعة لـ {0}","" -"Custom amount","مبلغ مخصص","" -"Payment Breakdown","تفاصيل الدفع","" -"Apply Credit","تطبيق الرصيد","" -"Pay on Account","الدفع بالآجل","" -"Maximum allowed discount is {0}%","الحد الأقصى للخصم المسموح به هو {0}%","" -"Maximum allowed discount is {0}% ({1} {2})","الحد الأقصى للخصم المسموح به هو {0}% ({1} {2})","" -"Create new customer","إنشاء عميل جديد","" -"Remove customer","إزالة العميل","" -"Search or add customer...","البحث أو إضافة عميل...","" -"Search customer in cart","البحث عن العميل في السلة","" -"Select items to start or choose a quick action","اختر المنتجات للبدء أو اختر إجراءً سريعاً","" -"View current shift details","عرض تفاصيل الوردية الحالية","" -"View draft invoices","عرض مسودات الفواتير","" -"View invoice history","عرض سجل الفواتير","" -"Process return invoice","معالجة فاتورة الإرجاع","" -"Close current shift","إغلاق الوردية الحالية","" -"{0} free item(s) included","يتضمن {0} منتج(منتجات) مجانية","" -"+{0} FREE","+{0} مجاني","" -"Remove {0}","إزالة {0}","" -"Remove item","إزالة المنتج","" -"Decrease quantity","تقليل الكمية","" -"Increase quantity","زيادة الكمية","" -"Click to change unit","انقر لتغيير الوحدة","" -"Only one unit available","وحدة واحدة متاحة فقط","" -"Total Quantity","إجمالي الكمية","" -"Proceed to payment","المتابعة للدفع","" -"Hold order as draft","تعليق الطلب كمسودة","" -"Hold","تعليق","" -"Offers","العروض","" -"Coupon","الكوبون","" -"Edit Item Details","تعديل تفاصيل المنتج","" -"Edit item quantity, UOM, warehouse, and discount","تعديل الكمية ووحدة القياس والمستودع والخصم","" -"Default","افتراضي","" -"Item Discount","خصم المنتج","" -"Percentage (%)","نسبة مئوية (%)","" -"Checking Stock...","جاري فحص المخزون...","" -"No Stock Available","لا يوجد مخزون متاح","" -"Update Item","تحديث المنتج","" -"\"{0}\" is not available in warehouse \"{1}\". Please select another warehouse.","\"{0}\" غير متوفر في المستودع \"{1}\". يرجى اختيار مستودع آخر.","" -"Only {0} units of \"{1}\" available in \"{2}\". Current quantity: {3}","فقط {0} وحدات من \"{1}\" متوفرة في \"{2}\". الكمية الحالية: {3}","" -"{0} units available in \"{1}\"","{0} وحدات متوفرة في \"{1}\"","" -"Available Offers","العروض المتاحة","" -"Loading offers...","جاري تحميل العروض...","" -"Applying offer...","جاري تطبيق العرض...","" -"No offers available","لا توجد عروض متاحة","" -"Add items to your cart to see eligible offers","أضف منتجات للسلة لرؤية العروض المؤهلة","" -"APPLIED","مطبّق","" -"PRICING RULE","قاعدة تسعير","" -"PROMO SCHEME","مخطط ترويجي","" -"{0}% OFF","خصم {0}%","" -"{0} OFF","خصم {0}","" -"Special Offer","عرض خاص","" -"+ Free Item","+ منتج مجاني","" -"Min Purchase","الحد الأدنى للشراء","" -"Min Quantity","الحد الأدنى للكمية","" -"Subtotal (before tax)","المجموع الفرعي (قبل الضريبة)","" -"Add {0} more to unlock","أضف {0} للحصول على العرض","" -"Remove Offer","إزالة العرض","" -"Apply Offer","تطبيق العرض","" -"Create Return Invoice","إنشاء فاتورة إرجاع","" -"Select Invoice to Return","اختر الفاتورة للإرجاع","" -"Search by invoice number or customer name...","البحث برقم الفاتورة أو اسم العميل...","" -"Search by invoice number or customer...","البحث برقم الفاتورة أو العميل...","" -"Process Return","معالجة الإرجاع","" -"Select Items to Return","اختر المنتجات للإرجاع","" -"⚠️ {0} already returned","⚠️ تم إرجاع {0} مسبقاً","" -"Return Qty:","كمية الإرجاع:","" -"of {0}","من {0}","" -"No items available for return","لا توجد منتجات متاحة للإرجاع","" -"Refund Payment Methods","طرق استرداد الدفع","" -"+ Add Payment","+ إضافة طريقة دفع","" -"Select method...","اختر الطريقة...","" -"Select payment method...","اختر طريقة الدفع...","" -"Total Refund:","إجمالي الاسترداد:","" -"Payment Total:","إجمالي المدفوع:","" -"⚠️ Payment total must equal refund amount","⚠️ يجب أن يساوي إجمالي الدفع مبلغ الاسترداد","" -"Return Summary","ملخص الإرجاع","" -"Items to Return:","المنتجات للإرجاع:","" -"Refund Amount:","مبلغ الاسترداد:","" -"Enter reason for return (e.g., defective product, wrong item, customer request)...","أدخل سبب الإرجاع (مثل: منتج معيب، منتج خاطئ، طلب العميل)...","" -"{0} item(s) selected","تم اختيار {0} منتج(منتجات)","" -"Create Return","إنشاء الإرجاع","" -"OK","حسناً","" -"Invoice must be submitted to create a return","يجب اعتماد الفاتورة لإنشاء إرجاع","" -"Cannot create return against a return invoice","لا يمكن إنشاء إرجاع مقابل فاتورة إرجاع","" -"All items from this invoice have already been returned","تم إرجاع جميع المنتجات من هذه الفاتورة بالفعل","" -"Return against {0}","إرجاع مقابل {0}","" -"Failed to create return invoice","فشل في إنشاء فاتورة الإرجاع","" -"Failed to load recent invoices","فشل في تحميل الفواتير الأخيرة","" -"{0}: maximum {1}","{0}: الحد الأقصى {1}","" -"Adjust return quantities before submitting.\n\n{0}","عدّل كميات الإرجاع قبل الإرسال.\n\n{0}","" -"{0} Pending Invoice(s)","{0} فاتورة(فواتير) معلقة","" -"These invoices will be submitted when you're back online","سيتم إرسال هذه الفواتير عند عودتك للاتصال","" -"Sync All","مزامنة الكل","" -"No pending offline invoices","لا توجد فواتير معلقة غير متصلة","" -"Walk-in Customer","عميل عابر","" -"{0} failed","فشل {0}","" -"Payments:","الدفعات:","" -"Edit Invoice","تعديل الفاتورة","" -"Are you sure you want to delete this offline invoice?","هل أنت متأكد من حذف هذه الفاتورة غير المتصلة؟","" -"This action cannot be undone.","لا يمكن التراجع عن هذا الإجراء.","" -"Just now","الآن","" -"{0} minutes ago","منذ {0} دقائق","" -"{0} hours ago","منذ {0} ساعات","" -"POS Settings","إعدادات نقطة البيع","" -"Save Changes","حفظ التغييرات","" -"Loading settings...","جاري تحميل الإعدادات...","" -"Stock Management","إدارة المخزون","" -"Configure warehouse and inventory settings","إعدادات المستودع والمخزون","" -"Stock Controls","عناصر تحكم المخزون","" -"Warehouse Selection","اختيار المستودع","" -"Loading warehouses...","جاري تحميل المستودعات...","" -"Active Warehouse","المستودع النشط","" -"All stock operations will use this warehouse. Stock quantities will refresh after saving.","جميع عمليات المخزون ستستخدم هذا المستودع. سيتم تحديث كميات المخزون بعد الحفظ.","" -"Stock Validation Policy","سياسة التحقق من المخزون","" -"Allow Negative Stock","السماح بالمخزون السالب","" -"Enable selling items even when stock reaches zero or below. Integrates with ERPNext stock settings.","تمكين بيع المنتجات حتى عندما يصل المخزون إلى الصفر أو أقل. يتكامل مع إعدادات مخزون ERPNext.","" -"Background Stock Sync","مزامنة المخزون في الخلفية","" -"Enable Automatic Stock Sync","تمكين مزامنة المخزون التلقائية","" -"Periodically sync stock quantities from server in the background (runs in Web Worker)","مزامنة كميات المخزون دورياً من الخادم في الخلفية (تعمل في Web Worker)","" -"Sync Interval (seconds)","فترة المزامنة (ثواني)","" -"How often to check server for stock updates (minimum 10 seconds)","كم مرة يتم فحص الخادم لتحديثات المخزون (الحد الأدنى 10 ثواني)","" -"Warehouse not set","لم يتم تعيين المستودع","" -"Network Usage:","استخدام الشبكة:","" -"~15 KB per sync cycle","~15 كيلوبايت لكل دورة مزامنة","" -"~{0} MB per hour","~{0} ميجابايت في الساعة","" -"Sales Management","إدارة المبيعات","" -"Configure pricing, discounts, and sales operations","إعدادات التسعير والخصومات وعمليات البيع","" -"Sales Controls","عناصر تحكم المبيعات","" -"Pricing & Discounts","التسعير والخصومات","" -"Tax Inclusive","شامل الضريبة","" -"When enabled, displayed prices include tax. When disabled, tax is calculated separately. Changes apply immediately to your cart when you save.","عند التفعيل، الأسعار المعروضة تشمل الضريبة. عند التعطيل، يتم حساب الضريبة بشكل منفصل. التغييرات تطبق فوراً على السلة عند الحفظ.","" -"Max Discount (%)","الحد الأقصى للخصم (%)","" -"Maximum discount per item","الحد الأقصى للخصم لكل منتج","" -"Use Percentage Discount","استخدام خصم نسبي","" -"Show discounts as percentages","عرض الخصومات كنسب مئوية","" -"Allow Additional Discount","السماح بخصم إضافي","" -"Enable invoice-level discount","تفعيل خصم على مستوى الفاتورة","" -"Allow Item Discount","السماح بخصم المنتج","" -"Enable item-level discount in edit dialog","تفعيل خصم على مستوى المنتج في نافذة التعديل","" -"Disable Rounded Total","تعطيل التقريب","" -"Show exact totals without rounding","عرض الإجماليات الدقيقة بدون تقريب","" -"Sales Operations","عمليات البيع","" -"Allow Credit Sale","السماح بالبيع بالآجل","" -"Enable sales on credit","تفعيل البيع بالآجل","" -"Allow Return","السماح بالإرجاع","" -"Enable product returns","تفعيل إرجاع المنتجات","" -"Allow Write Off Change","السماح بشطب الباقي","" -"Write off small change amounts","شطب المبالغ الصغيرة المتبقية","" -"Allow Partial Payment","السماح بالدفع الجزئي","" -"Enable partial payment for invoices","تفعيل الدفع الجزئي للفواتير","" -"Print without confirmation","الطباعة بدون تأكيد","" -"No POS Profile Selected","لم يتم اختيار ملف نقطة البيع","" -"Please select a POS Profile to configure settings","يرجى اختيار ملف نقطة البيع لتكوين الإعدادات","" -"Failed to load settings","فشل في تحميل الإعدادات","" -"POS Profile not found","لم يتم العثور على ملف نقطة البيع","" -"Settings saved successfully","تم حفظ الإعدادات بنجاح","" -"Settings saved, warehouse updated, and tax mode changed. Cart will be recalculated.","تم حفظ الإعدادات وتحديث المستودع وتغيير وضع الضريبة. سيتم إعادة حساب السلة.","" -"Settings saved and warehouse updated. Reloading stock...","تم حفظ الإعدادات وتحديث المستودع. جاري إعادة تحميل المخزون...","" -"Failed to save settings","فشل في حفظ الإعدادات","" -"{0}s ago","منذ {0}ث","" -"{0}m ago","منذ {0}د","" -"Sign in to POS Next","تسجيل الدخول إلى POS Next","" -"Login Failed","فشل تسجيل الدخول","" -"Enter your username or email","أدخل اسم المستخدم أو البريد الإلكتروني","" -"User ID / Email","اسم المستخدم / البريد الإلكتروني","" -"Enter your password","أدخل كلمة المرور","" -"Hide password","إخفاء كلمة المرور","" -"Show password","إظهار كلمة المرور","" -"Signing in...","جاري تسجيل الدخول...","" -"Clear all items","مسح جميع المنتجات","" -"View all available offers","عرض جميع العروض المتاحة","" -"Apply coupon code","تطبيق رمز الكوبون","" -"Create New Coupon","إنشاء كوبون جديد","" -"No coupons found","لم يتم العثور على كوبونات","" -"Gift","هدية","" -"Used: {0}/{1}","مستخدم: {0}/{1}","" -"Used: {0}","مستخدم: {0}","" -"Select a Coupon","اختر كوبون","" -"Choose a coupon from the list to view and edit, or create a new one to get started","اختر كوبوناً من القائمة لعرضه وتعديله، أو أنشئ واحداً جديداً للبدء","" -"You don't have permission to create coupons","ليس لديك إذن لإنشاء كوبونات","" -"Coupon Details","تفاصيل الكوبون","" -"Fill in the details to create a new coupon","أملأ التفاصيل لإنشاء كوبون جديد","" -"View and update coupon information","عرض وتحديث معلومات الكوبون","" -"Create","إنشاء","" -"Coupon Name","اسم الكوبون","" -"e.g., Summer Sale Coupon 2025","مثال: كوبون تخفيضات الصيف 2025","" -"Coupon Type","نوع الكوبون","" -"Promotional","ترويجي","" -"Gift Card","بطاقة هدايا","" -"Auto-generated if empty","يتم إنشاؤه تلقائياً إذا كان فارغاً","" -"Generate","توليد","" -"Customer ID or Name","رقم العميل أو الاسم","" -"Company","الشركة","" -"Discount Configuration","إعدادات الخصم","" -"Apply Discount On","تطبيق الخصم على","" -"Net Total","صافي الإجمالي","" -"e.g., 20","مثال: 20","" -"Amount in {0}","المبلغ بـ {0}","" -"Minimum Cart Amount","الحد الأدنى لقيمة السلة","" -"Optional minimum in {0}","الحد الأدنى الاختياري بـ {0}","" -"Maximum Discount Amount","الحد الأقصى للخصم","" -"Optional cap in {0}","الحد الأقصى الاختياري بـ {0}","" -"Current Discount:","الخصم الحالي:","" -"{0}% off {1}","خصم {0}% على {1}","" -"{0} off {1}","خصم {0} على {1}","" -"(Min: {0})","(الحد الأدنى: {0})","" -"(Max Discount: {0})","(الحد الأقصى للخصم: {0})","" -"Validity & Usage","الصلاحية والاستخدام","" -"Unlimited","غير محدود","" -"Only One Use Per Customer","استخدام واحد فقط لكل عميل","" -"Coupon Status & Info","حالة الكوبون والمعلومات","" -"Current Status","الحالة الحالية","" -"Created On","تاريخ الإنشاء","" -"Last Modified","آخر تعديل","" -"Delete Coupon","حذف الكوبون","" -"-- No Campaign --","-- بدون حملة --","" -"Failed to load coupons","فشل في تحميل الكوبونات","" -"Failed to load coupon details","فشل في تحميل تفاصيل الكوبون","" -"Coupon created successfully","تم إنشاء الكوبون بنجاح","" -"Failed to create coupon","فشل في إنشاء الكوبون","" -"Coupon updated successfully","تم تحديث الكوبون بنجاح","" -"Failed to update coupon","فشل في تحديث الكوبون","" -"Coupon status updated successfully","تم تحديث حالة الكوبون بنجاح","" -"Failed to toggle coupon status","فشل في تبديل حالة الكوبون","" -"Coupon deleted successfully","تم حذف الكوبون بنجاح","" -"Failed to delete coupon","فشل في حذف الكوبون","" -"Please enter a coupon name","يرجى إدخال اسم الكوبون","" -"Please select a discount type","يرجى اختيار نوع الخصم","" -"Please enter a valid discount percentage (1-100)","يرجى إدخال نسبة خصم صالحة (1-100)","" -"Please enter a valid discount amount","يرجى إدخال مبلغ خصم صالح","" -"Please select a customer for gift card","يرجى اختيار عميل لبطاقة الهدايا","" -"Cannot delete coupon as it has been used {0} times","لا يمكن حذف الكوبون لأنه تم استخدامه {0} مرات","" -"Add to Cart","إضافة للسلة","" -"Warehouse","المستودع","" -"Search products...","البحث عن المنتجات...","" -"Item Code","رمز الصنف","" -"Brand","العلامة التجارية","" -"Transaction","المعاملة","" -"e.g., Summer Sale 2025","مثال: تخفيضات الصيف 2025","" -"Pricing Rules","قواعد التسعير","" -"Promo Schemes","المخططات الترويجية","" -"Return Reason","سبب الإرجاع","" -"Settings saved. Tax mode is now \"inclusive\". Cart will be recalculated.","تم حفظ الإعدادات. وضع الضريبة الآن \"شامل\". سيتم إعادة حساب السلة.","" -"Settings saved. Tax mode is now \"exclusive\". Cart will be recalculated.","تم حفظ الإعدادات. وضع الضريبة الآن \"غير شامل\". سيتم إعادة حساب السلة.","" -"This will clear all cached items, customers, and stock data. Invoices and drafts will be preserved.","سيتم مسح جميع الأصناف والعملاء وبيانات المخزون المخزنة مؤقتاً. سيتم الاحتفاظ بالفواتير والمسودات.","" -"Clear All Data","مسح جميع البيانات","" -"Clearing...","جاري المسح...","" -"Confirm Clear Cache","تأكيد مسح الذاكرة المؤقتة","" -"Manage Invoices","إدارة الفواتير","" -"Outstanding","المستحقات","" -"No Outstanding","لا مستحقات","" -"Pay Outstanding","دفع المستحقات","" -"View Outstanding","عرض المستحقات","" -"Search invoices...","البحث عن الفواتير...","" -"Invoice Management","إدارة الفواتير","" -"All Invoices","جميع الفواتير","" -"Draft","مسودة","" -"Return","مرتجع","" -"Load More","تحميل المزيد","" -"No more invoices","لا مزيد من الفواتير","" -"Failed to load invoices","فشل في تحميل الفواتير","" -"Apply Filter","تطبيق الفلتر","" -"Reset Filter","إعادة تعيين الفلتر","" -"Filter by Status","تصفية حسب الحالة","" -"Filter by Date","تصفية حسب التاريخ","" -"Show All","عرض الكل","" -"Shift Details","تفاصيل الوردية","" -"Shift ID","رقم الوردية","" -"Cashier","أمين الصندوق","" -"Current Time","الوقت الحالي","" -"Cash Sales","مبيعات نقدية","" -"Card Sales","مبيعات بطاقات","" -"Other Sales","مبيعات أخرى","" -"Total Transactions","إجمالي المعاملات","" -"Average Transaction","متوسط المعاملة","" -"Shift Summary","ملخص الوردية","" -"View Full Report","عرض التقرير الكامل","" -"Print Report","طباعة التقرير","" -"Export Data","تصدير البيانات","" -"Quick Actions","إجراءات سريعة","" -"New Sale","عملية بيع جديدة","" -"Returns","المرتجعات","" -"Recent Activity","النشاط الأخير","" -"No recent activity","لا يوجد نشاط حديث","" -"Show All Activity","عرض كل النشاط","" -"Keyboard Shortcuts","اختصارات لوحة المفاتيح","" -"Press F1 for help","اضغط F1 للمساعدة","" -"Press Enter to search","اضغط Enter للبحث","" -"Press Esc to close","اضغط Esc للإغلاق","" -"Scanning...","جاري المسح...","" -"Scan Complete","اكتمل المسح","" -"Scan Failed","فشل المسح","" -"Invalid Barcode","باركود غير صالح","" -"Item Scanned","تم مسح الصنف","" -"Multiple Results","نتائج متعددة","" -"Select Item","اختر الصنف","" -"Enter Quantity","أدخل الكمية","" -"Set Price","تعيين السعر","" -"Custom Price","سعر مخصص","" -"Original Price","السعر الأصلي","" -"New Price","السعر الجديد","" -"Price Changed","تم تغيير السعر","" -"Discount Applied","تم تطبيق الخصم","" -"Offer Applied","تم تطبيق العرض","" -"Coupon Applied","تم تطبيق الكوبون","" -"Free Items Added","تمت إضافة أصناف مجانية","" -"Bundle Items","أصناف الحزمة","" -"View Bundle","عرض الحزمة","" -"Expand Bundle","توسيع الحزمة","" -"Collapse Bundle","طي الحزمة","" -"Stock Warning","تحذير المخزون","" -"Low Stock Warning","تحذير انخفاض المخزون","" -"Only {0} left in stock","متبقي {0} فقط في المخزون","" -"Continue Anyway","المتابعة رغم ذلك","" -"Check Other Warehouses","التحقق من المستودعات الأخرى","" -"Transfer Stock","نقل مخزون","" -"Reserve Stock","حجز مخزون","" -"Stock Reserved","تم حجز المخزون","" -"Reservation Expired","انتهت صلاحية الحجز","" -"Extend Reservation","تمديد الحجز","" -"Release Reservation","إلغاء الحجز","" -"Customer Account","حساب العميل","" -"Credit Limit","حد الائتمان","" -"Available Credit","الرصيد المتاح","" -"Credit Used","الرصيد المستخدم","" -"Credit Exceeded","تجاوز حد الائتمان","" -"Requires Approval","يتطلب موافقة","" -"Request Approval","طلب الموافقة","" -"Approval Pending","بانتظار الموافقة","" -"Approved","تمت الموافقة","" -"Rejected","مرفوض","" -"Loyalty Points","نقاط الولاء","" -"Points Balance","رصيد النقاط","" -"Redeem Points","استبدال النقاط","" -"Points to Redeem","نقاط للاستبدال","" -"Points Value","قيمة النقاط","" -"Points Earned","النقاط المكتسبة","" -"Points Redeemed","النقاط المستبدلة","" -"No redeemable points available","لا توجد نقاط متاحة للاستبدال","" -"Points applied: {0}. Please pay remaining {1} with {2}","تم تطبيق النقاط: {0}. يرجى دفع المبلغ المتبقي {1} باستخدام {2}","" -"Split Payment","تقسيم الدفع","" -"Add Split","إضافة تقسيم","" -"Remove Split","إزالة التقسيم","" -"Split Amount","مبلغ التقسيم","" -"Remaining to Pay","المتبقي للدفع","" -"Payment Complete","اكتمل الدفع","" -"Print Options","خيارات الطباعة","" -"Print Preview","معاينة الطباعة","" -"Printer Settings","إعدادات الطابعة","" -"Select Printer","اختر الطابعة","" -"Default Printer","الطابعة الافتراضية","" -"Paper Size","حجم الورق","" -"Print Copies","نسخ الطباعة","" -"Include Logo","تضمين الشعار","" -"Include QR Code","تضمين رمز QR","" -"Include Barcode","تضمين الباركود","" -"Compact Mode","الوضع المضغوط","" -"Full Mode","الوضع الكامل","" -"Email Receipt","إرسال الإيصال بالبريد","" -"SMS Receipt","إرسال الإيصال SMS","" -"WhatsApp Receipt","إرسال الإيصال واتساب","" -"Receipt Sent","تم إرسال الإيصال","" -"Failed to Send","فشل الإرسال","" -"Retry","إعادة المحاولة","" -"Skip","تخطي","" -"Done","تم","" -"Finish","إنهاء","" -"Complete Sale","إتمام البيع","" -"New Transaction","معاملة جديدة","" -"Continue Shopping","متابعة التسوق","" -"Start New Sale","بيع جديد","" -"View Receipt","عرض الإيصال","" -"Download Receipt","تحميل الإيصال","" -"Share Receipt","مشاركة الإيصال","" -"Copy Link","نسخ الرابط","" -"Link Copied","تم نسخ الرابط","" -"Invoice loaded to cart for editing","تم تحميل الفاتورة للسلة للتعديل","" -"Campaign","الحملة","" -"Referral Code","رمز الدعوة","" -"Times Used","مرات الاستخدام","" -"Maximum Use","الحد الأقصى للاستخدام","" -"Are you sure you want to delete \"{0}\"?","هل أنت متأكد من حذف \"{0}\"؟","" -"Return Reason (optional)","سبب الإرجاع (اختياري)","" -"Return Reason <span class="text-gray-400">(optional)</span>","سبب الإرجاع (اختياري)","" -"Note: When enabled, the system will allow sales even when stock quantity is zero or negative. This is useful for handling stock sync delays or backorders. All transactions are tracked in the stock ledger.","ملاحظة: عند التفعيل، سيسمح النظام بالبيع حتى لو كانت كمية المخزون صفراً أو سالبة. هذا مفيد لمعالجة تأخر مزامنة المخزون أو الطلبات الآجلة. يتم تتبع جميع المعاملات في دفتر المخزون.","" -"Status: Running","الحالة: يعمل","" -"Status: Stopped","الحالة: متوقف","" -"Items Tracked: {0}","الأصناف المتتبعة: {0}","" -"Warehouse: {0}","المستودع: {0}","" -"Last Sync: {0}","آخر مزامنة: {0}","" -"Last Sync: Never","آخر مزامنة: أبداً","" -"Cart subtotal BEFORE tax - used for discount calculations","المجموع الفرعي للسلة قبل الضريبة - يستخدم لحساب الخصم","" -"Draft invoice deleted","تم حذف مسودة الفاتورة","" -"Failed to delete draft invoice","فشل حذف مسودة الفاتورة","" -"Search sales person...","بحث عن بائع...","" -"Item Group","مجموعة الأصناف","" -"Mobile","الجوال","" -"Clear Cache?","مسح الذاكرة المؤقتة؟","" -"Clearing Cache...","جاري مسح الذاكرة...","" -"Please wait while we clear your cached data","يرجى الانتظار، جاري مسح البيانات المؤقتة","" -"Company:","الشركة:","" -"Opened: {0}","تم الفتح: {0}","" -"Opened:","تم الفتح:","" -"POS Profile: {0}","ملف نقطة البيع: {0}","" -"POS Profile: {0}","ملف نقطة البيع: {0}","" -"(FREE)","(مجاني)","" -"Are you sure you want to sign out of POS Next?","هل أنت متأكد من تسجيل الخروج من POS Next؟","" -"At least {0} items required","مطلوب {0} أصناف على الأقل","" -"Create new customer: {0}","إنشاء عميل جديد: {0}","" -"Creating return for invoice {0}","جاري إنشاء مرتجع للفاتورة {0}","" -"Enter actual amount for {0}","أدخل المبلغ الفعلي لـ {0}","" -"Exception: {0}","استثناء: {0}","" -"Expected: {0}","المتوقع: {0}","" -"From {0}","من {0}","" -"Invoice - {0}","فاتورة - {0}","" -"Invoice ID: {0}","رقم الفاتورة: {0}","" -"Invoice {0} created and sent to printer","تم إنشاء الفاتورة {0} وإرسالها للطابعة","" -"Invoice {0} created but print failed","تم إنشاء الفاتورة {0} لكن فشلت الطباعة","" -"Invoice {0} created successfully","تم إنشاء الفاتورة {0} بنجاح","" -"Invoice {0} created successfully!","تم إنشاء الفاتورة {0} بنجاح!","" -"Item: {0}","الصنف: {0}","" -"Maximum cart value exceeded ({0})","تجاوزت السلة الحد الأقصى للقيمة ({0})","" -"Maximum {0} items allowed for this offer","الحد الأقصى المسموح به لهذا العرض {0} أصناف","" -"Message: {0}","الرسالة: {0}","" -"Minimum cart value of {0} required","الحد الأدنى المطلوب لقيمة السلة هو {0}","" -"No pending invoices to sync","لا توجد فواتير معلقة للمزامنة","" -"Opening Balance (Optional)","الرصيد الافتتاحي (اختياري)","" -"Over {0}","فائض {0}","" -"POS Profile: {0}","ملف نقطة البيع: {0}","" -"Promotion saved successfully","تم حفظ العرض الترويجي بنجاح","" -"Remove all {0} items from cart?","إزالة جميع أصناف {0} من السلة؟","" -"Return invoice {0} created successfully","تم إنشاء فاتورة المرتجع {0} بنجاح","" -"Search by email: {0}","بحث بالبريد: {0}","" -"Search by phone: {0}","بحث بالهاتف: {0}","" -"Shift Open","الوردية مفتوحة","" -"Short {0}","عجز {0}","" -"Sign in","تسجيل الدخول","" -"Sign out","تسجيل الخروج","" -"Signing out...","جاري الخروج...","" -"Status: {0}","الحالة: {0}","" -"Switched to {0}. Stock quantities refreshed.","تم التبديل إلى {0}. تم تحديث كميات المخزون.","" -"Technical: {0}","تقني: {0}","" -"Timestamp: {0}","الطابع الزمني: {0}","" -"Title: {0}","العنوان: {0}","" -"Total: {0}","الإجمالي: {0}","" -"Type: {0}","النوع: {0}","" -"Unit changed to {0}","تم تغيير الوحدة إلى {0}","" -"Until {0}","حتى {0}","" -"User: {0}","المستخدم: {0}","" -"View cart with {0} items","عرض السلة ({0} أصناف)","" -"Warehouse updated but failed to reload stock. Please refresh manually.","تم تحديث المستودع لكن فشل تحميل المخزون. يرجى التحديث يدوياً.","" -"Welcome to POS Next!","مرحباً بك في POS Next!","" -"You have an open shift. Would you like to resume it or close it and open a new one?","لديك وردية مفتوحة. هل تريد استئنافها أم إغلاقها وفتح وردية جديدة؟","" -"Your cart doesn't meet the requirements for this offer.","سلتك لا تستوفي متطلبات هذا العرض.","" -"{0} ({1}) added to cart","تمت إضافة {0} ({1}) للسلة","" -"{0} added to cart","تمت إضافة {0} للسلة","" -"{0} applied successfully","تم تطبيق {0} بنجاح","" -"{0} created and selected","تم إنشاء {0} وتحديده","" -"{0} invoice(s) failed to sync","فشلت مزامنة {0} فاتورة","" -"{0} invoice(s) synced successfully","تمت مزامنة {0} فاتورة بنجاح","" -"{0} invoices","{0} فواتير","" -"{0} selected","{0} محدد","" -"{0} settings applied immediately","تم تطبيق إعدادات {0} فوراً","" -"{0} transactions • {1}","{0} معاملات • {1}","" -"{0} updated successfully","تم تحديث {0} بنجاح","" -"{0}h {1}m","{0}س {1}د","" -"{0}m","{0}د","" -"✓ Connection successful: {0}","✓ الاتصال ناجح: {0}","" -"✗ Connection failed: {0}","✗ فشل الاتصال: {0}","" -"Manage all your invoices in one place","إدارة جميع فواتيرك في مكان واحد","" -"All ({0})","الكل ({0})","" -"Promotions","العروض الترويجية","" -"Search serial numbers...","البحث عن الأرقام التسلسلية...","" -"Loading serial numbers...","جاري تحميل الأرقام التسلسلية...","" -"No serial numbers available","لا توجد أرقام تسلسلية متاحة","" -"No serial numbers match your search","لا توجد أرقام تسلسلية تطابق بحثك","" -"Serial Numbers","الأرقام التسلسلية","" -"Cannot remove last serial","لا يمكن إزالة آخر رقم تسلسلي","" -"Remove serial","إزالة الرقم التسلسلي","" -"Serial No:","الرقم التسلسلي:","" -"Click to edit serials","انقر لتعديل الأرقام التسلسلية","" -"Edit serials","تعديل الأرقام التسلسلية","" -"serials","أرقام تسلسلية","" -"Stock Lookup","الاستعلام عن المخزون","" -"Search for item availability across all warehouses","التحقق من توفر الأصناف في كافة المستودعات","" -"Search for items across warehouses","البحث عن الأصناف عبر المستودعات","" -"Type to search items...","اكتب للبحث عن صنف...","" -"Search by item name, code, or scan barcode","البحث بالاسم، الرمز، أو قراءة الباركود","" -"No items found for \"{0}\"","لم يتم العثور على نتائج لـ \"{0}\"","" -"Try a different search term","جرب كلمة بحث أخرى","" -"Search Again","إعادة البحث","" -"Search for an item","البحث عن صنف","" -"Start typing to see suggestions","ابدأ الكتابة لإظهار الاقتراحات","" -"Navigate","التنقل","" -"Enter","إدخال","" -"Esc","خروج","" -"Total Available","إجمالي الكمية المتوفرة","" -"in 1 warehouse","في مستودع واحد","" -"in {0} warehouses","في {0} مستودعات","" -"{0} reserved","{0} محجوزة","" -"Actual Stock","الرصيد الفعلي","" -"This item is out of stock in all warehouses","هذا الصنف نفذ من جميع المستودعات","" -"Failed to load warehouse availability","تعذر تحميل بيانات التوفر","" -"Close dialog","إغلاق","" -"Clear search","مسح البحث","" -"Click to view availability in other warehouses","انقر لعرض التوفر في باقي المستودعات","" -"Credit Sale Return","مرتجع مبيعات آجلة","" -"This invoice was paid on account (credit sale). The return will reverse the accounts receivable balance. No cash refund will be processed.","تم بيع هذه الفاتورة ""على الحساب"". سيتم خصم القيمة من مديونية العميل (تسوية الرصيد) ولن يتم صرف أي مبلغ نقدي.","" -"Customer Credit:","رصيد العميل:","" -"This return was against a Pay on Account invoice. The accounts receivable balance has been reversed. No cash refund was processed.","هذا المرتجع يخص فاتورة آجلة. تم تعديل رصيد العميل تلقائياً، ولم يتم دفع أي مبلغ نقدي.","" -"This invoice was sold on credit. The customer owes the full amount.","تم تسجيل هذه الفاتورة كبيع آجل. المبلغ بالكامل مستحق على العميل.","" -"Partially Paid Invoice","فاتورة مسددة جزئياً","" -"This invoice was partially paid. The refund will be split proportionally.","هذه الفاتورة مسددة جزئياً. سيتم تقسيم المبلغ المسترد بشكل متناسب.","" -"Cash Refund:","استرداد نقدي:","" -"Credit Adjustment:","تسوية الرصيد:","" -"Refundable Amount:","المبلغ القابل للاسترداد:","" -"⚠️ Payment total must equal refundable amount","⚠️ يجب أن يساوي إجمالي الدفع المبلغ القابل للاسترداد","" -"Return Value:","قيمة الإرجاع:","" -"Select Item Variant","اختيار نوع الصنف","" -"Select Unit of Measure","اختيار وحدة القياس","" -"Choose a variant of this item:","اختر نوعاً من هذا الصنف:","" -"Select the unit of measure for this item:","اختر وحدة القياس لهذا الصنف:","" -"Loading options...","جاري تحميل الخيارات...","" -"Stock: {0}","المخزون: {0}","" -"This combination is not available","هذا التركيب غير متوفر","" -"Unit of Measure","وحدة القياس","" -"No Variants Available","لا توجد أنواع متاحة","" -"No Options Available","لا توجد خيارات متاحة","" -"This item template {0} has no variants created yet.","قالب الصنف {0} ليس له أنواع مُنشأة بعد.","" -"No additional units of measurement configured for this item.","لم يتم تكوين وحدات قياس إضافية لهذا الصنف.","" -"To create variants:","لإنشاء الأنواع:","" -"1. Go to Item Master{0}","1. اذهب إلى سجل الأصناف{0}","" -"2. Click ""Make Variants"" button","2. انقر على زر ""إنشاء الأنواع""","" -"3. Select attribute combinations","3. اختر تركيبات الخصائص","" -"4. Click ""Create""","4. انقر على ""إنشاء""","" -"per {0}","لكل {0}","" -"Stock unit","وحدة المخزون","" -"1 {0} = {1} {2}","1 {0} = {1} {2}","" -"Requested quantity ({0}) exceeds available stock ({1})","الكمية المطلوبة ({0}) تتجاوز المخزون المتاح ({1})","" -"Offers are applied automatically when your cart meets the requirements","يتم تطبيق العروض تلقائياً عندما تستوفي سلتك المتطلبات","" -"Applied","مُطبَّق","" -"APPLIED","مُطبَّق","" -"Waiting for requirements","في انتظار استيفاء المتطلبات","" -"Offer applied: {0}","تم تطبيق العرض: {0}","" -"Offer removed: {0}. Cart no longer meets requirements.","تم إزالة العرض: {0}. السلة لم تعد تستوفي المتطلبات.","" -"PRICING RULE","قاعدة تسعير","" -"PROMO SCHEME","مخطط ترويجي","" -"Applying...","جاري التطبيق...","" -"Recent & Frequent","الأحدث والأكثر تكراراً","" -"Frequent Customers","العملاء المتكررون","" -"Gross Sales","إجمالي المبيعات الكلي","" -"Net Sales","صافي المبيعات","" -"Returns","المرتجعات","" -"After returns","بعد المرتجعات","" -"Net tax","صافي الضريبة","" -"Net Total:","الإجمالي الصافي:","" -"{0} returns","{0} مرتجعات","" -"Type","النوع","" -"Search items by name or code...","البحث عن الأصناف بالاسم أو الكود...","" diff --git a/pos_next/translations/pt-br.csv b/pos_next/translations/pt-br.csv deleted file mode 100644 index fea65022..00000000 --- a/pos_next/translations/pt-br.csv +++ /dev/null @@ -1,1386 +0,0 @@ -"Complete Payment","Concluir Pagamento","" -"optional","opcional","" -"Payment Method","Método de Pagamento","" -"Refund Amount","Valor do Reembolso","" -"Enter amount...","Digite o valor...","" -"Total Amount","Valor Total","" -"Remaining","Pendente","" -"Change","Troco","" -"Paid in Full","Pago Integralmente","" -"Paid Amount","Valor Pago","" -"Paid: {0}","Pago: {0}","" -"Customer Credit Available","Crédito do Cliente Disponível","" -"Customer Outstanding Balance","Saldo Devedor do Cliente","" -"Credit can be applied to invoice","O Crédito pode ser aplicado na fatura","" -"Amount owed by customer","Valor devido pelo cliente","" -"No outstanding balance","Sem saldo devedor","" -"Save","Salvar","" -"Cancel","Cancelar","" -"Submit","Enviar","" -"Delete","Excluir","" -"Edit","Editar","" -"Search","Buscar","" -"Close","Fechar","" -"Confirm","Confirmar","" -"Yes","Sim","" -"No","Não","" -"Loading...","Carregando...","" -"Error","Erro","" -"Success","Sucesso","" -"Warning","Aviso","" -"Information","Informação","" -"Add Item","Adicionar Item","" -"Select Customer","Selecionar Cliente","" -"Create Customer","Cadastrar Cliente","" -"Discount","Desconto","" -"Tax","Imposto","" -"Total","Total","" -"Checkout","Finalizar Venda","" -"Clear Cart","Limpar Carrinho","" -"Hold Invoice","Suspender Fatura","" -"Print Receipt","Imprimir Comprovante","" -"No stock available","Sem estoque disponível","" -"Item added to cart","Item adicionado ao carrinho","" -"Item removed from cart","Item removido do carrinho","" -"Open Shift","Abrir Turno","" -"Close Shift","Fechar Turno","" -"Shift Opening","Abertura do Turno","" -"Shift Closing","Fechamento do Turno","" -"Opening Amount","Valor de Abertura","" -"Closing Amount","Valor de Fechamento","" -"Cash in Hand","Dinheiro em Caixa","" -"Expected Amount","Valor Esperado","" -"Difference","Diferença","" -"Draft Invoices","Faturas Rascunho","" -"Invoice History","Histórico de Faturas","" -"Offline Invoices","Faturas Offline","" -"Return Invoice","Fatura de Devolução","" -"Invoice Number","Número da Fatura","" -"Date","Data","" -"Customer","Cliente","" -"Amount","Valor","" -"Status","Status","" -"Paid","Pago","" -"Unpaid","Não Pago","" -"Partially Paid","Parcialmente Pago","" -"Credit Note Issued","Nota de Crédito Emitida","" -"Cancelled","Cancelada","" -"Draft","Rascunho","" -"Settings","Configurações","" -"General","Geral","" -"Appearance","Aparência","" -"Language","Idioma","" -"Select Language","Selecionar Idioma","" -"Theme","Tema","" -"Notifications","Notificações","" -"Receipt Settings","Configurações de Comprovante","" -"Hardware","Hardware","" -"POS Profile","Perfil do PDV","" -"Network connection error","Erro de conexão de rede","" -"Session expired, please login again","Sessão expirada, faça login novamente","" -"Insufficient stock for {0}","Estoque insuficiente para {0}","" -"Invalid quantity","Quantidade inválida","" -"Please select a customer","Por favor, selecione um cliente","" -"Payment processing failed","Falha no processamento do pagamento","" -"An unexpected error occurred","Ocorreu um erro inesperado","" -"This field is required","Este campo é obrigatório","" -"Minimum length is {0} characters","O tamanho mínimo é de {0} caracteres","" -"Maximum length is {0} characters","O tamanho máximo é de {0} caracteres","" -"Please enter a valid email address","Por favor, insira um endereço de e-mail válido","" -"Please enter a valid phone number","Por favor, insira um número de telefone válido","" -"Please enter a valid number","Por favor, insira um número válido","" -"Value must be positive","O valor deve ser positivo","" -"Customer Credit","Crédito do Cliente","" -"Available Credit","Crédito Disponível","" -"Payment Methods","Métodos de Pagamento","" -"Cash","Dinheiro","" -"Card","Cartão","" -"Wallet","Carteira Digital","" -"Bank Transfer","Transferência Bancária","" -"Item","Item","" -"Items","Itens","" -"Quantity","Quantidade","" -"Price","Preço","" -"Subtotal","Subtotal","" -"Grand Total","Total Geral","" -"Apply","Aplicar","" -"Apply Coupon","Aplicar Cupom","" -"Coupon Code","Código do Cupom","" -"Remove","Remover","" -"Add","Adicionar","" -"Update","Atualizar","" -"Refresh","Atualizar","" -"Reload","Recarregar","" -"Print","Imprimir","" -"Download","Baixar","" -"Upload","Carregar","" -"Import","Importar","" -"Export","Exportar","" -"Filter","Filtrar","" -"Sort","Ordenar","" -"Ascending","Crescente","" -"Descending","Decrescente","" -"All","Todos","" -"None","Nenhum","" -"Select All","Selecionar Todos","" -"Deselect All","Desselecionar Todos","" -"Name","Nome","" -"Email","E-mail","" -"Phone","Telefone","" -"Address","Endereço","" -"City","Cidade","" -"State","Estado","" -"Country","País","" -"Postal Code","CEP","" -"Notes","Observações","" -"Description","Descrição","" -"Category","Categoria","" -"Type","Tipo","" -"Unit","Unidade","" -"Stock","Estoque","" -"Available","Disponível","" -"Out of Stock","Esgotado","" -"Low Stock","Baixo Estoque","" -"In Stock","Em Estoque","" -"Barcode","Código de Barras","" -"SKU","SKU","" -"Image","Imagem","" -"Gallery","Galeria","" -"Product","Produto","" -"Products","Produtos","" -"Service","Serviço","" -"Services","Serviços","" -"Order","Pedido","" -"Orders","Pedidos","" -"Invoice","Fatura","" -"Invoices","Faturas","" -"Payment","Pagamento","" -"Payments","Pagamentos","" -"Receipt","Comprovante","" -"Receipts","Comprovantes","" -"Refund","Reembolso","" -"Refunds","Reembolsos","" -"Return","Devolução","" -"Returns","Devoluções","" -"Exchange","Troca","" -"Exchanges","Trocas","" -"Sale","Venda","" -"Sales","Vendas","" -"Purchase","Compra","" -"Purchases","Compras","" -"Report","Relatório","" -"Reports","Relatórios","" -"Dashboard","Painel","" -"Home","Início","" -"Profile","Perfil","" -"Account","Conta","" -"Logout","Sair","" -"Login","Acessar","" -"Sign In","Entrar","" -"Sign Up","Cadastrar","" -"Register","Registrar","" -"Password","Senha","" -"Username","Nome de Usuário","" -"Remember Me","Lembrar de Mim","" -"Forgot Password?","Esqueceu a Senha?","" -"Reset Password","Redefinir Senha","" -"Change Password","Alterar Senha","" -"Old Password","Senha Antiga","" -"New Password","Nova Senha","" -"Confirm Password","Confirmar Senha","" -"Today","Hoje","" -"Yesterday","Ontem","" -"This Week","Esta Semana","" -"Last Week","Semana Passada","" -"This Month","Este Mês","" -"Last Month","Mês Passado","" -"This Year","Este Ano","" -"Last Year","Ano Passado","" -"Custom Range","Período Personalizado","" -"From","De","" -"To","Até","" -"Start Date","Data de Início","" -"End Date","Data de Fim","" -"Time","Hora","" -"Hour","Hora","" -"Hours","Horas","" -"Minute","Minuto","" -"Minutes","Minutos","" -"Second","Segundo","" -"Seconds","Segundos","" -"Day","Dia","" -"Days","Dias","" -"Week","Semana","" -"Weeks","Semanas","" -"Month","Mês","" -"Months","Meses","" -"Year","Ano","" -"Years","Anos","" -"Are you sure?","Tem certeza?","" -"This action cannot be undone","Esta ação não pode ser desfeita","" -"Confirm Delete","Confirmar Exclusão","" -"Confirm Action","Confirmar Ação","" -"Processing...","Processando...","" -"Please wait...","Por favor, aguarde...","" -"Saving...","Salvando...","" -"Loading data...","Carregando dados...","" -"No data available","Sem dados disponíveis","" -"No results found","Nenhum resultado encontrado","" -"Search results","Resultados da busca","" -"Showing {0} to {1} of {2} entries","Exibindo {0} a {1} de {2} registros","" -"Page","Página","" -"Previous","Anterior","" -"Next","Próximo","" -"First","Primeira","" -"Last","Última","" -"per page","por página","" -"View","Visualizar","" -"View Shift","Visualizar Turno","" -"View Details","Ver Detalhes","" -"Edit Details","Editar Detalhes","" -"Copy","Copiar","" -"Duplicate","Duplicar","" -"Archive","Arquivar","" -"Restore","Restaurar","" -"Move","Mover","" -"Rename","Renomear","" -"Share","Compartilhar","" -"Download PDF","Baixar PDF","" -"Send Email","Enviar E-mail","" -"Print Invoice","Imprimir Fatura","" -"Email Invoice","Enviar Fatura por E-mail","" -"Mark as Paid","Marcar como Pago","" -"Mark as Unpaid","Marcar como Não Pago","" -"Payment Received","Pagamento Recebido","" -"Payment Pending","Pagamento Pendente","" -"Payment Failed","Pagamento Falhou","" -"Completed","Concluído","" -"Pending","Pendente","" -"Processing","Em Processamento","" -"Cancelled","Cancelado","" -"Refunded","Reembolsado","" -"Draft","Rascunho","" -"Submitted","Enviado","" -"Approved","Aprovado","" -"Rejected","Rejeitado","" -"Active","Ativo","" -"Inactive","Inativo","" -"Enabled","Habilitado","" -"Disabled","Desabilitado","" -"Online","Online","" -"Offline","Offline","" -"Connected","Conectado","" -"Disconnected","Desconectado","" -"Synced","Sincronizado","" -"Not Synced","Não Sincronizado","" -"Syncing...","Sincronizando...","" -"Last Sync","Última Sincronização","" -"Sync Now","Sincronizar Agora","" -"Auto Sync","Sincronização Automática","" -"Manual Sync","Sincronização Manual","" -"Clear Cache","Limpar Cache","" -"Reset Settings","Redefinir Configurações","" -"Restore Defaults","Restaurar Padrões","" -"About","Sobre","" -"Help","Ajuda","" -"Support","Suporte","" -"Documentation","Documentação","" -"Version","Versão","" -"License","Licença","" -"Privacy Policy","Política de Privacidade","" -"Terms of Service","Termos de Serviço","" -"Contact Us","Fale Conosco","" -"Feedback","Feedback","" -"Rate Us","Avalie-nos","" -"More","Mais","" -"Less","Menos","" -"Show More","Mostrar Mais","" -"Show Less","Mostrar Menos","" -"Expand","Expandir","" -"Collapse","Recolher","" -"Full Screen","Tela Cheia","" -"Exit Full Screen","Sair da Tela Cheia","" -"Shift Open:","Turno Aberto:","" -"Offline ({0} pending)","Offline ({0} pendente)","" -"Online - Click to sync","Online - Clique para sincronizar","" -"Offline mode active","Modo offline ativo","" -"Online mode active","Modo online ativo","" -"Cache","Cache","" -"Items:","Itens:","" -"Last Sync:","Última Sincronização:","" -"Status:","Status:","" -"Auto-Sync:","Sincronização Automática:","" -"Refreshing...","Atualizando...","" -"Refresh Items","Atualizar Itens","" -"Refreshing items...","Atualizando itens...","" -"Refresh items list","Atualizar lista de itens","" -"Empty","Vazio","" -"Syncing","Sincronizando","" -"Ready","Pronto","" -"Never","Nunca","" -"Cache empty","Cache vazio","" -"Cache syncing","Cache sincronizando","" -"Cache ready","Cache pronto","" -"Access your point of sale system","Acesse seu sistema de ponto de venda","" -"Your cart is empty","Seu carrinho está vazio","" -"Cart Items","Itens do Carrinho","" -"Clear","Limpar","" -"Last 7 Days","Últimos 7 Dias","" -"Last 30 Days","Últimos 30 Dias","" -"All Status","Todos os Status","" -"Partly Paid","Parcialmente Pago","" -"Overdue","Vencido","" -"Negative Stock","Estoque Negativo","" -"Cart","Carrinho","" -"Welcome to POS Next","Bem-vindo(a) ao POS Next","" -"Please open a shift to start making sales","Por favor, abra um turno para começar a fazer vendas","" -"Clear Cart?","Limpar Carrinho?","" -"Remove all {0} items from cart?","Remover todos os {0} itens do carrinho?","" -"Clear All","Limpar Tudo","" -"Sign Out Confirmation","Confirmação de Saída","" -"Your Shift is Still Open!","Seu Turno Ainda Está Aberto!","" -"Close your shift first to save all transactions properly","Feche seu turno primeiro para salvar todas as transações corretamente","" -"Close Shift & Sign Out","Fechar Turno e Sair","" -"Skip & Sign Out","Ignorar e Sair","" -"Sign Out?","Sair?","" -"You will be logged out of POS Next","Você será desconectado(a) do POS Next","" -"Sign Out","Sair","" -"Signing Out...","Saindo...","" -"Invoice Created Successfully","Fatura Criada com Sucesso","" -"Invoice {0} created successfully!","Fatura {0} criada com sucesso!","" -"Total: {0}","Total: {0}","" -"An unexpected error occurred.","Ocorreu um erro inesperado.","" -"Delete Invoice","Excluir Fatura","" -"Try Again","Tentar Novamente","" -"Tax mode updated. Cart recalculated with new tax settings.","Modo de imposto atualizado. Carrinho recalculado com as novas configurações de imposto.","" -"Discount settings changed. Cart recalculated.","Configurações de desconto alteradas. Carrinho recalculado.","" -"Prices are now tax-inclusive. This will apply to new items added to cart.","Os preços agora incluem impostos. Isso será aplicado a novos itens adicionados ao carrinho.","" -"Prices are now tax-exclusive. This will apply to new items added to cart.","Os preços agora não incluem impostos (tax-exclusive). Isso será aplicado a novos itens adicionados ao carrinho.","" -"Negative stock sales are now allowed","Vendas com estoque negativo agora são permitidas","" -"Negative stock sales are now restricted","Vendas com estoque negativo agora são restritas","" -"Credit Sale","Venda a Crédito","" -"Write Off Change","Baixa de Troco","" -"Partial Payment","Pagamento Parcial","" -"Silent Print","Impressão Silenciosa","" -"{0} settings applied immediately","Configurações de {0} aplicadas imediatamente","" -"You can now start making sales","Você já pode começar a fazer vendas","" -"Shift closed successfully","Turno fechado com sucesso","" -"Insufficient Stock","Estoque Insuficiente","" -"Item: {0}","Item: {0}","" -"\{0}\"" cannot be added to cart. Bundle is out of stock. Allow Negative Stock is disabled.""","\{0}\"" não pode ser adicionado ao carrinho. O pacote está esgotado. Estoque Negativo Permitido está desabilitado.""","" -"\{0}\"" cannot be added to cart. Item is out of stock. Allow Negative Stock is disabled.""","\{0}\"" não pode ser adicionado ao carrinho. O item está esgotado. Estoque Negativo Permitido está desabilitado.""","" -"{0} selected","{0} selecionado(s)","" -"Please add items to cart before proceeding to payment","Por favor, adicione itens ao carrinho antes de prosseguir para o pagamento","" -"Please select a customer before proceeding","Por favor, selecione um cliente antes de prosseguir","" -"Invoice saved offline. Will sync when online","Fatura salva offline. Será sincronizada quando estiver online","" -"Unknown","Desconhecido","" -"Invoice {0} created and sent to printer","Fatura {0} criada e enviada para a impressora","" -"Invoice {0} created but print failed","Fatura {0} criada, mas a impressão falhou","" -"Invoice {0} created successfully","Fatura {0} criada com sucesso","" -"All items removed from cart","Todos os itens removidos do carrinho","" -"{0} added to cart","{0} adicionado(s) ao carrinho","" -"{0} ({1}) added to cart","{0} ({1}) adicionado(s) ao carrinho","" -"Failed to process selection. Please try again.","Falha ao processar a seleção. Por favor, tente novamente.","" -"Return invoice {0} created successfully","Fatura de devolução {0} criada com sucesso","" -"Creating return for invoice {0}","Criando devolução para a fatura {0}","" -"{0} created and selected","{0} criado e selecionado","" -"All cached data has been cleared successfully","Todos os dados em cache foram limpos com sucesso","" -"Failed to clear cache. Please try again.","Falha ao limpar o cache. Por favor, tente novamente.","" -"Your point of sale system is ready to use.","Seu sistema de ponto de venda está pronto para uso.","" -"Shift Status","Status do Turno","" -"Shift is Open","O Turno Está Aberto","" -"POS Profile: {0}","Perfil PDV: {0}","" -"Company:","Empresa:","" -"Opened:","Aberto:","" -"Start Sale","Iniciar Venda","" -"No Active Shift","Nenhum Turno Ativo","" -"You need to open a shift before you can start making sales.","Você precisa abrir um turno antes de poder começar a fazer vendas.","" -"System Test","Teste do Sistema","" -"Test Connection","Testar Conexão","" -"✓ Connection successful: {0}","✓ Conexão bem-sucedida: {0}","" -"✗ Connection failed: {0}","✗ Conexão falhou: {0}","" -"Confirm Sign Out","Confirmar Saída","" -"Active Shift Detected","Turno Ativo Detectado","" -"You have an active shift open. Would you like to:","Você tem um turno ativo aberto. Gostaria de:","" -"Are you sure you want to sign out of POS Next?","Tem certeza de que deseja sair do POS Next?","" -"Sign Out Only","Apenas Sair","" -"TAX INVOICE","FATURA DE IMPOSTOS","" -"Invoice #:","Fatura #:","" -"Date:","Data:","" -"Customer:","Cliente:","" -"Status:","Status:","" -"PARTIAL PAYMENT","PAGAMENTO PARCIAL","" -"(FREE)","(GRÁTIS)","" -"Subtotal:","Subtotal:","" -"Tax:","Imposto:","" -"TOTAL:","TOTAL:","" -"Total Paid:","Total Pago:","" -"Change:","Troco:","" -"BALANCE DUE:","SALDO DEVEDOR:","" -"Thank you for your business!","Obrigado(a) pela preferência!","" -"Invoice - {0}","Fatura - {0}","" -"Offline invoice deleted successfully","Fatura offline excluída com sucesso","" -"Failed to delete offline invoice","Falha ao excluir fatura offline","" -"Cannot sync while offline","Não é possível sincronizar estando offline","" -"{0} invoice(s) synced successfully","{0} fatura(s) sincronizada(s) com sucesso","" -"Loading customers for offline use...","Carregando clientes para uso offline...","" -"Data is ready for offline use","Dados prontos para uso offline","" -"Some data may not be available offline","Alguns dados podem não estar disponíveis offline","" -"POS is offline without cached data. Please connect to sync.","O PDV está offline sem dados em cache. Por favor, conecte-se para sincronizar.","" -"{0} applied successfully","{0} aplicado com sucesso","" -"Discount has been removed from cart","Desconto foi removido do carrinho","" -"Add items to the cart before applying an offer.","Adicione itens ao carrinho antes de aplicar uma oferta.","" -"Your cart doesn't meet the requirements for this offer.","Seu carrinho não atende aos requisitos desta oferta.","" -"Failed to apply offer. Please try again.","Falha ao aplicar oferta. Por favor, tente novamente.","" -"Offer has been removed from cart","Oferta foi removida do carrinho","" -"Failed to update cart after removing offer.","Falha ao atualizar o carrinho após remover a oferta.","" -"Unit changed to {0}","Unidade alterada para {0}","" -"Failed to update UOM. Please try again.","Falha ao atualizar a UDM. Por favor, tente novamente.","" -"{0} updated successfully","{0} atualizado com sucesso","" -"Failed to update item. Please try again.","Falha ao atualizar item. Por favor, tente novamente.","" -"{0}h {1}m {2}s","{0}h {1}m {2}s","" -"Sync Complete","Sincronização Concluída","" -"Search by phone: {0}","Buscar por telefone: {0}","" -"Search by email: {0}","Buscar por e-mail: {0}","" -"Create new customer: {0}","Criar novo cliente: {0}","" -"From {0}","De {0}","" -"Until {0}","Até {0}","" -"Validation Error","Erro de Validação","" -"Permission Denied","Permissão Negada","" -"Not Found","Não Encontrado","" -"Server Error","Erro do Servidor","" -"Not enough stock available in the warehouse.\n\nPlease reduce the quantity or check stock availability.","Estoque insuficiente disponível no depósito.\n\nPor favor, reduza a quantidade ou verifique a disponibilidade de estoque.","" -"Pricing Error","Erro de Preço","" -"Customer Error","Erro do Cliente","" -"Tax Configuration Error","Erro de Configuração de Imposto","" -"Payment Error","Erro de Pagamento","" -"Naming Series Error","Erro na Série de Nomenclatura","" -"Connection Error","Erro de Conexão","" -"Unable to connect to server. Check your internet connection.","Não foi possível conectar ao servidor. Verifique sua conexão com a internet.","" -"Duplicate Entry","Entrada Duplicada","" -"Error Report - POS Next","Relatório de Erro - POS Next","" -"Title: {0}","Título: {0}","" -"Type: {0}","Tipo: {0}","" -"Message: {0}","Mensagem: {0}","" -"Technical: {0}","Técnico: {0}","" -"Timestamp: {0}","Data e Hora: {0}","" -"User: {0}","Usuário: {0}","" -"POS Profile: {0}","Perfil PDV: {0}","" -"Partial Payments","Pagamentos Parciais","" -"Manage invoices with pending payments","Gerenciar faturas com pagamentos pendentes","" -"{0} invoice - {1} outstanding","{0} fatura - {1} pendente","" -"{0} invoices - {1} outstanding","{0} faturas - {1} pendente","" -"Loading invoices...","Carregando faturas...","" -"No Partial Payments","Nenhum Pagamento Parcial","" -"All invoices are either fully paid or unpaid","Todas as faturas estão totalmente pagas ou não pagas","" -"Add Payment","Adicionar Pagamento","" -"Payment History","Histórico de Pagamentos","" -"Failed to load partial payments","Falha ao carregar pagamentos parciais","" -"Payment added successfully","Pagamento adicionado com sucesso","" -"Failed to add payment","Falha ao adicionar pagamento","" -"Open POS Shift","Abrir Turno PDV","" -"Select POS Profile","Selecionar Perfil PDV","" -"No POS Profiles available. Please contact your administrator.","Nenhum Perfil PDV disponível. Por favor, contate seu administrador.","" -"Change Profile","Alterar Perfil","" -"Opening Balance (Optional)","Saldo de Abertura (Opcional)","" -"No payment methods configured for this POS Profile","Nenhum método de pagamento configurado para este Perfil PDV","" -"Existing Shift Found","Turno Existente Encontrado","" -"You have an open shift. Would you like to resume it or close it and open a new one?","Você tem um turno aberto. Gostaria de retomá-lo ou fechá-lo e abrir um novo?","" -"POS Profile: {0}","Perfil PDV: {0}","" -"Opened: {0}","Aberto: {0}","" -"Resume Shift","Retomar Turno","" -"Close & Open New","Fechar e Abrir Novo","" -"Back","Voltar","" -"At least {0} items required","Pelo menos {0} itens necessários","" -"Maximum {0} items allowed for this offer","Máximo de {0} itens permitido para esta oferta","" -"Minimum cart value of {0} required","Valor mínimo do carrinho de {0} necessário","" -"Maximum cart value exceeded ({0})","Valor máximo do carrinho excedido ({0})","" -"Cart does not contain eligible items for this offer","O carrinho não contém itens elegíveis para esta oferta","" -"Cart does not contain items from eligible groups","O carrinho não contém itens de grupos elegíveis","" -"Cannot save an empty cart as draft","Não é possível salvar um carrinho vazio como rascunho","" -"Invoice saved as draft successfully","Fatura salva como rascunho com sucesso","" -"Failed to save draft","Falha ao salvar rascunho","" -"Draft invoice loaded successfully","Fatura rascunho carregada com sucesso","" -"Failed to load draft","Falha ao carregar rascunho","" -"Close POS Shift","Fechar Turno PDV","" -"Loading shift data...","Carregando dados do turno...","" -"Calculating totals and reconciliation...","Calculando totais e conciliação...","" -"Duration","Duração","" -"Total Sales","Vendas Totais","" -"{0} invoices","{0} faturas","" -"Net Amount","Valor Líquido","" -"Before tax","Antes do imposto","" -"Items Sold","Itens Vendidos","" -"Total items","Total de itens","" -"Tax Collected","Imposto Arrecadado","" -"Total tax","Total de imposto","" -"No Sales During This Shift","Nenhuma Venda Durante Este Turno","" -"No invoices were created. Closing amounts should match opening amounts.","Nenhuma fatura foi criada. Os valores de fechamento devem corresponder aos valores de abertura.","" -"Invoice Details","Detalhes da Fatura","" -"{0} transactions • {1}","{0} transações • {1}","" -"N/A","N/D","" -"Total:","Total:","" -"Payment Reconciliation","Conciliação de Pagamento","" -"✓ Shift Closed","✓ Turno Fechado","" -"Total Variance","Variação Total","" -"Enter actual amount for {0}","Insira o valor real para {0}","" -"Expected: {0}""","Esperado: {0}""","" -"✓ Balanced","✓ Balanceado","" -"Over {0}","Sobra de {0}","" -"Short {0}","Falta de {0}","" -"Opening","Abertura","" -"Shift start","Início do turno","" -"Expected","Esperado","" -"No sales","Sem vendas","" -"Actual Amount *","Valor Real *","" -"Final Amount","Valor Final","" -"Count & enter","Contar e inserir","" -"Cash Over","Sobra de Caixa","" -"Cash Short","Falta de Caixa","" -"You have more than expected.","Você tem mais do que o esperado.","" -"You have less than expected.","Você tem menos do que o esperado.","" -"Total Expected","Total Esperado","" -"Total Actual","Total Real","" -"Net Variance","Variação Líquida","" -"Tax Summary","Resumo de Impostos","" -"Total Tax Collected","Total de Imposto Arrecadado","" -"Error Closing Shift","Erro ao Fechar o Turno","" -"Dismiss","Dispensar","" -"Failed to Load Shift Data","Falha ao Carregar Dados do Turno","" -"Please enter all closing amounts","Por favor, insira todos os valores de fechamento","" -"✓ Shift closed successfully","✓ Turno fechado com sucesso","" -"Closing Shift...","Fechando Turno...","" -"{0}h {1}m","{0}h {1}m","" -"{0}m","{0}m","" -"-- Select --","-- Selecionar --","" -"Select Customer","Selecionar Cliente","" -"Search and select a customer for the transaction","Busque e selecione um cliente para a transação","" -"Search customers by name, mobile, or email...","Buscar clientes por nome, celular ou e-mail...","" -"Search customers","Buscar clientes","" -"⭐ Recent & Frequent","⭐ Recentes e Frequentes","" -"{0} of {1} customers","{0} de {1} clientes","" -"• Use ↑↓ to navigate, Enter to select","• Use ↑↓ para navegar, Enter para selecionar","" -"Loading customers...","Carregando clientes...","" -"No customers available","Nenhum cliente disponível","" -"Create your first customer to get started","Crie seu primeiro cliente para começar","" -"No results for \{0}\""","Nenhum resultado para \{0}\""","" -"Try a different search term or create a new customer","Tente um termo de busca diferente ou crie um novo cliente","" -"+ Create New Customer","+ Criar Novo Cliente","" -"All Items","Todos os Itens","" -"Syncing catalog in background... {0} items cached","Sincronizando catálogo em segundo plano... {0} itens em cache","" -"Search items","Buscar itens","" -"Barcode Scanner: ON (Click to disable)","Leitor de Código de Barras: LIGADO (Clique para desabilitar)","" -"Barcode Scanner: OFF (Click to enable)","Leitor de Código de Barras: DESLIGADO (Clique para habilitar)","" -"Disable barcode scanner","Desabilitar leitor de código de barras","" -"Enable barcode scanner","Habilitar leitor de código de barras","" -"Auto-Add: ON - Press Enter to add items to cart","Adição Automática: LIGADA - Pressione Enter para adicionar itens ao carrinho","" -"Auto-Add: OFF - Click to enable automatic cart addition on Enter","Adição Automática: DESLIGADA - Clique para habilitar adição automática ao carrinho no Enter","" -"Disable auto-add","Desabilitar adição automática","" -"Enable auto-add","Habilitar adição automática","" -"Auto","Auto","" -"Grid View","Visualização em Grade","" -"Switch to grid view","Mudar para visualização em grade","" -"List View","Visualização em Lista","" -"Switch to list view","Mudar para visualização em lista","" -"Sorted by {0} A-Z","Ordenado por {0} A-Z","" -"Sorted by {0} Z-A","Ordenado por {0} Z-A","" -"Sort items","Ordenar itens","" -"Sort Items","Ordenar Itens","" -"No Sorting","Sem Ordenação","" -"Loading items...","Carregando itens...","" -"No results for {0} in {1}","Nenhum resultado para {0} em {1}","" -"No results in {0}","Nenhum resultado em {0}","" -"No results for {0}","Nenhum resultado para {0}","" -"No items available","Nenhum item disponível","" -"{0}: {1} {2}","{0}: {1} {2}","" -"Nos","N°s","" -"Check availability in other warehouses","Verificar disponibilidade em outros depósitos","" -"Check Availability in All Wherehouses","Verificar Disponibilidade em Todos os Depósitos","" -"Selected","Selecionado","" -"Check warehouse availability","Verificar disponibilidade no depósito","" -"Loading more items...","Carregando mais itens...","" -"All items loaded","Todos os itens carregados","" -"{0} items found","{0} itens encontrados","" -"{0} - {1} of {2}","{0} - {1} de {2}","" -"Go to first page","Ir para primeira página","" -"Go to previous page","Ir para página anterior","" -"Go to page {0}","Ir para página {0}","" -"Go to next page","Ir para próxima página","" -"Go to last page","Ir para última página","" -"Code","Código","" -"Rate","Preço Unitário","" -"Qty","Quantidade","" -"UOM","UDM","" -"{0}: {1} Bundles","{0}: {1} Pacotes","" -"Auto-Add ON - Type or scan barcode","Adição Automática LIGADA - Digite ou escaneie o código de barras","" -"Scanner ON - Enable Auto for automatic addition","Leitor LIGADO - Habilite o Auto para adição automática","" -"Search by item code, name or scan barcode","Buscar por código, nome do item ou escanear código de barras","" -"Item Not Found: No item found with barcode: {0}","Item Não Encontrado: Nenhum item encontrado com código de barras: {0}","" -"Multiple Items Found: {0} items match barcode. Please refine search.","Múltiplos Itens Encontrados: {0} itens correspondem ao código. Por favor, refine a busca.","" -"Multiple Items Found: {0} items match. Please select one.","Múltiplos Itens Encontrados: {0} itens correspondem. Por favor, selecione um.","" -"Loading invoice details...","Carregando detalhes da fatura...","" -"Return Against:","Devolução Contra:","" -"Grand Total","Total Geral","" -"Taxes:","Impostos:","" -"Net Total:","Total Líquido:","" -"Discount:","Desconto:","" -"Grand Total:","Total Geral:","" -"Paid Amount:","Valor Pago:","" -"Outstanding:","Pendente:","" -"Remarks","Observações","" -"Failed to load invoice details","Falha ao carregar detalhes da fatura","" -"Warehouse Availability","Disponibilidade no Depósito","" -"Close dialog","Fechar diálogo","" -"Checking warehouse availability...","Verificando disponibilidade no depósito...","" -"Actual Stock:","Estoque Atual:","" -"This item is out of stock in all warehouses","Este item está esgotado em todos os depósitos","" -"Total Available:","Total Disponível:","" -"across 1 warehouse","em 1 depósito","" -"across {0} warehouses","em {0} depósitos","" -"Have a coupon code?","Tem um código de cupom?","" -"Enter your promotional or gift card code below","Insira seu código promocional ou de cartão-presente abaixo","" -"ENTER-CODE-HERE","INSIRA-O-CÓDIGO-AQUI","" -"Code is case-insensitive","O código não diferencia maiúsculas/minúsculas","" -"My Gift Cards ({0})","Meus Cartões-Presente ({0})","" -"Coupon Applied Successfully!","Cupom Aplicado com Sucesso!","" -"Discount Amount","Valor do Desconto","" -"Please enter a coupon code","Por favor, insira um código de cupom","" -"The coupon code you entered is not valid","O código de cupom inserido não é válido","" -"This coupon requires a minimum purchase of","Este cupom requer uma compra mínima de","" -"Failed to apply coupon. Please try again.","Falha ao aplicar cupom. Por favor, tente novamente.","" -"Discount has been removed","Desconto foi removido","" -"Search countries...","Buscar países...","" -"No countries found","Nenhum país encontrado","" -"Create New Customer","Criar Novo Cliente","" -"Customer Name","Nome do Cliente","" -"Enter customer name","Insira o nome do cliente","" -"Mobile Number","Número de Celular","" -"Search country or code...","Buscar país ou código...","" -"Enter phone number","Insira o número de telefone","" -"Enter email address","Insira o endereço de e-mail","" -"Customer Group","Grupo de Clientes","" -"Select Customer Group","Selecionar Grupo de Clientes","" -"Territory","Território","" -"Select Territory","Selecionar Território","" -"Permission Required","Permissão Necessária","" -"You don't have permission to create customers. Contact your administrator.","Você não tem permissão para criar clientes. Contate seu administrador.","" -"Individual","Individual","" -"All Territories","Todos os Territórios","" -"Customer {0} created successfully","Cliente {0} criado com sucesso","" -"Failed to create customer","Falha ao criar cliente","" -"Customer Name is required","O Nome do Cliente é obrigatório","" -"Promotion & Coupon Management","Gerenciamento de Promoções e Cupons","" -"Manage promotional schemes and coupons","Gerenciar esquemas promocionais e cupons","" -"Promotional Schemes","Esquemas Promocionais","" -"Coupons","Cupons","" -"Search promotions...","Buscar promoções...","" -"Active Only","Somente Ativas","" -"Expired Only","Somente Expiradas","" -"Not Started","Não Iniciadas","" -"Disabled Only","Somente Desabilitadas","" -"Create New Promotion","Criar Nova Promoção","" -"Create permission required","Permissão de criação necessária","" -"No promotions found","Nenhuma promoção encontrada","" -"Rule","Regra","" -"Scheme","Esquema","" -"{0} items","{0} itens","" -"No expiry","Sem validade","" -"Select a Promotion","Selecionar uma Promoção","" -"Choose a promotion from the list to view and edit, or create a new one to get started","Escolha uma promoção da lista para visualizar e editar, ou crie uma nova para começar","" -"You don't have permission to create promotions","Você não tem permissão para criar promoções","" -"Create New Promotion","Criar Nova Promoção","" -"Edit Promotion","Editar Promoção","" -"Pricing Rule","Regra de Preço","" -"Promotional Scheme","Esquema Promocional","" -"Fill in the details to create a new promotional scheme","Preencha os detalhes para criar um novo esquema promocional","" -"View pricing rule details (read-only)","Visualizar detalhes da regra de preço (somente leitura)","" -"Update the promotion details below","Atualize os detalhes da promoção abaixo","" -"Read-only: Edit in ERPNext","Somente leitura: Edite no ERPNext","" -"Enable","Habilitar","" -"Basic Information","Informações Básicas","" -"Promotion Name","Nome da Promoção","" -"e.g., Summer Sale 2025","Ex: Nova Promoção de Data Comemorativa","" -"Valid From","Válido A Partir De","" -"Valid Until","Válido Até","" -"Apply On","Aplicar Em","" -"Specific Items","Itens Específicos","" -"Item Groups","Grupos de Itens","" -"Brands","Marcas","" -"Entire Transaction","Transação Completa","" -"Select {0}","Selecionar {0}","" -"Required","Obrigatório","" -"Search items... (min 2 characters)","Buscar itens... (mín. 2 caracteres)","" -"Searching from {0} cached items","Buscando em {0} itens em cache","" -"Select Item Group","Selecione Grupo de Itens","" -"Select Brand","Selecione Marca","" -"Select Item","Selecione Item","" -"Select option","Selecione uma opção","" -"Search by name or code...","Buscar por nome ou código...","" -"No items found","Nenhum item encontrado","" -"Discount Details","Detalhes do Desconto","" -"Discount Type","Tipo de Desconto","" -"Discount (%)","Desconto (%)","" -"discount ({0})","desconto ({0})","" -"Free Item","Item Grátis","" -"Search item... (min 2 characters)","Buscar item... (mín. 2 caracteres)","" -"Free Quantity","Quantidade Grátis","" -"Minimum Quantity","Quantidade Mínima","" -"Maximum Quantity","Quantidade Máxima","" -"Minimum Amount ({0})","Valor Mínimo ({0})","" -"Maximum Amount ({0})","Valor Máximo ({0})","" -"Delete Promotion","Excluir Promoção","" -"Are you sure you want to delete \{0}\""?""","Tem certeza de que deseja excluir \{0}\""?""","" -"This will also delete all associated pricing rules. This action cannot be undone.","Isso também excluirá todas as regras de preço associadas. Esta ação não pode ser desfeita.","" -"Percentage","Porcentagem","" -"Fixed Amount","Valor Fixo","" -"Failed to load item groups","Falha ao carregar grupos de itens","" -"Failed to load brands","Falha ao carregar marcas","" -"Promotion created successfully","Promoção criada com sucesso","" -"Failed to create promotion","Falha ao criar promoção","" -"Promotion updated successfully","Promoção atualizada com sucesso","" -"Failed to update promotion","Falha ao atualizar promoção","" -"Promotion status updated successfully","Status da promoção atualizado com sucesso","" -"Failed to update promotion status","Falha ao atualizar status da promoção","" -"Promotion deleted successfully","Promoção excluída com sucesso","" -"Failed to delete promotion","Falha ao excluir promoção","" -"Failed to load promotion details","Falha ao carregar detalhes da promoção","" -"An error occurred","Ocorreu um erro","" -"Please enter a promotion name","Por favor, insira um nome para a promoção","" -"Promotion \{0}\"" already exists. Please use a different name.""","A Promoção \{0}\"" já existe. Por favor, use um nome diferente.""","" -"Please select at least one {0}","Por favor, selecione pelo menos um {0}","" -"Partially Paid ({0})","Parcialmente Pago ({0})","" -"Unpaid ({0})","Não Pago ({0})","" -"Overdue ({0})","Vencido ({0})","" -"Outstanding Payments","Pagamentos Pendentes","" -"{0} paid","{0} pago(s)","" -"No Unpaid Invoices","Nenhuma Fatura Não Paga","" -"All invoices are fully paid","Todas as faturas estão totalmente pagas","" -"No invoices found","Nenhuma fatura encontrada","" -"Date & Time","Data e Hora","" -"Paid Amount","Valor Pago","" -"No draft invoices","Nenhuma fatura rascunho","" -"Save invoices as drafts to continue later","Salve faturas como rascunho para continuar depois","" -"Customer: {0}","Cliente: {0}","" -"Delete draft","Excluir rascunho","" -"{0} item(s)","{0} item(s)","" -"+{0} more","+{0} mais","" -"No return invoices","Nenhuma fatura de devolução","" -"Return invoices will appear here","Faturas de devolução aparecerão aqui","" -"Against: {0}","Contra: {0}","" -"Drafts","Rascunhos","" -"Failed to load unpaid invoices","Falha ao carregar faturas não pagas","" -"Select Batch Numbers","Selecionar Números de Lote","" -"Select Serial Numbers","Selecionar Números de Série","" -"Select Batch Number","Selecionar Número de Lote","" -"Qty: {0}","Qtd: {0}","" -"Exp: {0}","Venc: {0}","" -"Select Serial Numbers ({0}/{1})","Selecionar Números de Série ({0}/{1})","" -"Warehouse: {0}","Depósito: {0}","" -"Or enter serial numbers manually (one per line)","Ou insira números de série manualmente (um por linha)","" -"Enter serial numbers...","Insira números de série...","" -"Change language: {0}","Mudar idioma: {0}","" -"{0} of {1} invoice(s)","{0} de {1} fatura(s)","" -"Clear all","Limpar tudo","" -"From Date","Data Inicial","" -"To Date","Data Final","" -"Save these filters as...","Salvar estes filtros como...","" -"Saved Filters","Filtros Salvos","" -"Partial","Parcial","" -"Delete \{0}\""?""","Excluir \{0}\""?""","" -"Install POSNext","Instalar POSNext","" -"Faster access and offline support","Acesso mais rápido e suporte offline","" -"Snooze for 7 days","Adiar por 7 dias","" -"Install","Instalar","" -"Close (shows again next session)","Fechar (mostra novamente na próxima sessão)","" -"Searching...","Buscando...","" -"No options available","Nenhuma opção disponível","" -"Clear selection","Limpar seleção","" -"Load more ({0} remaining)","Carregar mais ({0} restante)","" -"Search...","Buscar...","" -"Search coupons...","Buscar cupons...","" -"Expired","Expirado","" -"Exhausted","Esgotado","" -"All Types","Todos os Tipos","" -"POS Next","POS Next","" -"View items","Visualizar itens","" -"View cart","Visualizar carrinho","" -"View cart with {0} items","Visualizar carrinho com {0} itens","" -"Hr","H","" -"Min","Min","" -"Sec","Seg","" -"{0} paid of {1}","{0} pago de {1}","" -"Outstanding","Pendente","" -"Sales Persons","Vendedores","" -"Sales Person","Vendedor","" -"1 selected","1 selecionado","" -"Selected:","Selecionado:","" -"Total: {0}% (should be 100%)","Total: {0}% (deve ser 100%)","" -"Commission: {0}%","Comissão: {0}%","" -"Search to add sales persons","Buscar para adicionar vendedores","" -"Loading sales persons...","Carregando vendedores...","" -"No sales persons found","Nenhum vendedor encontrado","" -"Additional Discount","Desconto Adicional","" -"% Percent","% Porcentagem","" -"{0} Amount","Valor {0}","" -"Select payment method to add","Selecione o método de pagamento para adicionar","" -"Added","Adicionado","" -"Quick amounts for {0}","Valores rápidos para {0}","" -"Custom amount","Valor personalizado","" -"Payment Breakdown","Detalhamento do Pagamento","" -"Apply Credit","Aplicar Crédito","" -"Pay on Account","Pagar na Conta (a Prazo)","" -"Maximum allowed discount is {0}%","O desconto máximo permitido é {0}%","" -"Maximum allowed discount is {0}% ({1} {2})","O desconto máximo permitido é {0}% ({1} {2})","" -"Create new customer","Criar novo cliente","" -"Remove customer","Remover cliente","" -"Search or add customer...","Buscar ou adicionar cliente...","" -"Search customer in cart","Buscar cliente no carrinho","" -"Select items to start or choose a quick action","Selecione itens para começar ou escolha uma ação rápida","" -"View current shift details","Visualizar detalhes do turno atual","" -"View draft invoices","Visualizar faturas rascunho","" -"View invoice history","Visualizar histórico de faturas","" -"Process return invoice","Processar fatura de devolução","" -"Close current shift","Fechar turno atual","" -"{0} free item(s) included","{0} item(s) grátis incluído(s)","" -"+{0} FREE","+{0} GRÁTIS","" -"Remove {0}","Remover {0}","" -"Remove item","Remover item","" -"Decrease quantity","Diminuir quantidade","" -"Increase quantity","Aumentar quantidade","" -"Click to change unit","Clique para alterar a unidade","" -"Only one unit available","Apenas uma unidade disponível","" -"Total Quantity","Quantidade Total","" -"Proceed to payment","Prosseguir para pagamento","" -"Hold order as draft","Suspender pedido como rascunho","" -"Hold","Suspender","" -"Offers","Ofertas","" -"Coupon","Cupom","" -"Edit Item Details","Editar Detalhes do Item","" -"Edit item quantity, UOM, warehouse, and discount","Editar quantidade, UDM, depósito e desconto do item","" -"Default","Padrão","" -"Item Discount","Desconto do Item","" -"Percentage (%)","Porcentagem (%)","" -"Checking Stock...","Verificando Estoque...","" -"No Stock Available","Sem Estoque Disponível","" -"Update Item","Atualizar Item","" -"\{0}\"" is not available in warehouse \""{1}\"". Please select another warehouse.""","\{0}\"" não está disponível no depósito \""{1}\"". Por favor, selecione outro depósito.""","" -"Only {0} units of \{1}\"" available in \""{2}\"". Current quantity: {3}""","Apenas {0} unidades de \{1}\"" disponíveis em \""{2}\"". Quantidade atual: {3}""","" -"{0} units available in \{1}\""","{0} unidades disponíveis em \{1}\""","" -"Available Offers","Ofertas Disponíveis","" -"Loading offers...","Carregando ofertas...","" -"Applying offer...","Aplicando oferta...","" -"No offers available","Nenhuma oferta disponível","" -"Add items to your cart to see eligible offers","Adicione itens ao seu carrinho para ver as ofertas elegíveis","" -"APPLIED","APLICADO","" -"PRICING RULE","REGRA DE PREÇO","" -"PROMO SCHEME","ESQUEMA PROMOCIONAL","" -"{0}% OFF","{0}% DESCONTO","" -"{0} OFF","{0} DESCONTO","" -"Special Offer","Oferta Especial","" -"+ Free Item","+ Item Grátis","" -"Min Purchase","Compra Mínima","" -"Min Quantity","Quantidade Mínima","" -"Subtotal (before tax)","Subtotal (antes do imposto)","" -"Add {0} more to unlock","Adicione mais {0} para desbloquear","" -"Remove Offer","Remover Oferta","" -"Apply Offer","Aplicar Oferta","" -"Create Return Invoice","Criar Fatura de Devolução","" -"Select Invoice to Return","Selecionar Fatura para Devolução","" -"Search by invoice number or customer name...","Buscar por número da fatura ou nome do cliente...","" -"Search by invoice number or customer...","Buscar por número da fatura ou cliente...","" -"Process Return","Processar Devolução","" -"Select Items to Return","Selecionar Itens para Devolução","" -"⚠️ {0} already returned","⚠️ {0} já devolvido(s)","" -"Return Qty:","Qtd. Devolução:","" -"of {0}","de {0}","" -"No items available for return","Nenhum item disponível para devolução","" -"Refund Payment Methods","Métodos de Pagamento de Reembolso","" -"+ Add Payment","+ Adicionar Pagamento","" -"Select method...","Selecionar método...","" -"Select payment method...","Selecionar método de pagamento...","" -"Total Refund:","Total do Reembolso:","" -"Payment Total:","Total do Pagamento:","" -"⚠️ Payment total must equal refund amount","⚠️ O total do pagamento deve ser igual ao valor do reembolso","" -"Return Summary","Resumo da Devolução","" -"Items to Return:","Itens a Devolver:","" -"Refund Amount:","Valor do Reembolso:","" -"Enter reason for return (e.g., defective product, wrong item, customer request)...","Insira o motivo da devolução (ex: produto com defeito, item errado, solicitação do cliente)...","" -"{0} item(s) selected","{0} item(s) selecionado(s)","" -"Create Return","Criar Devolução","" -"OK","OK","" -"Invoice must be submitted to create a return","A fatura deve ser enviada para criar uma devolução","" -"Cannot create return against a return invoice","Não é possível criar devolução contra uma fatura de devolução","" -"All items from this invoice have already been returned","Todos os itens desta fatura já foram devolvidos","" -"Return against {0}","Devolução contra {0}","" -"Failed to create return invoice","Falha ao criar fatura de devolução","" -"Failed to load recent invoices","Falha ao carregar faturas recentes","" -"{0}: maximum {1}","{0}: máximo {1}","" -"Adjust return quantities before submitting.\n\n{0}","Ajuste as quantidades de devolução antes de enviar.\n\n{0}","" -"{0} Pending Invoice(s)","{0} Fatura(s) Pendente(s)","" -"These invoices will be submitted when you're back online","Estas faturas serão enviadas quando você voltar a ficar online","" -"Sync All","Sincronizar Tudo","" -"No pending offline invoices","Nenhuma fatura offline pendente","" -"Walk-in Customer","Cliente de Balcão","" -"{0} failed","{0} falhou","" -"Payments:","Pagamentos:","" -"Edit Invoice","Editar Fatura","" -"Are you sure you want to delete this offline invoice?","Tem certeza de que deseja excluir esta fatura offline?","" -"This action cannot be undone.","Esta ação não pode ser desfeita.","" -"Just now","Agora mesmo","" -"{0} minutes ago","Há {0} minutos","" -"{0} hours ago","Há {0} horas","" -"POS Settings","Configurações do PDV","" -"Save Changes","Salvar Alterações","" -"Loading settings...","Carregando configurações...","" -"Stock Management","Gestão de Estoque","" -"Configure warehouse and inventory settings","Configurar depósito e configurações de inventário","" -"Stock Controls","Controles de Estoque","" -"Warehouse Selection","Seleção de Depósito","" -"Loading warehouses...","Carregando depósitos...","" -"Active Warehouse","Depósito Ativo","" -"All stock operations will use this warehouse. Stock quantities will refresh after saving.","Todas as operações de estoque usarão este depósito. As quantidades de estoque serão atualizadas após salvar.","" -"Stock Validation Policy","Política de Validação de Estoque","" -"Allow Negative Stock","Permitir Estoque Negativo","" -"Enable selling items even when stock reaches zero or below. Integrates with ERPNext stock settings.","Habilita a venda de itens mesmo quando o estoque chega a zero ou abaixo. Integra-se com as configurações de estoque do ERPNext.","" -"Background Stock Sync","Sincronização de Estoque em Segundo Plano","" -"Enable Automatic Stock Sync","Habilitar Sincronização Automática de Estoque","" -"Periodically sync stock quantities from server in the background (runs in Web Worker)","Sincroniza periodicamente quantidades de estoque do servidor em segundo plano (executa em Web Worker)","" -"Sync Interval (seconds)","Intervalo de Sincronização (segundos)","" -"How often to check server for stock updates (minimum 10 seconds)","Com que frequência verificar o servidor para atualizações de estoque (mínimo 10 segundos)","" -"Warehouse not set","Depósito não definido","" -"Network Usage:","Uso da Rede:","" -"~15 KB per sync cycle","~15 KB por ciclo de sincronização","" -"~{0} MB per hour","~{0} MB por hora","" -"Sales Management","Gestão de Vendas","" -"Configure pricing, discounts, and sales operations","Configurar preços, descontos e operações de venda","" -"Sales Controls","Controles de Vendas","" -"Pricing & Discounts","Preços e Descontos","" -"Tax Inclusive","Imposto Incluso","" -"When enabled, displayed prices include tax. When disabled, tax is calculated separately. Changes apply immediately to your cart when you save.","Quando habilitado, os preços exibidos incluem imposto. Quando desabilitado, o imposto é calculado separadamente. As alterações se aplicam imediatamente ao seu carrinho ao salvar.","" -"Max Discount (%)","Desconto Máximo (%)","" -"Maximum discount per item","Desconto máximo por item","" -"Use Percentage Discount","Usar Desconto em Porcentagem","" -"Show discounts as percentages","Mostrar descontos como porcentagens","" -"Allow Additional Discount","Permitir Desconto Adicional","" -"Enable invoice-level discount","Habilitar desconto a nível de fatura","" -"Allow Item Discount","Permitir Desconto por Item","" -"Enable item-level discount in edit dialog","Habilitar desconto a nível de item no diálogo de edição","" -"Disable Rounded Total","Desabilitar Total Arredondado","" -"Show exact totals without rounding","Mostrar totais exatos sem arredondamento","" -"Sales Operations","Operações de Venda","" -"Allow Credit Sale","Permitir Venda a Crédito","" -"Enable sales on credit","Ativar Venda a Crédito","" -"Allow Return","Permitir Devolução de Compras","" -"Enable product returns","Ativar Devolução de Compras","" -"Allow Write Off Change","Permitir Baixa de Troco","" -"Write off small change amounts","Dar baixa em pequenos valores de troco","" -"Allow Partial Payment","Permitir Pagamento Parcial","" -"Enable partial payment for invoices","Habilitar pagamento parcial para faturas","" -"Print without confirmation","Imprimir sem confirmação","" -"No POS Profile Selected","Nenhum Perfil PDV Selecionado","" -"Please select a POS Profile to configure settings","Por favor, selecione um Perfil PDV para configurar as definições","" -"Failed to load settings","Falha ao carregar configurações","" -"POS Profile not found","Perfil PDV não encontrado","" -"Settings saved successfully","Configurações salvas com sucesso","" -"Settings saved, warehouse updated, and tax mode changed. Cart will be recalculated.","Configurações salvas, depósito atualizado e modo de imposto alterado. O carrinho será recalculado.","" -"Settings saved and warehouse updated. Reloading stock...","Configurações salvas e depósito atualizado. Recarregando estoque...","" -"Failed to save settings","Falha ao salvar configurações","" -"{0}s ago","Há {0}s","" -"{0}m ago","Há {0}m","" -"Sign in to POS Next","Acesse o POS Next","" -"Login Failed","Falha no Login","" -"Enter your username or email","Insira seu nome de usuário ou e-mail","" -"User ID / Email","ID de Usuário / E-mail","" -"Enter your password","Insira sua senha","" -"Hide password","Ocultar senha","" -"Show password","Mostrar senha","" -"Signing in...","Acessando...","" -"Clear all items","Limpar todos os itens","" -"View all available offers","Visualizar todas as ofertas disponíveis","" -"Apply coupon code","Aplicar código de cupom","" -"Create New Coupon","Criar Novo Cupom","" -"No coupons found","Nenhum cupom encontrado","" -"Gift","Presente","" -"Used: {0}/{1}","Usado: {0}/{1}","" -"Used: {0}","Usado: {0}","" -"Select a Coupon","Selecionar um Cupom","" -"Choose a coupon from the list to view and edit, or create a new one to get started","Escolha um cupom da lista para visualizar e editar, ou crie um novo para começar","" -"You don't have permission to create coupons","Você não tem permissão para criar cupons","" -"Coupon Details","Detalhes do Cupom","" -"Fill in the details to create a new coupon","Preencha os detalhes para criar um novo cupom","" -"View and update coupon information","Visualizar e atualizar informações do cupom","" -"Create","Criar","" -"Coupon Name","Nome do Cupom","" -"e.g., Summer Sale Coupon 2025","Ex: Cupom Venda de Verão 2025","" -"Coupon Type","Tipo de Cupom","" -"Promotional","Promocional","" -"Gift Card","Cartão-Presente","" -"Auto-generated if empty","Gerado automaticamente se vazio","" -"Generate","Gerar","" -"Customer ID or Name","ID ou Nome do Cliente","" -"Company","Empresa","" -"Discount Configuration","Configuração de Desconto","" -"Apply Discount On","Aplicar Desconto Em","" -"Net Total","Total Líquido","" -"e.g., 20","Ex: 20","" -"Amount in {0}","Valor em {0}","" -"Minimum Cart Amount","Valor Mínimo do Carrinho","" -"Optional minimum in {0}","Mínimo opcional em {0}","" -"Maximum Discount Amount","Valor Máximo de Desconto","" -"Optional cap in {0}","Limite opcional em {0}","" -"Current Discount:","Desconto Atual:","" -"{0}% off {1}","{0}% de desconto em {1}","" -"{0} off {1}","{0} de desconto em {1}","" -"(Min: {0})","(Mín: {0})","" -"(Max Discount: {0})","(Desconto Máx: {0})","" -"Validity & Usage","Validade e Uso","" -"Unlimited","Ilimitado","" -"Only One Use Per Customer","Apenas Um Uso Por Cliente","" -"Coupon Status & Info","Status e Informações do Cupom","" -"Current Status","Status Atual","" -"Created On","Criado Em","" -"Last Modified","Última Modificação","" -"Delete Coupon","Excluir Cupom","" -"-- No Campaign --","-- Nenhuma Campanha --","" -"Failed to load coupons","Falha ao carregar cupons","" -"Failed to load coupon details","Falha ao carregar detalhes do cupom","" -"Coupon created successfully","Cupom criado com sucesso","" -"Failed to create coupon","Falha ao criar cupom","" -"Coupon updated successfully","Cupom atualizado com sucesso","" -"Failed to update coupon","Falha ao atualizar cupom","" -"Coupon status updated successfully","Status do cupom atualizado com sucesso","" -"Failed to toggle coupon status","Falha ao alternar status do cupom","" -"Coupon deleted successfully","Cupom excluído com sucesso","" -"Failed to delete coupon","Falha ao excluir cupom","" -"Please enter a coupon name","Por favor, insira um nome para o cupom","" -"Please select a discount type","Por favor, selecione um tipo de desconto","" -"Please enter a valid discount percentage (1-100)","Por favor, insira uma porcentagem de desconto válida (1-100)","" -"Please enter a valid discount amount","Por favor, insira um valor de desconto válido","" -"Please select a customer for gift card","Por favor, selecione um cliente para o cartão-presente","" -"Cannot delete coupon as it has been used {0} times","Não é possível excluir o cupom, pois ele foi usado {0} vezes","" -"Add to Cart","Adicionar ao Carrinho","" -"Warehouse","Depósito","" -"Search products...","Buscar produtos...","" -"Item Code","Código do Item","" -"Brand","Marca","" -"Transaction","Transação","" -"e.g., Summer Sale 2025","Ex: Venda de Verão 2025","" -"Pricing Rules","Regras de Preço","" -"Promo Schemes","Esquemas Promocionais","" -"Return Reason","Motivo da Devolução","" -"Settings saved. Tax mode is now \inclusive\"". Cart will be recalculated.""","Configurações salvas. O modo de imposto agora é \incluso\"". O carrinho será recalculado""","" -"Settings saved. Tax mode is now \exclusive\"". Cart will be recalculated.""","Configurações salvas. O modo de imposto agora é \exclusivo\"". O carrinho será recalculado""","" -"This will clear all cached items, customers, and stock data. Invoices and drafts will be preserved.","Isso limpará todos os itens, clientes e dados de estoque em cache. Faturas e rascunhos serão preservados.","" -"Clear All Data","Limpar Todos os Dados","" -"Clearing...","Limpando...","" -"Confirm Clear Cache","Confirmar Limpeza de Cache","" -"Manage Invoices","Gerenciar Faturas","" -"Outstanding","Pendente","" -"No Outstanding","Sem Pendências","" -"Pay Outstanding","Pagar Pendente","" -"View Outstanding","Visualizar Pendências","" -"Search invoices...","Buscar faturas...","" -"Invoice Management","Gerenciamento de Faturas","" -"All Invoices","Todas as Faturas","" -"Draft","Rascunho","" -"Return","Devolução","" -"Load More","Carregar Mais","" -"No more invoices","Sem mais faturas","" -"Failed to load invoices","Falha ao carregar faturas","" -"Apply Filter","Aplicar Filtro","" -"Reset Filter","Redefinir Filtro","" -"Filter by Status","Filtrar por Status","" -"Filter by Date","Filtrar por Data","" -"Show All","Mostrar Tudo","" -"Shift Details","Detalhes do Turno","" -"Shift ID","ID do Turno","" -"Cashier","Caixa","" -"Current Time","Hora Atual","" -"Cash Sales","Vendas em Dinheiro","" -"Card Sales","Vendas em Cartão","" -"Other Sales","Outras Vendas","" -"Total Transactions","Total de Transações","" -"Average Transaction","Transação Média","" -"Shift Summary","Resumo do Turno","" -"View Full Report","Visualizar Relatório Completo","" -"Print Report","Imprimir Relatório","" -"Export Data","Exportar Dados","" -"Quick Actions","Ações Rápidas","" -"New Sale","Nova Venda","" -"Returns","Devoluções","" -"Recent Activity","Atividade Recente","" -"No recent activity","Nenhuma atividade recente","" -"Show All Activity","Mostrar Toda Atividade","" -"Keyboard Shortcuts","Atalhos de Teclado","" -"Press F1 for help","Pressione F1 para ajuda","" -"Press Enter to search","Pressione Enter para buscar","" -"Press Esc to close","Pressione Esc para fechar","" -"Scanning...","Escaneando...","" -"Scan Complete","Escaneamento Concluído","" -"Scan Failed","Falha no Escaneamento","" -"Invalid Barcode","Código de Barras Inválido","" -"Item Scanned","Item Escaneado","" -"Multiple Results","Múltiplos Resultados","" -"Select Item","Selecionar Item","" -"Enter Quantity","Inserir Quantidade","" -"Set Price","Definir Preço","" -"Custom Price","Preço Personalizado","" -"Original Price","Preço Original","" -"New Price","Novo Preço","" -"Price Changed","Preço Alterado","" -"Discount Applied","Desconto Aplicado","" -"Offer Applied","Oferta Aplicada","" -"Coupon Applied","Cupom Aplicado","" -"Free Items Added","Itens Grátis Adicionados","" -"Bundle Items","Itens do Pacote","" -"View Bundle","Visualizar Pacote","" -"Expand Bundle","Expandir Pacote","" -"Collapse Bundle","Recolher Pacote","" -"Stock Warning","Aviso de Estoque","" -"Low Stock Warning","Aviso de Baixo Estoque","" -"Only {0} left in stock","Apenas {0} restantes em estoque","" -"Continue Anyway","Continuar Mesmo Assim","" -"Check Other Warehouses","Verificar Outros Depósitos","" -"Transfer Stock","Transferir Estoque","" -"Reserve Stock","Reservar Estoque","" -"Stock Reserved","Estoque Reservado","" -"Reservation Expired","Reserva Expirada","" -"Extend Reservation","Estender Reserva","" -"Release Reservation","Liberar Reserva","" -"Customer Account","Conta do Cliente","" -"Credit Limit","Limite de Crédito","" -"Available Credit","Crédito Disponível","" -"Credit Used","Crédito Utilizado","" -"Credit Exceeded","Crédito Excedido","" -"Requires Approval","Requer Aprovação","" -"Request Approval","Solicitar Aprovação","" -"Approval Pending","Aprovação Pendente","" -"Approved","Aprovado","" -"Rejected","Rejeitado","" -"Loyalty Points","Pontos de Fidelidade","" -"Points Balance","Saldo de Pontos","" -"Redeem Points","Resgatar Pontos","" -"Points to Redeem","Pontos para Resgate","" -"Points Value","Valor dos Pontos","" -"Points Earned","Pontos Ganhos","" -"Points Redeemed","Pontos Resgatados","" -"Split Payment","Pagamento Dividido","" -"Add Split","Adicionar Divisão","" -"Remove Split","Remover Divisão","" -"Split Amount","Valor da Divisão","" -"Remaining to Pay","Restante a Pagar","" -"Payment Complete","Pagamento Concluído","" -"Print Options","Opções de Impressão","" -"Print Preview","Visualização de Impressão","" -"Printer Settings","Configurações da Impressora","" -"Select Printer","Selecionar Impressora","" -"Default Printer","Impressora Padrão","" -"Paper Size","Tamanho do Papel","" -"Print Copies","Cópias de Impressão","" -"Include Logo","Incluir Logotipo","" -"Include QR Code","Incluir Código QR","" -"Include Barcode","Incluir Código de Barras","" -"Compact Mode","Modo Compacto","" -"Full Mode","Modo Completo","" -"Email Receipt","Enviar Comprovante por E-mail","" -"SMS Receipt","Enviar Comprovante por SMS","" -"WhatsApp Receipt","Enviar Comprovante por WhatsApp","" -"Receipt Sent","Comprovante Enviado","" -"Failed to Send","Falha ao Enviar","" -"Retry","Tentar Novamente","" -"Skip","Pular","" -"Done","Concluído","" -"Finish","Finalizar","" -"Complete Sale","Concluir Venda","" -"New Transaction","Nova Transação","" -"Continue Shopping","Continuar Comprando","" -"Start New Sale","Iniciar Nova Venda","" -"View Receipt","Visualizar Comprovante","" -"Download Receipt","Baixar Comprovante","" -"Share Receipt","Compartilhar Comprovante","" -"Copy Link","Copiar Link","" -"Link Copied","Link Copiado","" -"Invoice loaded to cart for editing","Fatura carregada no carrinho para edição","" -"Campaign","Campanha","" -"Referral Code","Código de Referência","" -"Times Used","Vezes Usado","" -"Maximum Use","Uso Máximo","" -"Are you sure you want to delete \{0}\""?""","Tem certeza que quer deletar \{0}\""?""","" -"Return Reason (optional)""","Motivo da Devolução (optional)""","" -"Return Reason <span class="text-gray-400">(optional)</span>","Motivo da Devolução <span class="text-gray-400">(optional)</span>","" -"Note: When enabled, the system will allow sales even when stock quantity is zero or negative. This is useful for handling stock sync delays or backorders. All transactions are tracked in the stock ledger.",,"" -"Status: Running","Status: Em Execução", -"Status: Stopped","Status: Parado","" -"Items Tracked: {0}","Itens Rastre.: {0}","" -"Warehouse: {0}","Depósito: {0}","" -"Last Sync: {0}","Última Sinc.: {0}","" -"Last Sync: Never","Última Sinc.: Nunca","" -"Cart subtotal BEFORE tax - used for discount calculations","Subtotal do carrinho ANTES do imposto - usado para cálculos de desconto","" -"Draft invoice deleted","Fatura rascunho excluída","" -"Failed to delete draft invoice","Falha ao excluir fatura rascunho","" -"Search sales person...","Buscar vendedor...","" -"Item Group","Grupo de Itens","" -"Mobile","Celular","" -"Clear Cache?","Limpar Cache?","" -"Clearing Cache...","Limpando Cache...","" -"Please wait while we clear your cached data","Por favor, aguarde enquanto limpamos seus dados em cache","" -"Company:","Empresa:","" -"Opened: {0}","Aberto: {0}","" -"Opened:","Aberto:","" -"POS Profile: {0}","Perfil PDV: {0}","" -"POS Profile: {0}","Perfil PDV: {0}","" -"(FREE)","(GRÁTIS)","" -"Are you sure you want to sign out of POS Next?","Tem certeza de que deseja sair do POS Next?","" -"At least {0} items required","Pelo menos {0} itens necessários","" -"Create new customer: {0}","Criar novo cliente: {0}","" -"Creating return for invoice {0}","Criando devolução para a fatura {0}","" -"Enter actual amount for {0}","Insira o valor real para {0}","" -"Exception: {0}","Exceção: {0}","" -"Expected: {0}","Esperado: {0}","" -"From {0}","De {0}","" -"Invoice - {0}","Fatura - {0}","" -"Invoice ID: {0}","ID da Fatura: {0}","" -"Invoice {0} created and sent to printer","Fatura {0} criada e enviada para a impressora","" -"Invoice {0} created but print failed","Fatura {0} criada, mas a impressão falhou","" -"Invoice {0} created successfully","Fatura {0} criada com sucesso","" -"Invoice {0} created successfully!","Fatura {0} criada com sucesso!","" -"Item: {0}","Item: {0}","" -"Maximum cart value exceeded ({0})","Valor máximo do carrinho excedido ({0})","" -"Maximum {0} items allowed for this offer","Máximo de {0} itens permitido para esta oferta","" -"Message: {0}","Mensagem: {0}","" -"Minimum cart value of {0} required","Valor mínimo do carrinho de {0} necessário","" -"No pending invoices to sync","Nenhuma fatura pendente para sincronizar","" -"Opening Balance (Optional)","Saldo de Abertura (Opcional)","" -"Over {0}","Sobra de {0}","" -"POS Profile: {0}","Perfil PDV: {0}","" -"Promotion saved successfully","Promoção salva com sucesso","" -"Remove all {0} items from cart?","Remover todos os {0} itens do carrinho?","" -"Return invoice {0} created successfully","Fatura de devolução {0} criada com sucesso","" -"Search by email: {0}","Buscar por e-mail: {0}","" -"Search by phone: {0}","Buscar por telefone: {0}","" -"Shift Open","Turno Aberto","" -"Short {0}","Falta de {0}","" -"Sign in","Entrar","" -"Sign out","Sair","" -"Signing out...","Saindo...","" -"Status: {0}","Status: {0}","" -"Switched to {0}. Stock quantities refreshed.","Mudado para {0}. Quantidades de estoque atualizadas.","" -"Technical: {0}","Técnico: {0}","" -"Timestamp: {0}","Data e Hora: {0}","" -"Title: {0}","Título: {0}","" -"Total: {0}","Total: {0}","" -"Type: {0}","Tipo: {0}","" -"Unit changed to {0}","Unidade alterada para {0}","" -"Until {0}","Até {0}","" -"User: {0}","Usuário: {0}","" -"View cart with {0} items","Visualizar carrinho com {0} itens","" -"Warehouse updated but failed to reload stock. Please refresh manually.","Depósito atualizado, mas falha ao recarregar estoque. Por favor, atualize manualmente.","" -"Welcome to POS Next!","Bem-vindo(a) ao POS Next!","" -"You have an open shift. Would you like to resume it or close it and open a new one?","Você tem um turno aberto. Gostaria de retomá-lo ou fechá-lo e abrir um novo?","" -"Your cart doesn't meet the requirements for this offer.","Seu carrinho não atende aos requisitos desta oferta.","" -"{0} ({1}) added to cart","{0} ({1}) adicionado(s) ao carrinho","" -"{0} added to cart","{0} adicionado(s) ao carrinho","" -"{0} applied successfully","{0} aplicado com sucesso","" -"{0} created and selected","{0} criado e selecionado","" -"{0} invoice(s) failed to sync","{0} fatura(s) falhou(ram) ao sincronizar","" -"{0} invoice(s) synced successfully","{0} fatura(s) sincronizada(s) com sucesso","" -"{0} invoices","{0} faturas","" -"{0} selected","{0} selecionado(s)","" -"{0} settings applied immediately","Configurações de {0} aplicadas imediatamente","" -"{0} transactions • {1}","{0} transações • {1}","" -"{0} updated successfully","{0} atualizado com sucesso","" -"{0}h {1}m","{0}h {1}m","" -"{0}m","{0}m","" -"✓ Connection successful: {0}","✓ Conexão bem-sucedida: {0}","" -"✗ Connection failed: {0}","✗ Conexão falhou: {0}","" -"Manage all your invoices in one place","Gerencie todas as suas faturas em um só lugar","" -"All ({0})","Todos ({0})","" -"Promotions","Promoções","" -"Search serial numbers...","Buscar números de série...","" -"Loading serial numbers...","Carregando números de série...","" -"No serial numbers available","Nenhum número de série disponível","" -"No serial numbers match your search","Nenhum número de série corresponde à sua busca","" -"Serial Numbers","Números de Série","" -"Cannot remove last serial","Não é possível remover o último serial","" -"Remove serial","Remover serial","" -"Serial No:","N° de Série:","" -"Click to edit serials","Clique para editar seriais","" -"Edit serials","Editar seriais","" -"serials","seriais","" -"Stock Lookup","Consulta de Estoque","" -"Search for item availability across all warehouses","Buscar disponibilidade de item em todos os depósitos","" -"Search for items across warehouses","Buscar itens em todos os depósitos","" -"Type to search items...","Digite para buscar itens...","" -"Search by item name, code, or scan barcode","Buscar por nome, código do item ou escanear código de barras","" -"No items found for \{0}\""","Nenhum item encontrado para \{0}\""","" -"Try a different search term","Tente um termo de busca diferente","" -"Search Again","Buscar Novamente","" -"Search for an item","Buscar por um item","" -"Start typing to see suggestions","Comece a digitar para ver sugestões","" -"Navigate","Navegar","" -"Enter","Enter","" -"Esc","Esc","" -"Total Available","Total Disponível","" -"in 1 warehouse","em 1 depósito","" -"in {0} warehouses","em {0} depósitos","" -"{0} reserved","{0} reservado(s)","" -"Actual Stock","Estoque Atual","" -"This item is out of stock in all warehouses","Este item está esgotado em todos os depósitos","" -"Failed to load warehouse availability","Falha ao carregar disponibilidade do depósito","" -"Close dialog","Fechar diálogo","" -"Clear search","Limpar busca","" -"Click to view availability in other warehouses","Clique para visualizar disponibilidade em outros depósitos","" -"Credit Sale Return","Devolução de Venda a Crédito","" -"This invoice was paid on account (credit sale). The return will reverse the accounts receivable balance. No cash refund will be processed.","Esta fatura foi paga a crédito (venda a prazo). A devolução reverterá o saldo de contas a receber. Nenhum reembolso em dinheiro será processado.","" -"Customer Credit:","Crédito do Cliente:","" -"This return was against a Pay on Account invoice. The accounts receivable balance has been reversed. No cash refund was processed.","Esta devolução foi contra uma fatura Paga a Prazo. O saldo de contas a receber foi revertido. Nenhum reembolso em dinheiro foi processado.","" -"Pay on Account","Pagar na Conta (a Prazo)","" -"This invoice was sold on credit. The customer owes the full amount.","Esta fatura foi vendida a crédito. O cliente deve o valor total.","" -"Partially Paid Invoice","Fatura Parcialmente Paga","" -"This invoice was partially paid. The refund will be split proportionally.","Esta fatura foi paga parcialmente. O reembolso será dividido proporcionalmente.","" -"Cash Refund:","Reembolso em Dinheiro:","" -"Credit Adjustment:","Ajuste de Crédito:","" -"Refundable Amount:","Valor a Ser Reembolsado:","" -"⚠️ Payment total must equal refundable amount","⚠️ O total do pagamento deve ser igual ao valor a ser reembolsado","" -"Return Value:","Valor de Devolução:","" -"Select Item Variant","Selecionar Variante do Item","" -"Select Unit of Measure","Selecionar Unidade de Medida","" -"Choose a variant of this item:","Escolha uma variante deste item:","" -"Select the unit of measure for this item:","Selecione a unidade de medida para este item:","" -"Loading options...","Carregando opções...","" -"Stock: {0}","Estoque: {0}","" -"This combination is not available","Esta combinação não está disponível","" -"Unit of Measure","Unidade de Medida","" -"No Variants Available","Nenhuma Variante Disponível","" -"No Options Available","Nenhuma Opção Disponível","" -"This item template {0} has no variants created yet.","Este modelo de item {0} ainda não tem variantes criadas.","" -"No additional units of measurement configured for this item.","Nenhuma unidade de medida adicional configurada para este item.","" -"To create variants:","Para criar variantes:","" -"1. Go to Item Master{0}","1. Vá para Cadastro de Itens{0}","" -"2. Click ""Make Variants"" button","2. Clique no botão ""Criar Variantes""","" -"3. Select attribute combinations","3. Selecione as combinações de atributos","" -"4. Click ""Create""","4. Clique em ""Criar""","" -"per {0}","por {0}","" -"Stock unit","Unidade de estoque","" -"1 {0} = {1} {2}","1 {0} = {1} {2}","" -"Requested quantity ({0}) exceeds available stock ({1})","Quantidade solicitada ({0}) excede o estoque disponível ({1})","" -"Offers are applied automatically when your cart meets the requirements","As ofertas são aplicadas automaticamente quando seu carrinho atende aos requisitos","" -"Applied","Aplicado","" -"APPLIED","APLICADO","" -"Waiting for requirements","Aguardando requisitos","" -"Offer applied: {0}","Oferta aplicada: {0}","" -"Offer removed: {0}. Cart no longer meets requirements.","Oferta removida: {0}. O carrinho não atende mais aos requisitos.","" -"PRICING RULE","REGRA DE PREÇO","" -"PROMO SCHEME","ESQUEMA PROMOCIONAL","" -"Applying...","Aplicando...","" -"Recent & Frequent","Recentes e Frequentes","" -"Frequent Customers","Clientes Frequentes","" -"Gross Sales","Vendas Brutas","" -"Net Sales","Vendas Líquidas","" -"Returns","Devoluções","" -"After returns","Após devoluções","" -"Net tax","Imposto líquido","" -"Net Total:","Total Líquido:","" -"{0} returns","{0} devoluções","" -"Type","Tipo","" -"Search items by name or code...","Pesquisar itens por nome ou código...","" diff --git a/scripts/migrate_translations.py b/scripts/migrate_translations.py new file mode 100644 index 00000000..f31eb77a --- /dev/null +++ b/scripts/migrate_translations.py @@ -0,0 +1,237 @@ +#!/usr/bin/env python3 +""" +Migration script: Convert CSV translations to PO format + +Usage: + python scripts/migrate_translations.py + +This script: +1. Reads existing CSV translation files from pos_next/translations/ +2. Converts them to PO format in pos_next/locale/ +3. Creates a POT template file + +After running this script, you can use standard gettext tools or: + bench compile-po-to-mo --app pos_next +""" + +import csv +import os +import re +from datetime import datetime +from pathlib import Path + +# Paths +BASE_DIR = Path(__file__).parent.parent +TRANSLATIONS_DIR = BASE_DIR / "pos_next" / "translations" +LOCALE_DIR = BASE_DIR / "pos_next" / "locale" + +# Locale mappings +LOCALE_MAP = { + "ar": {"language": "Arabic", "team": "Arabic Translation Team"}, + "pt_br": {"language": "Portuguese (Brazil)", "team": "Brazilian Portuguese Translation Team"}, + "fr": {"language": "French", "team": "French Translation Team"}, +} + + +def escape_po_string(s): + """Escape special characters for PO format.""" + if not s: + return "" + s = s.replace("\\", "\\\\") + s = s.replace('"', '\\"') + s = s.replace("\n", "\\n") + s = s.replace("\t", "\\t") + return s + + +def format_po_string(s, prefix=""): + """Format a string for PO file, handling multiline.""" + if not s: + return f'{prefix}""' + + escaped = escape_po_string(s) + + # For long strings or strings with newlines, use multiline format + if len(escaped) > 70 or "\\n" in escaped: + lines = [] + lines.append(f'{prefix}""') + # Split into chunks + chunks = escaped.split("\\n") + for i, chunk in enumerate(chunks): + if i < len(chunks) - 1: + chunk += "\\n" + if chunk: + lines.append(f'"{chunk}"') + return "\n".join(lines) + + return f'{prefix}"{escaped}"' + + +def create_po_header(locale, language, team): + """Create PO file header.""" + now = datetime.now().strftime("%Y-%m-%d %H:%M%z") + return f'''# {language} translations for POS Next. +# Copyright (C) {datetime.now().year} BrainWise +# This file is distributed under the same license as the POS Next package. +# +msgid "" +msgstr "" +"Project-Id-Version: POS Next 1.13.0\\n" +"Report-Msgid-Bugs-To: support@brainwise.me\\n" +"POT-Creation-Date: {now}\\n" +"PO-Revision-Date: {now}\\n" +"Last-Translator: \\n" +"Language-Team: {team}\\n" +"Language: {locale}\\n" +"MIME-Version: 1.0\\n" +"Content-Type: text/plain; charset=UTF-8\\n" +"Content-Transfer-Encoding: 8bit\\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\\n" + +''' + + +def create_pot_header(): + """Create POT template file header.""" + now = datetime.now().strftime("%Y-%m-%d %H:%M%z") + return f'''# SOME DESCRIPTIVE TITLE. +# Copyright (C) {datetime.now().year} BrainWise +# This file is distributed under the same license as the POS Next package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: POS Next 1.13.0\\n" +"Report-Msgid-Bugs-To: support@brainwise.me\\n" +"POT-Creation-Date: {now}\\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" + +''' + + +def read_csv_translations(csv_path): + """Read translations from CSV file.""" + translations = [] + with open(csv_path, "r", encoding="utf-8") as f: + reader = csv.reader(f) + for row in reader: + if len(row) >= 2: + source = row[0].strip() + target = row[1].strip() + context = row[2].strip() if len(row) > 2 else "" + if source: # Skip empty source strings + translations.append({ + "source": source, + "target": target, + "context": context + }) + return translations + + +def write_po_file(translations, locale, output_path): + """Write translations to PO file.""" + info = LOCALE_MAP.get(locale, {"language": locale, "team": f"{locale} Team"}) + + with open(output_path, "w", encoding="utf-8") as f: + f.write(create_po_header(locale, info["language"], info["team"])) + + for t in translations: + # Add context comment if present + if t["context"]: + f.write(f'#. {t["context"]}\n') + + # Write msgid + f.write(format_po_string(t["source"], "msgid ") + "\n") + + # Write msgstr + f.write(format_po_string(t["target"], "msgstr ") + "\n") + f.write("\n") + + print(f" Created: {output_path}") + + +def write_pot_file(translations, output_path): + """Write POT template file (no translations, just source strings).""" + with open(output_path, "w", encoding="utf-8") as f: + f.write(create_pot_header()) + + # Deduplicate sources + seen = set() + for t in translations: + if t["source"] not in seen: + seen.add(t["source"]) + + if t["context"]: + f.write(f'#. {t["context"]}\n') + + f.write(format_po_string(t["source"], "msgid ") + "\n") + f.write('msgstr ""\n') + f.write("\n") + + print(f" Created: {output_path}") + + +def main(): + print("=" * 60) + print("POS Next Translation Migration: CSV → PO/POT") + print("=" * 60) + + # Ensure locale directory exists + LOCALE_DIR.mkdir(parents=True, exist_ok=True) + print(f"\nLocale directory: {LOCALE_DIR}") + + # Find all CSV files + csv_files = list(TRANSLATIONS_DIR.glob("*.csv")) + if not csv_files: + print(f"\nNo CSV files found in {TRANSLATIONS_DIR}") + return + + print(f"\nFound {len(csv_files)} CSV file(s):") + for f in csv_files: + print(f" - {f.name}") + + # Collect all translations for POT file + all_translations = [] + + # Process each CSV file + print("\nConverting CSV to PO:") + for csv_file in csv_files: + locale = csv_file.stem # e.g., "ar" from "ar.csv" + print(f"\nProcessing {csv_file.name} ({locale})...") + + translations = read_csv_translations(csv_file) + print(f" Read {len(translations)} translations") + + all_translations.extend(translations) + + # Write PO file + po_path = LOCALE_DIR / f"{locale}.po" + write_po_file(translations, locale, po_path) + + # Write POT template + print("\nCreating POT template:") + pot_path = LOCALE_DIR / "main.pot" + write_pot_file(all_translations, pot_path) + + print("\n" + "=" * 60) + print("Migration complete!") + print("=" * 60) + print(f""" +Next steps: +1. Review the generated files in {LOCALE_DIR} +2. Run 'bench compile-po-to-mo --app pos_next' to compile MO files +3. Optionally delete the old CSV files: + rm {TRANSLATIONS_DIR}/*.csv +4. Update translations using standard PO tools (Poedit, Weblate, etc.) +""") + + +if __name__ == "__main__": + main()