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
12 KiB
PHP
125 lines
12 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' => 'ពន្ធនៃការលក់ 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' => 'ពន្ធ 1',
|
|
'tax_2' => 'ពន្ធ 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' => 'ប្រើប្រាស់បញ្ជីទំនិញ',
|
|
];
|