mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-09-13 05:47:23 -04:00
bugfix(items, validation): reject unsafe tax names and fix payments temp table collision - Add unicode_alpha_numeric_punct rule (OSPOSRules) to allow accented/CJK chars in text fields while blocking HTML-unsafe chars (<, >) as defense-in-depth against injection - Items controller: extract validateItemFields/validateBulkUpdateFields, validate tax_names on save and bulk update using new rule; add shared validateFields helper in Secure_Controller to DRY up validation + JSON error response - Escape tax_group output in sales/quote.php and receipt_email.php views to harden output encoding at render time - Rename sales_payments_temp -> sales_report_payments_temp (Summary_report) and -> sales_search_payments_temp (Sale model) to avoid name collision between concurrently-created temp tables - AGENTS.md: document alignment rule for => columns when inserting new language keys Tests: - Add ItemsControllerTest covering postSave/bulkupdate tax_names validation - Reject <, > in tax_names on /items/save and /items/bulkupdate - Verify unicode and apostrophe-containing tax names are accepted - Cover CSV import helpers: header generation (basic, multiple locations, attributes), stock-location/attribute header builders, get_csv_file parsing (plain, BOM-prefixed, multi-row) - Validate required-header detection for import templates - Remove outdated tax name test from SalesControllerTest - Simplify Database class references in SalesControllerTest i18n: - Add tax_name_invalid translation to Items.php for 20+ locales, inserted alphabetically after tax_category in each file - Normalize quote style in ar-EG/Items.php to single quotes - Add ka/Items.php Georgian locale scaffold Signed-off-by: objecttothis <17935339+objecttothis@users.noreply.github.com>
125 lines
8.0 KiB
PHP
125 lines
8.0 KiB
PHP
<?php
|
||
|
||
return [
|
||
'add_minus' => 'زیادکردن یان کەمکردنی جەرد.',
|
||
'allow_alt_description' => 'ڕێگە بدە بە دەربارەی جێگرەوە',
|
||
'amount_entry' => 'داخڵکردنی بڕی پارە',
|
||
'bulk_edit' => 'دەستکاریکردنی بە کۆمەڵ',
|
||
'buy_price_required' => 'نرخی کڕین خانەیەکی پێویستە.',
|
||
'cannot_be_deleted' => 'نەتوانرا بابەتی هەڵبژێردراو بسڕدرێتەوە، یەکێک یان زیاتر لە بابەتە هەڵبژێردراوەکان فرۆشتنیان هەیە.',
|
||
'cannot_find_item' => 'ئایتم نەدۆزرایەوە.',
|
||
'categories' => '',
|
||
'category' => 'پۆلێن',
|
||
'category_new' => '',
|
||
'category_required' => 'پۆل خانەیەکی پێویستە.',
|
||
'change_all_to_allow_alt_desc' => 'ڕێگە بە وەسفێکی جێگرەوە بدە بۆ هەمووان.',
|
||
'change_all_to_not_allow_allow_desc' => 'ڕێگە مەدە بە وەسفی جێگرەوە بۆ هەمووان.',
|
||
'change_all_to_serialized' => 'هەمووی بگۆڕە بۆ بەزنجیرەکراو',
|
||
'change_all_to_unserialized' => 'هەمووی بگۆڕە بۆ بەزنجیرەنەکراوە',
|
||
'change_image' => 'وێنەکە بگۆڕە',
|
||
'confirm_bulk_edit' => 'ئایا دڵنیای کە دەتەوێت دەستکاری ئایتم(ەکان)ی هەڵبژێردراو بکەیت؟',
|
||
'confirm_bulk_edit_wipe_taxes' => 'هەموو زانیارییەکانی باجی ئایتم شوێنیان دەگیرێتەوە.',
|
||
'confirm_delete' => 'ئایا دڵنیای کە دەتەوێت ئایتم(ەکان)ی هەڵبژێردراو بسڕیتەوە؟',
|
||
'confirm_restore' => 'ئایا دڵنیای کە دەتەوێت ئایتم(ەکان)ی هەڵبژێردراو بگەڕێنیتەوە؟',
|
||
'cost_price' => 'نرخی جوملە',
|
||
'cost_price_number' => 'نرخی جوملە دەبێت ژمارە بێت.',
|
||
'cost_price_required' => 'نرخی جوملە خانەیەکی پێویستە.',
|
||
'count' => 'جەرد نوێ بکەوە',
|
||
'csv_import_failed' => 'هاوردەکردنی CSV سەرکەوتوو نەبوو',
|
||
'csv_import_invalid_location' => '',
|
||
'csv_import_nodata_wrongformat' => 'پەڕگەی CSV بارکراو هیچ داتایەکی نییە یان بە هەڵە فۆرمات کراوە.',
|
||
'csv_import_partially_failed' => '{0} شکستی هاوردەکردنی بابەتی لەسەر هێڵەکان هەبوو: {1}. هیچ ڕیزێک هاوردە نەکرا.',
|
||
'csv_import_success' => 'بابەتی هاوردەکردنی CSV سەرکەوتوو بوو.',
|
||
'current_quantity' => 'چەندێتی ئێستە',
|
||
'default_pack_name' => 'هەریەک',
|
||
'description' => 'دەربارە',
|
||
'details_count' => 'وردەکاری ژمارەی جەرد',
|
||
'do_nothing' => 'هیچ مەکە',
|
||
'edit' => '',
|
||
'edit_fields_you_want_to_update' => 'دەستکاری خانەی دڵخوازت بکە بۆ ئایتمی هەڵبژێردراو.',
|
||
'edit_multiple_items' => 'دەسکاریکردنی چەندین ئایتم',
|
||
'empty_upc_items' => 'ئایتمی باڕکۆدی بەتاڵ',
|
||
'error_adding_updating' => 'لە زیادکردنی/نوێکردنەوەی ئایتم هەڵە هەیە',
|
||
'error_updating_multiple' => 'لە نوێکردنەوەی ئایتم هەڵە هەیە',
|
||
'generate_barcodes' => 'دروستکردنی بارکۆدەکان',
|
||
'hsn_code' => 'ناونانی سیستەمی هاوسەنگکراو',
|
||
'image' => 'وێنە',
|
||
'import_items_csv' => 'هاوردەکردنی ئایتم لە CSV',
|
||
'info_provided_by' => 'زانیاری دراوە لەلایەن',
|
||
'inventory' => 'جەرد',
|
||
'inventory_CSV_import_quantity' => 'چەندێتی هاوردەکراو لە CSV',
|
||
'inventory_comments' => 'کۆمێنتەکان',
|
||
'inventory_data_tracking' => 'بەدواداچوون بۆ داتاکانی جەرد',
|
||
'inventory_date' => 'بەرورار',
|
||
'inventory_employee' => 'فەرمانبەر',
|
||
'inventory_in_out_quantity' => 'چەندێتی هاتوو/ڕۆیشتوو',
|
||
'inventory_remarks' => 'تێبینییەکان',
|
||
'is_deleted' => 'سڕاوەتەوە',
|
||
'is_printed' => '',
|
||
'is_serialized' => 'ئایتم ژمارەی زنجیرەیی هەیە',
|
||
'item' => 'ئایتم',
|
||
'item_id' => '',
|
||
'item_number' => 'باڕکۆد',
|
||
'item_number_duplicate' => 'ژمارەی ئایتم پێشتر لە داتابەیسدا ئامادەبووە.',
|
||
'item_number_invalid' => 'ژمارەی ئایتم پیتی ڕێگەپێنەدراوی تێدایە.',
|
||
'kit' => 'کیت',
|
||
'location' => 'شوێن',
|
||
'low_inventory_items' => 'ئایتمەکانی لە کۆگادا نەماون',
|
||
'low_sell_item' => 'ئایتمی فرۆش کەم',
|
||
'manually_editing_of_quantity' => 'دەستکاریکردنی دەستی چەندێتی',
|
||
'markup' => '',
|
||
'name' => 'ناوی ئایتم',
|
||
'name_required' => 'ناوی ئایتم خانەیەکی پێویستە.',
|
||
'new' => 'ئایتمی نوێ',
|
||
'no_description_items' => 'ئایتمەکانی دەربارە(وەسف)یان نییە',
|
||
'no_items_to_display' => 'هیچ ئایتمێک نییە بۆ نیشاندان.',
|
||
'none' => 'هیچیان',
|
||
'none_selected' => 'تۆ هیچ ئایتمێکت هەڵنەبژاردووە بۆ دەستکاریکردن',
|
||
'nonstock' => 'لە کۆگادانەنراو',
|
||
'number_information' => 'ژمارەی ئایتم',
|
||
'number_required' => 'خانەی باڕکۆد پێویستە.',
|
||
'one_or_multiple' => 'ئایتم(ەکان)',
|
||
'pack_name' => 'ناوی پاکەت',
|
||
'qty_per_pack' => 'چەندێتی(ژمارە-بڕ) بۆ هەر پاکەتێک',
|
||
'quantity' => 'بڕ',
|
||
'quantity_number' => 'چەندێتی دەبێت ژمارە بێت.',
|
||
'quantity_required' => 'چەندێتی خانەیەکی پێویستە.',
|
||
'receiving_quantity' => 'وەرگرتنی چەندێتی',
|
||
'remove_image' => 'لابردنی وێنە',
|
||
'reorder_level' => 'ئاست ڕێکخستنەوە',
|
||
'reorder_level_number' => 'ئاست ڕێکخستنەوە دەبێت ژمارە بێت.',
|
||
'reorder_level_required' => 'ئاست ڕێکخستنەوە خانەیەکی پێویستە.',
|
||
'retrive_item_info' => 'گەڕاندنەوەی زانیاری ئایتم',
|
||
'sales_tax_1' => 'باجی فرۆشتن',
|
||
'sales_tax_2' => 'باجی فرۆشتن ٢',
|
||
'search_attributes' => 'تایبەتمەندی گەڕان',
|
||
'select_image' => 'وێنە هەڵبژێرە',
|
||
'serialized_items' => 'ئایتمە بەزنجیرەکراوەکان',
|
||
'standard' => 'ستاندارد',
|
||
'stock' => 'کۆگا',
|
||
'stock_location' => 'شوێنی کۆگا',
|
||
'stock_type' => 'جۆری کۆگا',
|
||
'successful_adding' => 'بەسەرکەوتوویی ئایتمت زیادکردوە',
|
||
'successful_bulk_edit' => 'بەسەرکەوتوویی ئایتم(ەکان)ی هەڵبژێردراوت نوێ کردەوە',
|
||
'successful_deleted' => 'بەسەرکەوتووی سڕیتەوە',
|
||
'successful_updating' => 'بەسەرکەوتووی ئایتمت نوێ کردەوە',
|
||
'supplier' => 'دابینکار',
|
||
'tax_1' => 'باج ١',
|
||
'tax_2' => 'باج ٢',
|
||
'tax_3' => '',
|
||
'tax_category' => 'پۆلێنی باج',
|
||
'tax_name_invalid' => 'ناوی باج پیتی ڕێگە پێنەدراوی تێدایە.',
|
||
'tax_percent' => '',
|
||
'tax_percent_number' => 'ڕێژەی سەدی باج دەبێت بەهایەکی ژمارەیی بێت',
|
||
'tax_percent_required' => 'ڕێژەی سەدی باج خانەیەکی پێویستە.',
|
||
'tax_percents' => 'ڕێژەی سەدی(یەکان)ی باج',
|
||
'temp' => 'کاتیی',
|
||
'type' => 'جۆری ئایتم',
|
||
'unit_price' => 'نرخی وردە فرۆشی',
|
||
'unit_price_number' => 'نرخی یەکە دەبێت ژمارە بێت.',
|
||
'unit_price_required' => 'نرخی تاکفرۆشی خانەیەکی پێویستە.',
|
||
'upc_database' => 'داتابەیسی باڕکۆد',
|
||
'update' => 'نوێکردنەوەی ئایتم',
|
||
'use_inventory_menu' => 'لیستەی جەرد بەکاربهێنە',
|
||
];
|