From 6e4f1c3c58eaa3d7f6c775605195dcbb8d31c169 Mon Sep 17 00:00:00 2001 From: Naeem Ullah Date: Thu, 29 Jan 2026 18:00:57 +0500 Subject: [PATCH] Enhance transaction logs UI and fix translations Improved the transaction logs component with better table UI, pagination, loading/error states, and date filtering. Updated SCSS for responsive design and visual enhancements. Fixed translation keys and placeholders in user management and constants. Adjusted login direction logic and commented out duplicate login check in authentication service. --- src/app/authenticate/login/login.component.ts | 4 +- src/app/logging/logging.component.html | 133 ++-- src/app/services/authenticate.service.ts | 10 +- .../transaction-logs.component.html | 255 ++++---- .../transaction-logs.component.scss | 125 ++++ .../transaction-logs.component.ts | 219 +++++-- .../setup-user/setup-user.component.html | 17 +- src/app/utils/app.constants.ts | 6 +- src/assets/i18n/Arabic.json | 587 +++++++++--------- src/assets/i18n/English.json | 12 +- 10 files changed, 829 insertions(+), 539 deletions(-) diff --git a/src/app/authenticate/login/login.component.ts b/src/app/authenticate/login/login.component.ts index 3566192..ed9acb1 100644 --- a/src/app/authenticate/login/login.component.ts +++ b/src/app/authenticate/login/login.component.ts @@ -87,13 +87,13 @@ export class LoginComponent { this.storageService.setItem('direction', this.direction); } else { - this.direction = directions.RTL; + this.direction = directions.LTR; this.storageService.setItem('direction', this.direction); } if (typeof document !== 'undefined') { document.documentElement.setAttribute('dir', this.direction); document.documentElement.setAttribute('lang', - this.direction === directions.RTL ? 'ar' : 'en'); + this.direction === directions.LTR ? 'ar' : 'en'); } } diff --git a/src/app/logging/logging.component.html b/src/app/logging/logging.component.html index c9b5fe8..dc29e18 100644 --- a/src/app/logging/logging.component.html +++ b/src/app/logging/logging.component.html @@ -4,9 +4,7 @@
- +
@@ -21,7 +19,7 @@
-
+
-
@@ -87,43 +84,49 @@
-
- {{ "activityLogDetails" | translate }} +
+ {{ "activityLogDetails" | translate }} -
- +
+ -
- -
- - - - - +
+ +
- - - -
+ +
-
+
-
- {{ "noLoggingDetailsFound" | translate }} +
+ +

{{ "noLoggingDetailsFound" | translate }}

@@ -152,43 +155,59 @@ - -
- - + +
+ +
+ {{ "show" | translate }} +
+ + + {{ item.value }} {{ "entries" | translate }} + -
+ + {{ item.value }} {{ "entries" | translate }} + + +
+
+ + +
{{ "page" | translate }} {{ currentPage }} - {{ "of" | translate }} {{ totalPages() }} ({{ - filteredItems.length - }} - {{ "totalItems" | translate }}) + {{ "of" | translate }} {{ totalPages() }} + + ({{ filteredItems.length }} {{ "totalItems" | translate }}) +
+
-
@@ -198,4 +217,4 @@
-
+
\ No newline at end of file diff --git a/src/app/services/authenticate.service.ts b/src/app/services/authenticate.service.ts index fe6e386..9a082ca 100644 --- a/src/app/services/authenticate.service.ts +++ b/src/app/services/authenticate.service.ts @@ -24,11 +24,11 @@ export class AuthenticationService { constructor(private buttonManagementService: ButtonManagementService, private httpService: HttpURIService, private router: Router, private credentialService: CredentialService, private i18nService: I18NService, private storageService: StorageService) { } authenticate(uCreds: UserCredentials): Observable { - const userJson = this.storageService.getItem('user'); - if (this.storageService.getItem('user') != null) { - this.i18nService.error(ErrorMessages.ALREADY_LOGGED_IN, []); - return new Observable(); // empty - } + // const userJson = this.storageService.getItem('user'); + // if (this.storageService.getItem('user') != null) { + // this.i18nService.error(ErrorMessages.ALREADY_LOGGED_IN, []); + // return new Observable(); // empty + // } this.credentialService.setPorOrgacode(HiddenValues.POR_ORGACODE); this.credentialService.setUserId(uCreds.userId); diff --git a/src/app/transaction-logs/transaction-logs.component.html b/src/app/transaction-logs/transaction-logs.component.html index 14e59ff..b052641 100644 --- a/src/app/transaction-logs/transaction-logs.component.html +++ b/src/app/transaction-logs/transaction-logs.component.html @@ -3,9 +3,7 @@
- +
@@ -19,9 +17,7 @@
-
+
{{ "transactionLogs" | translate }}
@@ -32,169 +28,164 @@ [(ngModel)]="searchText" (ngModelChange)="onSearch($event)" placeholder="{{ 'search' | translate }}" + [disabled]="isLoading" />
+
- + [disabled]="isLoading || transactionLog.length === 0" + title="Export to Excel" + > + +
- - - - - - - - + + +
-
-

{{ "loadingTransactionLogs" | translate }}

+ +
+
+ Loading... +
+

{{ "loadingTransactionLogs" | translate }}

-
-

{{ "noTransactionLogsFound" | translate }}

+ + -
- {{ errorMessage }} + +
+ +
{{ "noTransactionLogsFound" | translate }}
-
- + +
+
- - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + +
{{ "logID" | translate }}{{ "organization" | translate }}{{ "transactionID" | translate }}{{ "drAccount" | translate }}{{ "crAccount" | translate }}{{ "drPcaGlacode" | translate }}{{ "crPcaglacode" | translate }}{{ "transactionUri" | translate }}{{ "transactionCode" | translate }}{{ "paymentMode" | translate }}{{ "date" | translate }}{{ "channel" | translate }}{{ "createdAt" | translate }}{{ "logID" | translate }}{{ "organization" | translate }}{{ "transactionID" | translate }}{{ "drAccount" | translate }}{{ "crAccount" | translate }}{{ "drPcaGlacode" | translate }}{{ "crPcaglacode" | translate }}{{ "transactionUri" | translate }}{{ "transactionCode" | translate }}{{ "paymentMode" | translate }}{{ "date" | translate }}{{ "channel" | translate }}{{ "createdAt" | translate }}
{{ log.logId }}{{ log.porOrgacode }}{{ log.transactionID }}{{ log.drMbmbkmsnumber || "-" }}{{ log.crMbmbkmsnumber || "-" }}{{ log.drPcaGlacode || "-" }}{{ log.crPcaglacode || "-" }}{{ log.transactionUri || "N/A"}}{{ log.transactionCode || "N/A"}}{{ log.ppmPymdcode }} - {{ log.sgtGntrdate | date: "MMM dd, yyyy" }} - {{ log.channelCode }} - {{ - log.createdAt | date: "MMM dd, yyyy HH:mm" - }} -
{{ log.logId || '-' }}{{ log.porOrgacode || '-' }}{{ log.transactionID || '-' }}{{ log.drMbmbkmsnumber || '-' }}{{ log.crMbmbkmsnumber || '-' }}{{ log.drPcaGlacode || '-' }}{{ log.crPcaglacode || '-' }}{{ log.transactionUri || 'N/A' }}{{ log.transactionCode || 'N/A' }}{{ log.ppmPymdcode || '-' }}{{ log.sgtGntrdate | date: 'MMM dd, yyyy' }}{{ log.channelCode || '-' }}{{ log.createdAt | date: 'MMM dd, yyyy HH:mm' }}
-
-
- - + +
+ +
+ {{ "show" | translate }} +
+ + + {{ item.value }} {{ "entries" | translate }} + + + + {{ item.value }} {{ "entries" | translate }} + + +
-
+ +
{{ "page" | translate }} {{ currentPage }} - {{ "of" | translate }} {{ totalPages() }} ({{ - totalCount - }} - {{ "totalItems" | translate }}) + {{ "of" | translate }} {{ totalPages() }} + + ({{ totalCount }} {{ "totalItems" | translate }}) +
+
@@ -211,11 +202,13 @@
- -
-

{{ "noTransactionLogsFound" | translate }}

+ + +
+ +

{{ "tableCollapsed" | translate }}

+
-
+ \ No newline at end of file diff --git a/src/app/transaction-logs/transaction-logs.component.scss b/src/app/transaction-logs/transaction-logs.component.scss index e69de29..e980abf 100644 --- a/src/app/transaction-logs/transaction-logs.component.scss +++ b/src/app/transaction-logs/transaction-logs.component.scss @@ -0,0 +1,125 @@ +:host { + display: block; +} + +.card-header { + background-color: #f8f9fa; + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.search-box { + position: relative; + min-width: 200px; + + .form-control { + padding-left: 2.5rem; + padding-right: 1rem; + } + + .search-icon { + position: absolute; + left: 1rem; + top: 50%; + transform: translateY(-50%); + color: #6c757d; + pointer-events: none; + } +} + +.table { + th { + font-weight: 600; + background-color: #f8f9fa; + border-bottom: 2px solid #dee2e6; + white-space: nowrap; + } + + td { + vertical-align: middle; + } +} + +.btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} + +.badge { + font-size: 0.75em; +} + +.alert-info { + background-color: #e7f3ff; + border-color: #b3d7ff; + color: #004085; + + .btn-close { + padding: 0.5rem; + } +} + +.spinner-border { + width: 3rem; + height: 3rem; +} + +// Responsive adjustments +@media (max-width: 768px) { + .card-header .d-flex { + flex-direction: column; + align-items: stretch !important; + gap: 0.75rem !important; + } + + .search-box { + min-width: 100%; + } + + .table-responsive { + font-size: 0.875rem; + } + + .d-flex.justify-content-between { + flex-direction: column; + gap: 1rem; + + > div { + width: 100%; + justify-content: center !important; + } + } + + .btn-group { + width: 100%; + + .btn { + flex: 1; + } + } +} + +// Loading overlay +.text-center.py-5 { + min-height: 200px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +// Hover effects +.table-hover tbody tr:hover { + background-color: rgba(0, 123, 255, 0.05); +} + +// Date filter styles +.form-control-sm { + min-width: 120px; +} + +// Active state for filter buttons +.btn-outline-primary.active { + background-color: #0d6efd; + color: white; + border-color: #0d6efd; +} \ No newline at end of file diff --git a/src/app/transaction-logs/transaction-logs.component.ts b/src/app/transaction-logs/transaction-logs.component.ts index 6ebe73d..1befd51 100644 --- a/src/app/transaction-logs/transaction-logs.component.ts +++ b/src/app/transaction-logs/transaction-logs.component.ts @@ -7,20 +7,19 @@ import { pageSizeOptions } from '../utils/app.constants'; import { NgSelectModule } from '@ng-select/ng-select'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { TableFilterPipe } from '../shared/pipes/table-filter.pipe'; -import {TransactionLog} from "../models/user" +import { TransactionLog } from "../models/user"; import { URIKey } from '../utils/uri-enums'; import { HttpParams } from '@angular/common/http'; import { HttpURIService } from '../app.http.uri.service'; +import { formatDate } from '@angular/common'; @Component({ selector: 'app-transaction-logs', templateUrl: './transaction-logs.component.html', - imports: [CommonModule, TranslateModule, NgSelectModule, FormsModule, ReactiveFormsModule, TableFilterPipe ] + styleUrls: ['./transaction-logs.component.scss'], + imports: [CommonModule, TranslateModule, NgSelectModule, FormsModule, ReactiveFormsModule, TableFilterPipe] }) export class TransactionLogsComponent implements OnInit { -onPageSizeChange(arg0: number) { -throw new Error('Method not implemented.'); -} currentPage: number = 1; totalCount: number = 0; renewalDataExpanded: boolean = true; @@ -32,75 +31,215 @@ throw new Error('Method not implemented.'); errorMessage: string = ''; searchText: string = ''; allItems: TransactionLog[] = []; - transactionDataExpanded: boolean = true - + transactionDataExpanded: boolean = true; + + // Date range properties + fromDate: string = ''; + toDate: string = ''; + maxDate: string = ''; + showDateFilters: boolean = false; + constructor( private excelExportService: ExcelExportService, private httpService: HttpURIService, ) {} - ngOnInit(): void { + // Set max date to today + this.maxDate = formatDate(new Date(), 'yyyy-MM-dd', 'en-US'); + + // Optionally set default date range (last 30 days) + const today = new Date(); + const lastMonth = new Date(); + lastMonth.setDate(today.getDate() - 30); + + this.fromDate = formatDate(lastMonth, 'yyyy-MM-dd', 'en-US'); + this.toDate = formatDate(today, 'yyyy-MM-dd', 'en-US'); + this.loadTransactionLogs(); } - loadTransactionLogs(): void { - this.isLoading = true; - const params = new HttpParams(); - this.httpService - .requestGET(URIKey.TRANSACTION_LOGS, params) - .subscribe({ - next: (res) => { - const logs = Array.isArray(res) ? res : res?.data; - this.transactionLog = logs ?? []; - this.allItems = [...this.transactionLog]; - this.totalCount = this.transactionLog.length; - - this.updatePagedItems(); - this.isLoading = false; - }, - error: (err) => { - console.error('Error fetching logging details data:', err); - this.transactionLog = []; - this.isLoading = false; + + loadTransactionLogs(): void { + this.isLoading = true; + this.errorMessage = ''; + + // Build query parameters + let params = new HttpParams(); + + // Add pagination parameters + params = params.set('page', this.currentPage.toString()); + params = params.set('limit', this.itemsPerPage.toString()); + + // Add date filters if provided + if (this.fromDate) { + params = params.set('fromDate', this.fromDate); + } + + if (this.toDate) { + params = params.set('toDate', this.toDate); + } + + // Add search filter if provided + if (this.searchText && this.searchText.trim() !== '') { + params = params.set('search', this.searchText.trim()); + } + + this.httpService + .requestGET(URIKey.TRANSACTION_LOGS, params) + .subscribe({ + next: (res) => { + const logs = Array.isArray(res) ? res : res?.data; + this.transactionLog = logs ?? []; + this.allItems = [...this.transactionLog]; + + // Get total count from response + if (res?.total !== undefined) { + this.totalCount = res.total; + } else if (res?.pagination?.total !== undefined) { + this.totalCount = res.pagination.total; + } else if (res?.meta?.total !== undefined) { + this.totalCount = res.meta.total; + } else { + this.totalCount = this.transactionLog.length; + } + + this.updatePagedItems(); + this.isLoading = false; + }, + error: (err) => { + console.error('Error fetching transaction logs:', err); + this.errorMessage = err.message || 'Failed to load transaction logs. Please try again.'; + this.transactionLog = []; + this.allItems = []; + this.totalCount = 0; + this.pagedItems = []; + this.isLoading = false; + }, + complete: () => { + this.isLoading = false; + } + }); + } + + // Date filter change handler + onDateFilterChange(): void { + // Validate date range + if (this.fromDate && this.toDate) { + const from = new Date(this.fromDate); + const to = new Date(this.toDate); + + if (from > to) { + this.errorMessage = 'From date cannot be after To date'; + return; } - }); -} + } + + // Reset to first page and reload + this.currentPage = 1; + this.loadTransactionLogs(); + } + + // Clear date filters + clearDateFilters(): void { + this.fromDate = ''; + this.toDate = ''; + this.currentPage = 1; + this.loadTransactionLogs(); + } + + // Toggle date filter visibility + toggleDateFilters(): void { + this.showDateFilters = !this.showDateFilters; + } + + // Apply default date range (Last 7 days) + applyLast7Days(): void { + const today = new Date(); + const lastWeek = new Date(); + lastWeek.setDate(today.getDate() - 7); + + this.fromDate = formatDate(lastWeek, 'yyyy-MM-dd', 'en-US'); + this.toDate = formatDate(today, 'yyyy-MM-dd', 'en-US'); + this.onDateFilterChange(); + } + + // Apply default date range (Last 30 days) + applyLast30Days(): void { + const today = new Date(); + const lastMonth = new Date(); + lastMonth.setDate(today.getDate() - 30); + + this.fromDate = formatDate(lastMonth, 'yyyy-MM-dd', 'en-US'); + this.toDate = formatDate(today, 'yyyy-MM-dd', 'en-US'); + this.onDateFilterChange(); + } + + // Apply default date range (This month) + applyThisMonth(): void { + const today = new Date(); + const firstDay = new Date(today.getFullYear(), today.getMonth(), 1); + + this.fromDate = formatDate(firstDay, 'yyyy-MM-dd', 'en-US'); + this.toDate = formatDate(today, 'yyyy-MM-dd', 'en-US'); + this.onDateFilterChange(); + } toggleTableCard(): void { - this.transactionDataExpanded = !this.transactionDataExpanded; -} + this.transactionDataExpanded = !this.transactionDataExpanded; + } + itemsPerPageChanged(): void { this.currentPage = 1; - this.updatePagedItems(); + this.loadTransactionLogs(); } + onSearch(value: string): void { - this.searchText = value; -} + this.searchText = value; + this.currentPage = 1; + + // Debounce search to avoid too many API calls + clearTimeout((this as any).searchTimeout); + (this as any).searchTimeout = setTimeout(() => { + this.loadTransactionLogs(); + }, 300); + } - totalPages(): number { - return Math.ceil(this.allItems.length / this.itemsPerPage); + totalPages(): number { + return Math.ceil(this.totalCount / this.itemsPerPage); } previousPage(): void { if (this.currentPage > 1) { this.currentPage--; - this.updatePagedItems(); + this.loadTransactionLogs(); } } + updatePagedItems(): void { + // For client-side display with table filter pipe const startIndex = (this.currentPage - 1) * this.itemsPerPage; const endIndex = startIndex + this.itemsPerPage; + + // If using server-side pagination, use transactionLog directly + // If using client-side filtering with tableFilter pipe, this might not be needed this.pagedItems = this.allItems.slice(startIndex, endIndex); } nextPage(): void { if (this.currentPage < this.totalPages()) { this.currentPage++; - this.updatePagedItems(); + this.loadTransactionLogs(); } } - exportDataInExcel() { - this.excelExportService.exportExcel(this.transactionLog, TRANSACTION_LOGS_FILE_NAME) + exportDataInExcel(): void { + // Export filtered data + const dataToExport = this.allItems.length > 0 ? this.allItems : this.transactionLog; + this.excelExportService.exportExcel(dataToExport, TRANSACTION_LOGS_FILE_NAME); + } + + // Get filtered items for display (used in template) + get filteredItems(): TransactionLog[] { + return this.allItems; } } \ No newline at end of file diff --git a/src/app/user-management/setup-user/setup-user.component.html b/src/app/user-management/setup-user/setup-user.component.html index b23b970..01baac9 100644 --- a/src/app/user-management/setup-user/setup-user.component.html +++ b/src/app/user-management/setup-user/setup-user.component.html @@ -95,7 +95,7 @@ for="userFullname" class="text-nowrap mt-2" > - {{ "name" | translate + {{ "userFullname" | translate }}*
- {{ "Name" | translate }} + {{ "userFullname" | translate }} - {{ "Email" | translate }} + {{ "email" | translate }} {{ "Role" | translate }} @@ -481,6 +479,13 @@ [clearable]="false" [dropdownPosition]="'top'" > + + {{ item.value }} {{ "entries" | translate }} + + + + {{ item.value }} {{ "entries" | translate }} +
diff --git a/src/app/utils/app.constants.ts b/src/app/utils/app.constants.ts index 3ed2633..f7e1ab5 100644 --- a/src/app/utils/app.constants.ts +++ b/src/app/utils/app.constants.ts @@ -5,9 +5,9 @@ export const CONSTANTS = { }; export const pageSizeOptions = [ - { value: 10, label: '10 items' }, - { value: 20, label: '20 items' }, - { value: 50, label: '50 items' }, + { value: 10, label: '10' }, + { value: 20, label: '20' }, + { value: 50, label: '50' }, ]; export const toDateAfterFromDateValidator: ValidatorFn = ( diff --git a/src/assets/i18n/Arabic.json b/src/assets/i18n/Arabic.json index 78c06f2..0853fee 100644 --- a/src/assets/i18n/Arabic.json +++ b/src/assets/i18n/Arabic.json @@ -1,294 +1,299 @@ { - "logintoAccount":"تسجيل الدخول إلى حسابك", - "userName":"اسم المستخدم", - "userNamePlaceHolder":"ادخل اسم المستخدم", - "password":"كلمة المرور", - "passwordPlaceHolder":"أدخل كلمة المرور", - "defaultPassword": "كلمة المرور الافتراضية", - "rememberMe":"تذكرنى", - "forgotPassword":"هل نسيت كلمة السر؟", - "passwordTooShort": "كلمة المرور قصيرة جدًا.", - "passwordsDoNotMatch": "كلمتا المرور غير متطابقتين.", - "login":"تسجيل الدخول", - "dashboardTitle":"لوحة القيادة", - "passwordChangeRequired": "تغيير كلمة المرور مطلوب", - "monthlyReqTitle":"الطلبات الشهرية", - "monthlySmsTitle":"الرسائل القصيرة الشهرية", - "Dashboard":"لوحة القيادة", - "UserManagement":"إدارةالمستخدم", - "thirdPartyRegistration":"تسجيل الطرف الثالث", - "setupUser":"مستخدم الإعداد", - "resetPassword":"إعادة تعيين كلمة مرور المستخدم", - "changePassword":"غير كلمة السر", - "Logging":"تسجيل", - "loggerManager":"مدير المسجل", - "SMSBanking":"خدمة الرسائل المصرفية", - "smsLogger":"مسجل الرسائل", - "smsLoggerDetails": "تفاصيل سجل الرسائل القصيرة", - "smsGateway":"بوابة الرسائل", - "ibUnblockUser":"إلغاء حظر مستخدم IB", - "ibSupport":"دعم IB", - "Permissions":"أذونات", - "permissions":"مدير الأذونات", - "TodayTotalRequests":"إجمالي الطلبات اليوم", - "TodayTotalSms":"مجموع الرسائل القصيرة اليوم", - "DescriptionUserPermission":"وصف", - "PermissionsUserPermission":"أذونات", - "SaveUserPermission":"يحفظ", - "UpdateUserPermission":"تحديث", - "DeleteUserPermission":"حذف", - "ViewUserPermission":"رأي", - "SelectUser":"اختر المستخدم", - "SelectAUser":"حدد مستخدمًا", - "loggingTitle":"تسجيل", - "IBChildTitle":"إلغاء حظر عن مستخدم", - "IBTitle":"تسجيل", - "loggingChildTitle":"مدير المسجل", - "fromDate":"من التاريخ", - "custId": "قيمة هوية العميل", - "toDate":"حتي اليوم", - "findLogs":"البحث عن السجلات", - "unBlockCustomer":"إلغاء حظر العميل", - "unblockUserDetails": "إلغاء حظر تفاصيل المستخدم", - "loggerManagerDetails": "تفاصيل مدير السجلات", - "fetchCustomer": "ابحث عن العملاء", - "loggingID":"معرف", - "firstName":"الاسم الأول", - "lastName": "اسم العائلة", - "cmpCuststatus":"حالة العميل", - "cmpCustlastlogin": "آخر تسجيل دخول للعميل", - "accountNonLocked":"الحساب مغلق", - "lockTime":"وقت القفل", - "accountno":"رقم الحساب", - "phoneno":"رقم الهاتف", - "loggingRequestUri":"طلب Uri", - "loggingResponseCode":"رمز الاستجابة", - "loggingRemoteIP":"بعيد IP", - "enterIdentityValue": "أدخل قيمة الهوية", - "loggingTimeTaken":"الوقت المستغرق", - "loggingDate":"تاريخ", - "loggingDateTime": "التاريخ والوقت", - "loggingMethod":"طريقة", - "DataAnalysis":"تحليل البيانات", - "Analysis":"التحليلات", - "smsBankingTitle":"خدمة الرسائل المصرفية", - "smsBankingChildTitle":"مسجل الرسائل", - "smsTrackingID":"معرف تتبع", - "smsMessage":"رسالة", - "smsNo":"رقم الهاتف", - "smsOrgaCode":"كود المنظمة", - "smsDate":"تاريخ", - "smsStatus":"حالة", - "viewThirdPartyAccounts":"عرض الحسابات", - "ThirdPartyID":"معرف الحفلة الثالثة", - "name":"اسم", - "EnterThirdPartyName":"أدخل اسم الطرف الثالث", - "Email":"البريد الإلكتروني", - "invalidEmail": "أدخل بريدًا إلكترونيًا صالحًا يحتوي على @", - "Address":"تبوك", - "phoneNumber":"رقم الهاتف", - "PhoneNumberPlaceHolder":"أدخل رقم الهاتف", - "regPhoneNo": "يجب أن يتكون رقم الهاتف من 10 أرقام", - "NewNoOfAccounts":"عدد جديد من الحسابات", - "EnterNewNumberOfAccounts":"أدخل عددًا جديدًا من الحسابات", - "TotalNoOfAccounts":"العدد الإجمالي للحسابات", - "gridSearch":"يبحث:", - "gridShow":"يعرض", - "gridEntries":"إدخالات", - "gridFilter":"منقي", - "gridNum10":"عشرة", - "gridNum25":"خمسة وعشرون", - "gridNum50":"خمسون", - "gridNum100":"مائة", - "userID":"معرف المستخدم", - "userId":"معرف المستخدم", - "userContactNumber":"أدخل رقم اتصال المستخدم", - "SelectHomeBranch":"حدد الفرع الرئيسي", - "SelectRole":"حدد الدور", - "HomeBranch":"فرع المنزل", - "Role":"دور", - "ResetPassword":"إعادة تعيين كلمة المرور", - "enterNewPassword":"أدخل كلمة مرور جديدة", - "oldPassword":"كلمة المرور القديمة", - "newPasswordStatic":"كلمة السر الجديدة", - "savePassword":"يحفظ", - "passwordPattern":"يجب أن تكون كلمة المرور أكثر من 8 أحرف وتتضمن حرفًا كبيرًا وحرفًا صغيرًا ورقمًا وحرفًا خاصًا", - "SMSGatewaySelect":"اختر صنف", - "selectIdentValueType": "حدد نوع قيمة الهوية", - "selectIdentityValue" : "رقم الهوية مطلوب", - "IdTypeSelect":"حدد تحديد النوع", - "SMSGatewaySyriatel":"سيريتل", - "SMSGatewayTwillio":"تويليو", - "SMSGatewayJazz":"جاز", - "syriatelCredentials":"أوراق اعتماد سيريتل", - "twilioCredentials":"أوراق اعتماد تويليو", - "jazzCredentials":"أوراق اعتماد جاز", - "accountSID":"الحساب SID", - "authToken":"رمز المصادقة", - "fromNumber":"من الرقم", - "senderName":"اسم المرسل", - "senderNamePlaceHolder":"أدخل اسم المرسل", - "message": "رسالة", - "template": "قالب", - "language":"اللغة", - "notificationType": "نوع الإشعار", - "sinceLastDay":"منذ اليوم الماضي", - "TodayTotalErrorRequest":"طلب إجمالي الخطأ اليوم", - "TodayTotalPendingSms":"مجموع الرسائل القصيرة المعلقة اليوم", - "selectTheDates":"الرجاء تحديد التواريخ", - "selectIdentValue":"الرجاء تحديد نوع الهوية", - "noLogsFound":"لم يتم العثور على سجلات بين هذه التواريخ", - "loginSuccess":"تم تسجيل الدخول بنجاح", - "passwordNotMatched":"كلمة السر غير متطابقة", - "passwordPatternNotMatched":"نمط كلمة المرور غير مطابق", - "successDeleted":"تم الحذف بنجاح", - "passwordNotSame":"لا يمكن أن تكون كلمة المرور هي نفسها كلمة المرور القديمة", - "SuccessSave":"تم الحفظ بنجاح", - "SuccessFind":"تجده بنجاح", - "customerAlreadyUnblocked": "العميل تم فتح حسابه مسبقًا", - "SuccessUpdate":"تم التحديث بنجاح", - "UpdateFailed":"غير قادر على التحديث", - "formInvalid":"النموذج غير صالح", - "ServerError":"خطأ في الخادم", - "fieldsMissing":"الحقول المطلوبة مفقودة أو غير صالحة", - "selectAll":" اختر الكل " , - "logoutSuccess":"تم تسجيل الخروج بنجاح", - "smsGateWayChanged":"تم تغيير بوابة الرسائل القصيرة بنجاح", - "cnic_scnic": "CNIC / SCNIC", - "poc": "POC", - "nicop": "S / NICOP", - "passport": "جواز السفر", - "Next": "التالي", - "ERR_APP_B_0001": "خطأ خادم داخلي", - "ERR_APP_B_0002": "خطأ اتصال محتمل مع الوحدة النمطية {{value1}}", - "ERR_APP_B_0003": "طلب غير صالح على وحدة {{value1}}", - "ERR_APP_B_0004": "انتهت الجلسة", - "ERR_APP_B_0005": "غير مصرح به: {{قيمة 1}}.", - "ERR_MDL_B_0001": "رمز الغرض موجود بالفعل", + "logintoAccount": "تسجيل الدخول إلى حسابك", + "userName": "اسم المستخدم", + "userNamePlaceHolder": "ادخل اسم المستخدم", + "password": "كلمة المرور", + "passwordPlaceHolder": "أدخل كلمة المرور", + "defaultPassword": "كلمة المرور الافتراضية", + "rememberMe": "تذكرنى", + "forgotPassword": "هل نسيت كلمة السر؟", + "passwordTooShort": "كلمة المرور قصيرة جدًا.", + "passwordsDoNotMatch": "كلمتا المرور غير متطابقتين.", + "login": "تسجيل الدخول", + "dashboardTitle": "لوحة القيادة", + "passwordChangeRequired": "تغيير كلمة المرور مطلوب", + "monthlyReqTitle": "الطلبات الشهرية", + "monthlySmsTitle": "الرسائل القصيرة الشهرية", + "Dashboard": "لوحة القيادة", + "UserManagement": "إدارةالمستخدم", + "thirdPartyRegistration": "تسجيل الطرف الثالث", + "setupUser": "مستخدم الإعداد", + "resetPassword": "إعادة تعيين كلمة مرور المستخدم", + "changePassword": "غير كلمة السر", + "Logging": "تسجيل", + "loggerManager": "مدير المسجل", + "SMSBanking": "خدمة الرسائل المصرفية", + "smsLogger": "مسجل الرسائل", + "smsLoggerDetails": "تفاصيل سجل الرسائل القصيرة", + "smsGateway": "بوابة الرسائل", + "ibUnblockUser": "إلغاء حظر مستخدم IB", + "ibSupport": "دعم IB", + "Permissions": "أذونات", + "permissions": "مدير الأذونات", + "TodayTotalRequests": "إجمالي الطلبات اليوم", + "TodayTotalSms": "مجموع الرسائل القصيرة اليوم", + "DescriptionUserPermission": "وصف", + "PermissionsUserPermission": "أذونات", + "SaveUserPermission": "يحفظ", + "UpdateUserPermission": "تحديث", + "DeleteUserPermission": "حذف", + "ViewUserPermission": "رأي", + "SelectUser": "اختر المستخدم", + "SelectAUser": "حدد مستخدمًا", + "loggingTitle": "تسجيل", + "IBChildTitle": "إلغاء حظر عن مستخدم", + "IBTitle": "تسجيل", + "loggingChildTitle": "مدير المسجل", + "fromDate": "من التاريخ", + "custId": "قيمة هوية العميل", + "toDate": "حتي اليوم", + "findLogs": "البحث عن السجلات", + "unBlockCustomer": "إلغاء حظر العميل", + "unblockUserDetails": "إلغاء حظر تفاصيل المستخدم", + "loggerManagerDetails": "تفاصيل مدير السجلات", + "fetchCustomer": "ابحث عن العملاء", + "loggingID": "معرف", + "firstName": "الاسم الأول", + "lastName": "اسم العائلة", + "cmpCuststatus": "حالة العميل", + "cmpCustlastlogin": "آخر تسجيل دخول للعميل", + "accountNonLocked": "الحساب مغلق", + "lockTime": "وقت القفل", + "accountno": "رقم الحساب", + "phoneno": "رقم الهاتف", + "loggingRequestUri": "طلب Uri", + "loggingResponseCode": "رمز الاستجابة", + "loggingRemoteIP": "بعيد IP", + "enterIdentityValue": "أدخل قيمة الهوية", + "loggingTimeTaken": "الوقت المستغرق", + "loggingDate": "تاريخ", + "loggingDateTime": "التاريخ والوقت", + "loggingMethod": "طريقة", + "DataAnalysis": "تحليل البيانات", + "Analysis": "التحليلات", + "smsBankingTitle": "خدمة الرسائل المصرفية", + "smsBankingChildTitle": "مسجل الرسائل", + "smsTrackingID": "معرف تتبع", + "smsMessage": "رسالة", + "smsNo": "رقم الهاتف", + "smsOrgaCode": "كود المنظمة", + "smsDate": "تاريخ", + "smsStatus": "حالة", + "viewThirdPartyAccounts": "عرض الحسابات", + "ThirdPartyID": "معرف الحفلة الثالثة", + "name": "اسم", + "EnterThirdPartyName": "أدخل اسم الطرف الثالث", + "email": "البريد الإلكتروني", + "invalidEmail": "أدخل بريدًا إلكترونيًا صالحًا يحتوي على @", + "Address": "تبوك", + "phoneNumber": "رقم الهاتف", + "PhoneNumberPlaceHolder": "أدخل رقم الهاتف", + "regPhoneNo": "يجب أن يتكون رقم الهاتف من 10 أرقام", + "NewNoOfAccounts": "عدد جديد من الحسابات", + "EnterNewNumberOfAccounts": "أدخل عددًا جديدًا من الحسابات", + "TotalNoOfAccounts": "العدد الإجمالي للحسابات", + "gridSearch": "يبحث:", + "gridShow": "يعرض", + "gridEntries": "إدخالات", + "gridFilter": "منقي", + "gridNum10": "عشرة", + "gridNum25": "خمسة وعشرون", + "gridNum50": "خمسون", + "gridNum100": "مائة", + "userID": "معرف المستخدم", + "userId": "معرف المستخدم", + "userContactNumber": "أدخل رقم اتصال المستخدم", + "SelectHomeBranch": "حدد الفرع الرئيسي", + "SelectRole": "حدد الدور", + "HomeBranch": "فرع المنزل", + "Role": "دور", + "ResetPassword": "إعادة تعيين كلمة المرور", + "enterNewPassword": "أدخل كلمة مرور جديدة", + "oldPassword": "كلمة المرور القديمة", + "newPasswordStatic": "كلمة السر الجديدة", + "savePassword": "يحفظ", + "passwordPattern": "يجب أن تكون كلمة المرور أكثر من 8 أحرف وتتضمن حرفًا كبيرًا وحرفًا صغيرًا ورقمًا وحرفًا خاصًا", + "SMSGatewaySelect": "اختر صنف", + "selectIdentValueType": "حدد نوع قيمة الهوية", + "selectIdentityValue": "رقم الهوية مطلوب", + "IdTypeSelect": "حدد تحديد النوع", + "SMSGatewaySyriatel": "سيريتل", + "SMSGatewayTwillio": "تويليو", + "SMSGatewayJazz": "جاز", + "syriatelCredentials": "أوراق اعتماد سيريتل", + "twilioCredentials": "أوراق اعتماد تويليو", + "jazzCredentials": "أوراق اعتماد جاز", + "accountSID": "الحساب SID", + "authToken": "رمز المصادقة", + "fromNumber": "من الرقم", + "senderName": "اسم المرسل", + "senderNamePlaceHolder": "أدخل اسم المرسل", + "message": "رسالة", + "template": "قالب", + "language": "اللغة", + "notificationType": "نوع الإشعار", + "sinceLastDay": "منذ اليوم الماضي", + "TodayTotalErrorRequest": "طلب إجمالي الخطأ اليوم", + "TodayTotalPendingSms": "مجموع الرسائل القصيرة المعلقة اليوم", + "selectTheDates": "الرجاء تحديد التواريخ", + "selectIdentValue": "الرجاء تحديد نوع الهوية", + "noLogsFound": "لم يتم العثور على سجلات بين هذه التواريخ", + "loginSuccess": "تم تسجيل الدخول بنجاح", + "passwordNotMatched": "كلمة السر غير متطابقة", + "passwordPatternNotMatched": "نمط كلمة المرور غير مطابق", + "successDeleted": "تم الحذف بنجاح", + "passwordNotSame": "لا يمكن أن تكون كلمة المرور هي نفسها كلمة المرور القديمة", + "SuccessSave": "تم الحفظ بنجاح", + "SuccessFind": "تجده بنجاح", + "customerAlreadyUnblocked": "العميل تم فتح حسابه مسبقًا", + "SuccessUpdate": "تم التحديث بنجاح", + "UpdateFailed": "غير قادر على التحديث", + "formInvalid": "النموذج غير صالح", + "ServerError": "خطأ في الخادم", + "fieldsMissing": "الحقول المطلوبة مفقودة أو غير صالحة", + "selectAll": " اختر الكل ", + "logoutSuccess": "تم تسجيل الخروج بنجاح", + "smsGateWayChanged": "تم تغيير بوابة الرسائل القصيرة بنجاح", + "cnic_scnic": "CNIC / SCNIC", + "poc": "POC", + "nicop": "S / NICOP", + "passport": "جواز السفر", + "Next": "التالي", + "ERR_APP_B_0001": "خطأ خادم داخلي", + "ERR_APP_B_0002": "خطأ اتصال محتمل مع الوحدة النمطية {{value1}}", + "ERR_APP_B_0003": "طلب غير صالح على وحدة {{value1}}", + "ERR_APP_B_0004": "انتهت الجلسة", + "ERR_APP_B_0005": "غير مصرح به: {{قيمة 1}}.", + "ERR_MDL_B_0001": "رمز الغرض موجود بالفعل", - "feedbackSetup": "ردود الفعل الإعداد", - "credentials": "أوراق اعتماد", - "credentialsTitle": "أوراق اعتماد ردود الفعل", - "confirmPassword": "تأكيد كلمة المرور", - "passwordPlaceholder": "أدخل كلمة المرور", - "confirmPasswordPlaceholder": "أدخل تأكيد كلمة المرور", - "newPasswordPlaceholder": "أدخل كلمة مرور جديدة", - "fieldRequired": "الخانة مطلوبة", - "emailLabel": "البريد الإلكتروني", - "emailRequiredError": "البريد الإلكتروني مطلوب.", - "invalidEmailFormatError": "تنسيق البريد الإلكتروني غير صالح.", - "passNotMatch": "كلمة السر غير متطابقة", + "feedbackSetup": "ردود الفعل الإعداد", + "credentials": "أوراق اعتماد", + "credentialsTitle": "أوراق اعتماد ردود الفعل", + "confirmPassword": "تأكيد كلمة المرور", + "passwordPlaceholder": "أدخل كلمة المرور", + "confirmPasswordPlaceholder": "أدخل تأكيد كلمة المرور", + "newPasswordPlaceholder": "أدخل كلمة مرور جديدة", + "fieldRequired": "الخانة مطلوبة", + "emailLabel": "البريد الإلكتروني", + "emailRequiredError": "البريد الإلكتروني مطلوب.", + "invalidEmailFormatError": "تنسيق البريد الإلكتروني غير صالح.", + "passNotMatch": "كلمة السر غير متطابقة", - - "POR_ORGACODE": "المصرف", - "purposeSetup": "أضف غرض المعاملة", - "purpcodeLabel": "كود الغرض", - "purpdescLabel": "وصف الغرض", - "purpcodePlaceholder": "أدخل رمز الغرض", - "purpdescPlaceholder": "أدخل وصف الغرض", - "transactionDetails": "تفاصيل المعاملة", - "lengthExceed":" الطول تجاوز ", - "transactionLogs": "سجلات المعاملات", - "loadingTransactionLogs": "جاري تحميل سجلات المعاملات...", - "noTransactionLogsFound": "لم يتم العثور على سجلات معاملات.", - "noThirdPartyRegFound":"لم يتم العثور على تفاصيل تسجيل الطرف الثالث", - "logID": "معرف السجل", - "organization": "المنظمة", - "transactionID": "معرف المعاملة", - "drAccount": "حساب المدين", - "crAccount": "حساب الدائن", - "paymentMode": "وسيلة الدفع", - "channel": "القناة", - "createdAt": "تم الإنشاء في", - "refresh": "تحديث", - "loading": "جاري التحميل", - "invalidField": "ادخال غير صحيح", - "action": "اجراء", - "confirmDelete":"هل أنت متأكد أنك تريد حذف؟", - "confirmSave":"هل أنت متأكد أنك تريد الحفظ؟", - "2-stepAppPassword": "أدخل التحقق بخطوتين الذي تم إنشاؤه - كلمة مرور التطبيق", - "english": "إنجليزي", - "arabic": "عربي", - "userNameRequired" : "اسم المستخدم مطلوب", - "userNamePattterenError": "يُسمح فقط بالأحرف الصغيرة والأرقام", - "PasswordRequired": "كلمة المرور مطلوبة", - "copyRightsReserved": "جميع الحقوق محفوظة © {{currentYearLong}} لشركة MFSYS Technologies.", - "versionAndBuildNumber": "الإصدار {{versionNumber}} البناء {{buildNumber}}", - "versionBuildDate": "+ تاريخ البناء {{date}}", - "dashboard":"لوحة القيادة", - "date" : "تاريخ", - "logout": "تسجيل الخروج", - "save": "يحفظ", - "update": "تحديث", - "cancel": "يلغي", - "thirdPartyRegistrationDetails": "تفاصيل تسجيل الطرف الثالث", - "SetupUserDetails": "إعداد تفاصيل المستخدم", - "search": "يبحث", - "thirdPartyNamePlaceholder": "أدخل اسم الطرف الثالث", - "phoneNumberPlaceholder": "أدخل رقم الهاتف", - "newNoOfAccountsPlaceholder": "أدخل عدد الحسابات الجديد", - "page": "صفحة", - "of": "ل", - "totalItems": "السجلات", - "record": "سِجِلّ", - "previous": "سابق", - "next": "التالي", - "LOGIN_SUCCESSFULLY":"تم تسجيل الدخول بنجاح", - "RESET_PASSWORD_SUCCESS": "تمت إعادة تعيين كلمة المرور بنجاح", - "CHANGE_PASSWORD_SUCCESS": "تم تغيير كلمة المرور بنجاح", - "ALREADY_LOGGED_IN": "المستخدم مسجل دخوله بالفعل", - "ACCESS_DENIED" : "تم الرفض", - "INTERNAL_SERVER_ERROR": "خطأ في الخادم الداخلي", - "CONNECTION_ERROR": "خطأ في الاتصال", - "BAD_REQUEST": "اقتراح غير جيد", - "FORBIDDEN_REQUEST": "طلب ممنوع", - "UNAUTHORIZED_REQUEST": "طلب غير مصرح به", - "edit": "يحرر", - "delete": "يمسح", - "deleteUser": "حذف حساب المستخدم", - "permissionManagement": "إدارة الأذونات", - "userCode": "مستخدم", - "choose" : "يختار", - "allow": "يسمح", - "toDateInvalidError": "يجب أن يكون تاريخ اليوم أكبر من أو يساوي تاريخ البداية", - "noLoggingDetailsFound": "لم يتم العثور على تفاصيل التسجيل", - "noUserDetailsFound": "لم يتم العثور على تفاصيل المستخدم", - "ERR_SEC_0001": "البريد الإلكتروني موجود بالفعل", - "ERR_SEC_0002": "اسم المستخدم موجود بالفعل", - "ERR_SEC_0003": "كلمة المرور القديمة غير صحيحة", - "ERR_SEC_0004": "اسم المستخدم أو كلمة المرور غير صحيحة", - "ERR_SEC_0005": "المستخدم غير موجود", - "ERR_SEC_0006": "كلمة المرور التي تم إدخالها غير صحيحة", - "toDateGreaterThanToday": "يجب أن يكون التاريخ الحالي أقل من التاريخ الحالي", - "fromDateGreaterThanToday": "يجب أن يكون تاريخ البدء أقل من التاريخ الحالي", - "userIdMinLength": "يجب أن يكون معرف المستخدم مكوّنًا من 5 أحرف على الأقل", - "nameMinLength": "يجب أن يكون الاسم مكوّنًا من 5 أحرف على الأقل", - "emptySpaceRestriction": "المسافات الفارغة غير مسموح بها", - "USER_CREATED_SUCCESS": "تم إنشاء المستخدم", - "USER_DELETE_SUCCESS": "تم حذف المستخدم", - "SAVED_SUCCESSFULLY": "تم الحفظ بنجاح", - "activityLogs": "سجلات النشاط", - "activityLogDetails": "تفاصيل سجل النشاط", - "resetPasswordButton": "إعادة تعيين كلمة المرور", - "dateTime": "التاريخ والوقت", - "responseCode": "رمز الاستجابة", - "remoteIp": "IP البعيد", - "requestBody": "هيئة الطلب", - "requestUri": "طلب URI", - "method": "طريقة", - "id": "بطاقة تعريف", - - "logId": "معرف السجل", - "porOrgacode": "رمز المنظمة", - "drMbmbkmsnumber": "رقم الحساب المدين", - "crMbmbkmsnumber": "رقم حساب الائتمان", - "ppmPymdcode": "رمز الدفع", - "sgtGntrdate": "تاريخ المعاملة", - "sgtGntrcreateat": "تاريخ الإنشاء", - "updatedAt": "تم التحديث في", - "crPcaglacode": "حساب CR GL", - "drPcaGlacode": "حساب DR GL", - "transactionUri": "معرّف المعاملة", - "transactionCode": "رمز المعاملة", - "channelCode": "رمز القناة" -} \ No newline at end of file + "POR_ORGACODE": "المصرف", + "purposeSetup": "أضف غرض المعاملة", + "purpcodeLabel": "كود الغرض", + "purpdescLabel": "وصف الغرض", + "purpcodePlaceholder": "أدخل رمز الغرض", + "purpdescPlaceholder": "أدخل وصف الغرض", + "transactionDetails": "تفاصيل المعاملة", + "lengthExceed": " الطول تجاوز ", + "transactionLogs": "سجلات المعاملات", + "loadingTransactionLogs": "جاري تحميل سجلات المعاملات...", + "noTransactionLogsFound": "لم يتم العثور على سجلات معاملات.", + "noThirdPartyRegFound": "لم يتم العثور على تفاصيل تسجيل الطرف الثالث", + "logID": "معرف السجل", + "organization": "المنظمة", + "transactionID": "معرف المعاملة", + "drAccount": "حساب المدين", + "crAccount": "حساب الدائن", + "paymentMode": "وسيلة الدفع", + "channel": "القناة", + "createdAt": "تم الإنشاء في", + "refresh": "تحديث", + "loading": "جاري التحميل", + "invalidField": "ادخال غير صحيح", + "action": "اجراء", + "confirmDelete": "هل أنت متأكد أنك تريد حذف؟", + "confirmSave": "هل أنت متأكد أنك تريد الحفظ؟", + "2-stepAppPassword": "أدخل التحقق بخطوتين الذي تم إنشاؤه - كلمة مرور التطبيق", + "english": "إنجليزي", + "arabic": "عربي", + "userNameRequired": "اسم المستخدم مطلوب", + "userNamePattterenError": "يُسمح فقط بالأحرف الصغيرة والأرقام", + "PasswordRequired": "كلمة المرور مطلوبة", + "copyRightsReserved": "جميع الحقوق محفوظة © {{currentYearLong}} لشركة MFSYS Technologies.", + "versionAndBuildNumber": "الإصدار {{versionNumber}} البناء {{buildNumber}}", + "versionBuildDate": "+ تاريخ البناء {{date}}", + "dashboard": "لوحة القيادة", + "date": "تاريخ", + "logout": "تسجيل الخروج", + "save": "يحفظ", + "update": "تحديث", + "cancel": "يلغي", + "thirdPartyRegistrationDetails": "تفاصيل تسجيل الطرف الثالث", + "SetupUserDetails": "إعداد تفاصيل المستخدم", + "search": "يبحث", + "thirdPartyNamePlaceholder": "أدخل اسم الطرف الثالث", + "phoneNumberPlaceholder": "أدخل رقم الهاتف", + "newNoOfAccountsPlaceholder": "أدخل عدد الحسابات الجديد", + "page": "صفحة", + "of": "ل", + "totalItems": "السجلات", + "record": "سِجِلّ", + "previous": "سابق", + "next": "التالي", + "LOGIN_SUCCESSFULLY": "تم تسجيل الدخول بنجاح", + "RESET_PASSWORD_SUCCESS": "تمت إعادة تعيين كلمة المرور بنجاح", + "CHANGE_PASSWORD_SUCCESS": "تم تغيير كلمة المرور بنجاح", + "ALREADY_LOGGED_IN": "المستخدم مسجل دخوله بالفعل", + "ACCESS_DENIED": "تم الرفض", + "INTERNAL_SERVER_ERROR": "خطأ في الخادم الداخلي", + "CONNECTION_ERROR": "خطأ في الاتصال", + "BAD_REQUEST": "اقتراح غير جيد", + "FORBIDDEN_REQUEST": "طلب ممنوع", + "UNAUTHORIZED_REQUEST": "طلب غير مصرح به", + "edit": "يحرر", + "delete": "يمسح", + "deleteUser": "حذف حساب المستخدم", + "permissionManagement": "إدارة الأذونات", + "userCode": "مستخدم", + "choose": "يختار", + "allow": "يسمح", + "toDateInvalidError": "يجب أن يكون تاريخ اليوم أكبر من أو يساوي تاريخ البداية", + "noLoggingDetailsFound": "لم يتم العثور على تفاصيل التسجيل", + "noUserDetailsFound": "لم يتم العثور على تفاصيل المستخدم", + "ERR_SEC_0001": "البريد الإلكتروني موجود بالفعل", + "ERR_SEC_0002": "اسم المستخدم موجود بالفعل", + "ERR_SEC_0003": "كلمة المرور القديمة غير صحيحة", + "ERR_SEC_0004": "اسم المستخدم أو كلمة المرور غير صحيحة", + "ERR_SEC_0005": "المستخدم غير موجود", + "ERR_SEC_0006": "كلمة المرور التي تم إدخالها غير صحيحة", + "toDateGreaterThanToday": "يجب أن يكون التاريخ الحالي أقل من التاريخ الحالي", + "fromDateGreaterThanToday": "يجب أن يكون تاريخ البدء أقل من التاريخ الحالي", + "userIdMinLength": "يجب أن يكون معرف المستخدم مكوّنًا من 5 أحرف على الأقل", + "nameMinLength": "يجب أن يكون الاسم مكوّنًا من 5 أحرف على الأقل", + "emptySpaceRestriction": "المسافات الفارغة غير مسموح بها", + "USER_CREATED_SUCCESS": "تم إنشاء المستخدم", + "USER_DELETE_SUCCESS": "تم حذف المستخدم", + "SAVED_SUCCESSFULLY": "تم الحفظ بنجاح", + "activityLogs": "سجلات النشاط", + "activityLogDetails": "تفاصيل سجل النشاط", + "resetPasswordButton": "إعادة تعيين كلمة المرور", + "dateTime": "التاريخ والوقت", + "responseCode": "رمز الاستجابة", + "remoteIp": "IP البعيد", + "requestBody": "هيئة الطلب", + "requestUri": "طلب URI", + "method": "طريقة", + "id": "بطاقة تعريف", + "logId": "معرف السجل", + "porOrgacode": "رمز المنظمة", + "drMbmbkmsnumber": "رقم الحساب المدين", + "crMbmbkmsnumber": "رقم حساب الائتمان", + "ppmPymdcode": "رمز الدفع", + "sgtGntrdate": "تاريخ المعاملة", + "sgtGntrcreateat": "تاريخ الإنشاء", + "updatedAt": "تم التحديث في", + "crPcaglacode": "حساب CR GL", + "drPcaGlacode": "حساب DR GL", + "transactionUri": "معرّف المعاملة", + "transactionCode": "رمز المعاملة", + "channelCode": "رمز القناة", + "userFullname": "الاسم الكامل", + "show": "عرض", + "tableCollapsed": "الجدول مطوي", + "showTable": "عرض الجدول", + "collapse": "يطوي", + "expand": "توسيع", + "entries": "إدخالات" +} diff --git a/src/assets/i18n/English.json b/src/assets/i18n/English.json index 4d04e43..7965341 100644 --- a/src/assets/i18n/English.json +++ b/src/assets/i18n/English.json @@ -83,7 +83,6 @@ "ThirdPartyID":"Third Party ID", "name":"Name", "EnterThirdPartyName":"Enter Third Party Name", - "Email":"Email", "email":"Email", "Address":"Address", "phoneNumber":"Phone Number", @@ -166,7 +165,6 @@ "ERR_APP_B_0004":"Session timed out", "ERR_APP_B_0005":"Unauthorized: {{value1}}.", "ERR_MDL_B_0001": "Purpose Code already exists", - "feedbackSetup": "Feedback Setup", "credentials": "Credentials", "credentialsTitle": "Feedback Credentials Setup", @@ -292,6 +290,12 @@ "sgtGntrdate": "Transaction Date", "sgtGntrcreateat": "Creation Date", "updatedAt": "Updated At", - - "channelCode": "Channel Code" + "channelCode": "Channel Code", + "userFullname" : "Full Name", + "show": "Show", + "entries": "entries", + "tableCollapsed": "Table collapsed", + "showTable": "Show Table", + "collapse": "Collapse", + "expand": "Expand" } \ No newline at end of file