diff --git a/docs/localization-guide.md b/docs/localization-guide.md index 58cfe489..f4ea1bd5 100644 --- a/docs/localization-guide.md +++ b/docs/localization-guide.md @@ -20,9 +20,36 @@ After running `merge.sh` (see `setup-guide.md`), each language's files are at: └── catalog.json # wording for Purposes and Elements created in this deployment ``` -`` is one of: `en`, `hi`, `as`, `bn`, `brx`, `doi`, `gu`, `kn`, `ks`, -`kok`, `mai`, `ml`, `mni`, `mr`, `ne`, `or`, `pa`, `sa`, `sat`, `sd`, `ta`, -`te`, `ur`. +Use this table to map the languages. + +| Code | Language | Native name | +|------|----------|-------------| +| `en` | English | English | +| `hi` | Hindi | हिन्दी | +| `as` | Assamese | অসমীয়া | +| `bn` | Bengali | বাংলা | +| `brx` | Bodo | बड़ो | +| `doi` | Dogri | डोगरी | +| `gu` | Gujarati | ગુજરાતી | +| `kn` | Kannada | ಕನ್ನಡ | +| `ks` | Kashmiri | کٲشُر | +| `kok` | Konkani | कोंकणी | +| `mai` | Maithili | मैथिली | +| `ml` | Malayalam | മലയാളം | +| `mni` | Manipuri (Meitei) | মৈতৈলোন্ | +| `mr` | Marathi | मराठी | +| `ne` | Nepali | नेपाली | +| `or` | Odia | ଓଡ଼ିଆ | +| `pa` | Punjabi | ਪੰਜਾਬੀ | +| `sa` | Sanskrit | संस्कृतम् | +| `sat` | Santali | ᱥᱟᱱᱛᱟᱲᱤ | +| `sd` | Sindhi | سنڌي | +| `ta` | Tamil | தமிழ் | +| `te` | Telugu | తెలుగు | +| `ur` | Urdu | اردو | + +This is the same list the portal's language switcher uses +(`public/i18n/meta.json`) These are plain JSON files served directly by the Identity Server — editing one in place takes effect immediately, with no server restart. If a browser diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/as/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/as/common.json index 2cd87061..75dc7949 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/as/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/as/common.json @@ -24,13 +24,13 @@ "ariaLabel": "প্ৰাথমিক নেভিগেচন", "dashboard": "ডেছব’ৰ্ড", "consent": "সন্মতি", - "allConsents": "সকলো সন্মতি", - "pendingConsents": "বাকী থকা সন্মতিসমূহ", + "allConsents": "মোৰ সন্মতিসমূহ", + "pendingConsents": "মোৰ বাকী থকা সন্মতিসমূহ", "catalog": "সংজ্ঞাসমূহ", "purposes": "উদ্দেশ্যসমূহ", "elements": "উপাদানসমূহ", "administration": "প্ৰশাসন", - "adminConsents": "সন্মতিসমূহ", + "adminConsents": "সকলো সন্মতি", "nominations": "মনোনয়নসমূহ", "nomineeActivation": "মনোনীত ব্যক্তি সক্ৰিয়কৰণ", "myComplaints": "মোৰ অভিযোগসমূহ", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "আপোনাৰ সকলো সন্মতি প্ৰকাৰ অনুসৰি গোট কৰা হৈছে", "noTypes": "এতিয়ালৈকে কোনো সন্মতিৰ প্ৰকাৰ উপলব্ধ নাই।", "viewPending": "সকলো বাকী থকা সন্মতি চাওক", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "সেৱা অনুসৰি সন্মতিৰ বিভাজন", + "serviceBreakdownSubtitle": "আপোনাৰ সকলো সন্মতি অনুৰোধ কৰা সেৱা অনুসৰি গোট কৰা হৈছে।", + "noServices": "এতিয়ালৈকে কোনো সেৱা উপলব্ধ নহয়।" }, "adminConsents": { "title": "সন্মতিসমূহ", @@ -87,9 +87,10 @@ "groupIds": "গোট আইডি", "commaSeparatedUsers": "একাধিক ব্যৱহাৰকাৰী আইডিক কমাৰ সৈতে পৃথক কৰক", "active": "সক্ৰিয় ফিল্টাৰ", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "সেৱা", + "removeConsentIdForState": "ৰাজ্যিক ফিল্টাৰ ব্যৱহাৰ কৰিবলৈ সন্মতি আইডি ফিল্টাৰটো আঁতৰাওক।", + "propertyFilterLabel": "সন্মতিৰ সম্পত্তি", + "removeConsentIdForSubject": "ইউজাৰ আইডি ফিল্টাৰ ব্যৱহাৰ কৰিবলৈ কনছেণ্ট আইডি ফিল্টাৰটো আঁতৰাওক।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ইভেণ্টৰ প্ৰকাৰ", "date": "তাৰিখ", "time": "সময়", - "state": "State" + "state": "ৰাজ্য" }, "lifecycle": { "tableAriaLabel": "সন্মতিৰ জীৱনচক্ৰ", @@ -161,13 +162,14 @@ "required": "প্ৰয়োজনীয়", "optional": "ঐচ্ছিক" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "সেৱা", + "elementCount": "{{count}} উপাদানসমূহ", + "elementCount_one": "{{count}} উপাদান", + "elementCount_other": "{{count}} উপাদানসমূহ", + "noAuthorizations": "এই সন্মতিৰ বাবে কোনো অনুমোদন লিপিবদ্ধ কৰা হোৱা নাই।", + "noElements": "এই উদ্দেশ্যৰ সৈতে কোনো উপাদান জড়িত নহয়।", + "noPurposes": "এই সন্মতিৰ সৈতে কোনো উদ্দেশ্য জড়িত নাই।", + "noProperties": "এই সন্মতিৰ সৈতে কোনো ধৰ্ম-সম্পত্তি জড়িত নাথাকে।" }, "actions": { "view": "চাওক", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} ত {{elementLabel}} ৰ বাবে অনুমতি সলনি কৰক", "loading": "সন্মতিৰ বিৱৰণ ল'ড হৈ আছে...", "noMandatory": "এই সন্মতিৰ বাবে কোনো বাধ্যতামূলক প্ৰয়োজনীয়তা নাই।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "অনুমোদন জনোৱা হ'ল", + "message": "আপুনি নিশ্চিতনে যে আপুনি এই সন্মতিটো অনুমোদন কৰিব বিচাৰে?", + "note": "এই সন্মতিৰ দ্বাৰা অনুৰোধ কৰা প্ৰতিটো উদ্দেশ্য আৰু উপাদানৰ বাবে অনুদান অনুমোদন কৰা হৈছে।" }, "rejection": { "title": "প্ৰত্যাখ্যান নিশ্চিত কৰক", @@ -240,8 +242,8 @@ "endDateAriaLabel": "সমাপ্তিৰ তাৰিখৰ ফিল্টাৰ", "clear": "সকলো মচি পেলাওক", "clearAriaLabel": "সকলো ফিল্টাৰ মচি পেলাওক", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "সেৱা অনুসৰি সন্ধান কৰক", + "state": "ৰাজ্য" }, "messages": { "loading": "সন্মতিসমূহ ল'ড হৈ আছে...", @@ -267,8 +269,8 @@ "updated": "আপডেট কৰা হৈছে", "expiration": "ম্যাদ", "actions": "কাৰ্যসমূহ", - "service": "Service", - "state": "State" + "service": "সেৱা", + "state": "ৰাজ্য" } } }, @@ -292,10 +294,10 @@ "view": "চাওক", "viewElement": "{{name}} চাওক", "viewPurpose": "{{name}} চাওক", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "সংস্কৰণ যোগ কৰক", + "reset": "পুনৰুদ্ধাৰ কৰক", + "search": "অনুসন্ধান কৰক", + "setLatest": "শেহতীয়া হিচাপে ছেট কৰক" }, "fields": { "actions": "কাৰ্যসমূহ", @@ -326,7 +328,7 @@ "schema": "স্কিমা", "type": "প্ৰকাৰ", "version": "সংস্কৰণ", - "latestVersion": "Latest version" + "latestVersion": "শেহতীয়া সংস্কৰণ" }, "help": { "commaSeparatedGroups": "একাধিক গোট আইডিক কমাৰ সৈতে পৃথক কৰক", @@ -372,22 +374,22 @@ "nameLabel": "নাম", "nameRequired": "নাম প্ৰয়োজনীয়।", "displayNameLabel": "প্ৰদৰ্শনৰ নাম", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "এটা অনন্য মেচিন চিনাক্তকৰণ, উদাহৰণস্বৰূপে \"ইমেইল-এড্ৰেছ\"।", + "submitting": "সৃষ্টি কৰি থকা হৈছে...", + "duplicateName": "{{name}} নামৰ এটা উপাদান ইতিমধ্যে আছে। এটা বেলেগ নাম বাছক।", + "createFailed": "কিবা এটা ভুল হ’ল আৰু উপাদানটো সৃষ্টি কৰিব পৰা নগ’ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।", + "propertyDuplicateKey": "এই কীটো একাধিকবাৰ ব্যৱহাৰ কৰা হৈছে। প্ৰতিটো বৈশিষ্ট্যৰ বাবে এটা বেলেগ কী ব্যৱহাৰ কৰক।", + "propertyKeyRequired": "এটা কী যোগ কৰক, নহ'লে এই মানটো সংৰক্ষণ কৰা নহ'ব।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "উপাদান মচি দিয়ক", + "message": "আপুনি নিশ্চিতনে যে আপুনি \"{{name}}\"\" মচিব বিচাৰে?", + "note": "এই কাৰ্য্যটো স্থায়ী আৰু ইয়াক পুনৰাবৃত্তি কৰিব নোৱাৰি।", + "confirm": "উপাদান মচি দিয়ক", + "conflict": "এই উপাদানটো মচিব নোৱাৰি কাৰণ ইয়াক এতিয়াও এক বা একাধিক উদ্দেশ্যৰ বাবে ব্যৱহাৰ কৰা হৈছে। প্ৰথমে সেই উদ্দেশ্যবোৰৰ পৰা ইয়াক আঁতৰাওক।", + "deleteFailed": "কিবা এটা ভুল হ’ল আৰু উপাদানটো মচিব পৰা নগ’ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "কোনো উপাদান \"{{term}}\"-ৰ সৈতে নিমিলে।" }, "purposes": { "add": "উদ্দেশ্য যোগ কৰক", @@ -417,38 +419,38 @@ "typeLabel": "প্ৰকাৰ", "versionLabel": "সংস্কৰণ", "elementsLabel": "উপাদানসমূহ", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "টাইপ কৰাটো প্ৰয়োজনীয়।", + "typeHelp": "উদ্দেশ্যৰ ধৰণ, যেনে \"নীতি\"।", + "versionRequired": "সংস্কৰণৰ প্ৰয়োজন।", + "versionHelp": "এটা সংস্কৰণ চিনাক্তকৰণ, যেনে \"v1\"।", + "submitting": "সৃষ্টি কৰি থকা হৈছে...", + "createFailed": "কিবা এটা ভুল হ’ল আৰু উদ্দেশ্যটো সৃষ্টি কৰিব পৰা নগ’ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।" }, "versionForm": { "versionLabel": "সংস্কৰণ", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "সংস্কৰণ যোগ কৰক", + "versionRequired": "সংস্কৰণৰ প্ৰয়োজন।", + "versionDuplicate": "এই উদ্দেশ্যটোৰ ইতিমধ্যে এই নামেৰে এটা সংস্কৰণ আছে।", + "versionHelp": "এটা সংস্কৰণ চিনাক্তকৰণ, যেনে \"v2\"।", + "setAsLatestLabel": "শেহতীয়া সংস্কৰণ হিচাপে ছেট কৰক।", + "submitting": "সৃষ্টি কৰি থকা হৈছে...", + "createFailed": "কিবা এটা ভুল হ'ল আৰু সংস্কৰণটো সৃষ্টি কৰিব পৰা নগ'ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "উদ্দেশ্য মচি দিয়ক", + "message": "আপুনি নিশ্চিতনে যে আপুনি \"{{name}}\"\" মচিব বিচাৰে?", + "note": "এই কাৰ্য্যটো স্থায়ী আৰু ইয়াক পুনৰাবৃত্তি কৰিব নোৱাৰি।", + "confirm": "উদ্দেশ্য মচি দিয়ক", + "conflict": "এই উদ্দেশ্যটো মচিব নোৱাৰি কাৰণ ইয়াক এতিয়াও এক বা একাধিক সন্মতিৰ দ্বাৰা উল্লেখ কৰা হৈছে।", + "deleteFailed": "কিবা এটা ভুল হ’ল আৰু উদ্দেশ্যটো মচিব পৰা নগ’ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "আপুনি নিশ্চিতনে যে আপুনি \"{{version}} সংস্কৰণটো মচিব বিচাৰে?", + "note": "এই কাৰ্য্যটো স্থায়ী আৰু ইয়াক পুনৰাবৃত্তি কৰিব নোৱাৰি।", + "deleteFailed": "কিবা এটা ভুল হ'ল আৰু সংস্কৰণটো মচিব পৰা নগ'ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।", + "latestBlocked": "শেহতীয়া সংস্কৰণটো মচিব নোৱাৰি। আন এটা সংস্কৰণক প্ৰথমে শেহতীয়া হিচাপে নিৰ্ধাৰণ কৰক।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "এই সন্ধানৰ সৈতে কোনো উদ্দেশ্য নিমিলে।" }, "details": { "definition": "সংজ্ঞা", @@ -474,7 +476,7 @@ "noPurposeElements": "এতিয়ালৈকে কোনো উপাদান যোগ কৰা হোৱা নাই। উদ্দেশ্য সৃষ্টি কৰিবলৈ কমেও এটা উপাদান যোগ কৰক।", "noVersions": "কোনো সংস্কৰণ উপলব্ধ নাই।", "versionsLoadFailed": "বৰ্তমান সংস্কৰণৰ ইতিহাস ল'ড কৰিব পৰা নগ'ল।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "এই সংস্কৰণটো শেহতীয়া হিচাপে ছেট কৰিব পৰা নগ'ল। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।" }, "validation": { "duplicateElements": "প্ৰতিটো উপাদান কেৱল এবাৰহে অন্তৰ্ভুক্ত কৰিব পাৰি।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "প্ৰতি পৃষ্ঠাত শাৰী", + "previous": "পূৰ্বৱৰ্তী", + "next": "পৰৱৰ্তী" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/bn/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/bn/common.json index 00cc7b95..d4453e67 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/bn/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/bn/common.json @@ -24,13 +24,13 @@ "ariaLabel": "প্রাথমিক নেভিগেশন", "dashboard": "ড্যাশবোর্ড", "consent": "সম্মতি", - "allConsents": "সমস্ত সম্মতি", - "pendingConsents": "বিবেচনাধীন সম্মতি", + "allConsents": "আমার সম্মতিসমূহ", + "pendingConsents": "আমার অমীমাংসিত সম্মতিসমূহ", "catalog": "সংজ্ঞাসমূহ", "purposes": "উদ্দেশ্যসমূহ", "elements": "উপাদানসমূহ", "administration": "প্রশাসন", - "adminConsents": "সম্মতিসমূহ", + "adminConsents": "সকল সম্মতি", "nominations": "মনোনয়ন", "nomineeActivation": "নমিনি সক্রিয়করণ", "myComplaints": "আমার অভিযোগ", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "প্রকার অনুসারে আপনার সমস্ত সম্মতি", "noTypes": "এখনও কোনো সম্মতির প্রকার উপলব্ধ নেই।", "viewPending": "সমস্ত বিবেচনাধীন সম্মতি দেখুন", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "পরিষেবা অনুযায়ী সম্মতির বিভাজন", + "serviceBreakdownSubtitle": "আপনার সমস্ত সম্মতি, অনুরোধ করা পরিষেবা অনুসারে শ্রেণীবদ্ধ করা হল।", + "noServices": "এখনো কোনো পরিষেবা উপলব্ধ নেই।" }, "adminConsents": { "title": "সম্মতিসমূহ", @@ -87,9 +87,10 @@ "groupIds": "গ্রুপ আইডি", "commaSeparatedUsers": "একাধিক ব্যবহারকারী আইডি কমা দিয়ে আলাদা করুন", "active": "সক্রিয় ফিল্টারসমূহ", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "পরিষেবা", + "removeConsentIdForState": "স্টেট ফিল্টার ব্যবহার করার জন্য সম্মতি আইডি ফিল্টারটি সরান।", + "propertyFilterLabel": "সম্মতি সম্পত্তি", + "removeConsentIdForSubject": "ইউজার আইডি ফিল্টার ব্যবহার করার জন্য কনসেন্ট আইডি ফিল্টারটি সরান।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ইভেন্টের প্রকার", "date": "তারিখ", "time": "সময়", - "state": "State" + "state": "রাজ্য" }, "lifecycle": { "tableAriaLabel": "সম্মতির জীবনচক্র", @@ -161,13 +162,14 @@ "required": "প্রয়োজনীয়", "optional": "ঐচ্ছিক" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "পরিষেবা", + "elementCount": "{{count}}টি উপাদান", + "elementCount_one": "{{count}} টি উপাদান", + "elementCount_other": "{{count}}টি উপাদান", + "noAuthorizations": "এই সম্মতির জন্য কোন অনুমোদন নথিভুক্ত করা হয়নি।", + "noElements": "এই উদ্দেশ্যের সাথে কোনো উপাদান যুক্ত নেই।", + "noPurposes": "এই সম্মতির সঙ্গে কোনো উদ্দেশ্য যুক্ত নেই।", + "noProperties": "এই সম্মতির সাথে কোনো বৈশিষ্ট্য যুক্ত নেই।" }, "actions": { "view": "দেখুন", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} এর মধ্যে {{elementLabel}} এর জন্য অনুমতি টগল করুন", "loading": "সম্মতির বিবরণ লোড হচ্ছে...", "noMandatory": "এই সম্মতির জন্য কোনো বাধ্যতামূলক প্রয়োজনীয়তা নেই।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "সম্মতি অনুমোদন করুন", + "message": "আপনি কি নিশ্চিত যে আপনি এই সম্মতি অনুমোদন করতে চান?", + "note": "এই সম্মতির মাধ্যমে অনুরোধ করা প্রতিটি উদ্দেশ্য এবং উপাদানের জন্য অনুদান অনুমোদন করা হচ্ছে।" }, "rejection": { "title": "প্রত্যাখ্যান নিশ্চিত করুন", @@ -240,8 +242,8 @@ "endDateAriaLabel": "শেষের তারিখ ফিল্টার", "clear": "সব মুছুন", "clearAriaLabel": "সমস্ত ফিল্টার মুছুন", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "পরিষেবা অনুসারে অনুসন্ধান করুন", + "state": "রাজ্য" }, "messages": { "loading": "সম্মতিসমূহ লোড হচ্ছে...", @@ -267,8 +269,8 @@ "updated": "আপডেট হয়েছে", "expiration": "মেয়াদ শেষ", "actions": "অ্যাকশন", - "service": "Service", - "state": "State" + "service": "পরিষেবা", + "state": "রাজ্য" } } }, @@ -292,10 +294,10 @@ "view": "দেখুন", "viewElement": "{{name}} দেখুন", "viewPurpose": "{{name}} দেখুন", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "সংস্করণ যোগ করুন", + "reset": "পুনরায় সেট করুন", + "search": "অনুসন্ধান করুন", + "setLatest": "সর্বশেষ হিসাবে সেট করুন" }, "fields": { "actions": "অ্যাকশন", @@ -326,7 +328,7 @@ "schema": "স্কিমা", "type": "প্রকার", "version": "সংস্করণ", - "latestVersion": "Latest version" + "latestVersion": "সর্বশেষ সংস্করণ" }, "help": { "commaSeparatedGroups": "একাধিক গ্রুপ আইডি কমা দিয়ে আলাদা করুন", @@ -372,22 +374,22 @@ "nameLabel": "নাম", "nameRequired": "নাম প্রয়োজন।", "displayNameLabel": "প্রদর্শনের নাম", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "একটি অনন্য মেশিন শনাক্তকারী, উদাহরণস্বরূপ \"ইমেল-ঠিকানা\"।", + "submitting": "তৈরি করা হচ্ছে...", + "duplicateName": "{{name}} নামের একজন উপাদান ইতিমধ্যেই বিদ্যমান। অন্য একটি নাম নির্বাচন করুন।", + "createFailed": "কিছু ভুল হয়েছে এবং উপাদানটি তৈরি করা যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।", + "propertyDuplicateKey": "এই কীটি একাধিকবার ব্যবহৃত হয়েছে। প্রতিটি বৈশিষ্ট্যের জন্য একটি ভিন্ন কী ব্যবহার করুন।", + "propertyKeyRequired": "একটি চাবি যোগ করুন, অথবা এই মানটি সংরক্ষণ করা হবে না।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "উপাদান মুছুন", + "message": "আপনি কি নিশ্চিত যে আপনি \"{{name}}\"-কে মুছতে চান?", + "note": "এই কাজটা স্থায়ী এবং এটা আর পূর্বাবস্থায় ফিরিয়ে আনা যাবে না।", + "confirm": "উপাদান মুছুন", + "conflict": "এই উপাদানটি মুছে ফেলা যাবে না কারণ এটি এখনও এক বা একাধিক উদ্দেশ্যে ব্যবহৃত হচ্ছে। প্রথমে সেই উদ্দেশ্যগুলো থেকে এটি সরান।", + "deleteFailed": "কিছু ভুল হয়েছে এবং উপাদানটি মুছে ফেলা যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "কোনো উপাদানের সাথে \"{{term}}\"-এর মিল নেই।" }, "purposes": { "add": "উদ্দেশ্য যোগ করুন", @@ -417,38 +419,38 @@ "typeLabel": "প্রকার", "versionLabel": "সংস্করণ", "elementsLabel": "উপাদানসমূহ", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "টাইপ করা আবশ্যক।", + "typeHelp": "উদ্দেশ্যের ধরন, যেমন \"নীতি\"।", + "versionRequired": "সংস্করণ প্রয়োজন।", + "versionHelp": "একটি সংস্করণ শনাক্তকারী, যেমন \"v1\"।", + "submitting": "তৈরি করা হচ্ছে...", + "createFailed": "কিছু ভুল হয়েছে এবং উদ্দেশ্যটি তৈরি করা যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।" }, "versionForm": { "versionLabel": "সংস্করণ", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "সংস্করণ যোগ করুন", + "versionRequired": "সংস্করণ প্রয়োজন।", + "versionDuplicate": "এই উদ্দেশ্যে ইতিমধ্যেই এই নামের একটি সংস্করণ রয়েছে।", + "versionHelp": "একটি সংস্করণ শনাক্তকারী, যেমন \"v2\"।", + "setAsLatestLabel": "সর্বশেষ সংস্করণ হিসেবে সেট করুন।", + "submitting": "তৈরি করা হচ্ছে...", + "createFailed": "কিছু ভুল হয়েছে এবং সংস্করণটি তৈরি করা যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "উদ্দেশ্য মুছুন", + "message": "আপনি কি নিশ্চিত যে আপনি \"{{name}}\"-কে মুছতে চান?", + "note": "এই কাজটা স্থায়ী এবং এটা আর পূর্বাবস্থায় ফিরিয়ে আনা যাবে না।", + "confirm": "উদ্দেশ্য মুছুন", + "conflict": "এই উদ্দেশ্যটি মুছে ফেলা যাবে না কারণ এটি এখনও এক বা একাধিক সম্মতির দ্বারা উল্লেখ করা হয়।", + "deleteFailed": "কিছু ভুল হয়েছে এবং উদ্দেশ্যটি মুছে ফেলা যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "আপনি কি নিশ্চিত যে আপনি \"{{version}} সংস্করণটি মুছে ফেলতে চান?", + "note": "এই কাজটা স্থায়ী এবং এটা আর পূর্বাবস্থায় ফেরানো যাবে না।", + "deleteFailed": "কিছু ভুল হয়েছে এবং সংস্করণটি মুছে ফেলা যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।", + "latestBlocked": "সর্বশেষ সংস্করণটি মোছা যাবে না। অন্য একটি সংস্করণকে প্রথমে সর্বশেষ হিসেবে সেট করুন।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "এই অনুসন্ধানের সাথে কোন উদ্দেশ্য মেলে না।" }, "details": { "definition": "সংজ্ঞা", @@ -474,7 +476,7 @@ "noPurposeElements": "এখনও কোনো উপাদান যোগ করা হয়নি। উদ্দেশ্য তৈরি করতে কমপক্ষে একটি উপাদান যোগ করুন।", "noVersions": "কোনো সংস্করণ উপলব্ধ নেই।", "versionsLoadFailed": "এই মুহূর্তে সংস্করণের ইতিহাস লোড করা যাচ্ছে না।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "এই সংস্করণটিকে সর্বশেষ হিসাবে সেট করতে অক্ষম। অনুগ্রহ করে আবার চেষ্টা করুন।" }, "validation": { "duplicateElements": "প্রতিটি উপাদান শুধুমাত্র একবার অন্তর্ভুক্ত করা যেতে পারে।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "প্রতি পৃষ্ঠায় সারি", + "previous": "আগের", + "next": "পরবর্তী" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/brx/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/brx/common.json index 2b97a7c9..7d6a7d1b 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/brx/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/brx/common.json @@ -24,13 +24,13 @@ "ariaLabel": "गुबै नेभिगेसन", "dashboard": "ड्यासबोर्ड", "consent": "गनायथि", - "allConsents": "गासै गनायथिफोर", - "pendingConsents": "नेनानाव थानाय गनायथिफोर", + "allConsents": "आंनि गनायथिफोर", + "pendingConsents": "आंनि थाबथानाय गनायथिफोर", "catalog": "बेजायफोर", "purposes": "थांखिफोर", "elements": "बाहागोफोर", "administration": "सालायनाय", - "adminConsents": "गनायथिफोर", + "adminConsents": "गासैबो गनायथिनायफोर", "nominations": "मुं फोरमायनाय", "nomineeActivation": "मुं फोरमायग्राखौ सोलिहोनाय", "myComplaints": "आंनि अजतफोर", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "नोंथांनि गासै गनायथिफोरखौ रोखोम बादि राननाय जाबाय", "noTypes": "दासिम जेबो गनायथिनि रोखोम गैया।", "viewPending": "गासै नेनानाव थानाय गनायथिफोरखौ नाय", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सिबिथाय बायदियै गनायथि बायनाय", + "serviceBreakdownSubtitle": "नोंथांनि गासैबो गनायथिफोरखौ आर'ज खालामनाय सिबिथाइजों ज' खालामनाय जादों।", + "noServices": "दासिमबो जेबो सिबिथायफोर गैया।" }, "adminConsents": { "title": "गनायथिफोर", @@ -87,9 +87,10 @@ "groupIds": "हान्जा ID फोर", "commaSeparatedUsers": "बां बाहायग्रा ID फोरखौ कमा (,) जों आलादा खालाम", "active": "सोलिफुनाय फिल्टरफोर", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सिबिथाइ", + "removeConsentIdForState": "रायजोनि फिल्टारखौ बाहायनो थाखाय गनायथि आइ.डि. फिल्टारखौ बोखार।", + "propertyFilterLabel": "गनायथि सम्फथि", + "removeConsentIdForSubject": "इउजार आइ.डि. फिल्टारखौ बाहायनो थाखाय कन्सेन्ट आइ.डि. फिल्टारखौ बोखार।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "जाथायनि रोखोम", "date": "अक्ट'", "time": "सम", - "state": "State" + "state": "रायजो" }, "lifecycle": { "tableAriaLabel": "गनायथिनि जिउ-चक्र", @@ -161,13 +162,14 @@ "required": "गोनांथार", "optional": "खुसिबादै" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सिबिथाइ", + "elementCount": "{{count}} गुदिमुवाफोर", + "elementCount_one": "{{count}} गुदिमुवा", + "elementCount_other": "{{count}} गुदिमुवाफोर", + "noAuthorizations": "बे गनायथिनि थाखाय जेबो गनायथि लिरनाय गैया।", + "noElements": "बे थांखिजों जेबो गुदिमुवाफोर सोमोन्दो गैया।", + "noPurposes": "बे गनायथिजों जेबो थांखिफोर सोमोन्दो गैया।", + "noProperties": "बे गनायथियाव जेबो सम्फथि सोमोन्दो गैया।" }, "actions": { "view": "नाय", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} आव {{elementLabel}} नि थाखाय गोहो सोलाय", "loading": "गनायथिनि गुवारै विवरण लोड खालामफुगासिनो...", "noMandatory": "बे गनायथिनि थाखाय जेबो गोनांथार बाहागो गैया।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "गनायथि हो", + "message": "नों थारैनो बे गनायथिखौ गनायथि होनो लुगैयो नामा?", + "note": "बे गनायथिजों खावलायजानाय मोनफ्रोमबो थांखि आरो गुदिमुवाखौ गनायथि होनाय।" }, "rejection": { "title": "नेवसिनायखौ थि खालाम", @@ -240,8 +242,8 @@ "endDateAriaLabel": "जोबनाय अक्ट' फिल्टर", "clear": "गासै बोखार", "clearAriaLabel": "गासै फिल्टरफोरखौ बोखार", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सिबिथायजों नागिर", + "state": "रायजो" }, "messages": { "loading": "गनायथिफोरखौ लोड खालामफुगासिनो...", @@ -267,8 +269,8 @@ "updated": "अपडेट खालामबाय", "expiration": "सम जोबनाय", "actions": "हाबाफोर", - "service": "Service", - "state": "State" + "service": "सिबिथाइ", + "state": "रायजो" } } }, @@ -292,10 +294,10 @@ "view": "नाय", "viewElement": "{{name}} खौ नाय", "viewPurpose": "{{name}} खौ नाय", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "सोलायनाय दाजाबदेर", + "reset": "रिसेट", + "search": "नायहर", + "setLatest": "गोदानसिन महरै थि खालाम।" }, "fields": { "actions": "हाबाफोर", @@ -326,7 +328,7 @@ "schema": "स्कीमा", "type": "रोखोम", "version": "भार्जन", - "latestVersion": "Latest version" + "latestVersion": "गोदानसिन रोखोम" }, "help": { "commaSeparatedGroups": "बां हान्जा ID फोरखौ कमा (,) जों आलादा खालाम", @@ -372,22 +374,22 @@ "nameLabel": "मुं", "nameRequired": "मुं गोनांथार।", "displayNameLabel": "दिन्थिनाय मुं", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "मोनसे जुनिया मेसिन सिनायथिगिरि, बिदिन्थि महरै \"email-address\"।", + "submitting": "सोरजिखांनाय...", + "duplicateName": "{{name}} मुंनि मोनसे गुदिमुवाया सिगांनिफ्रायनो दंसै। गुबुन मुं सायख'।", + "createFailed": "माबा मोनसे गोरोन्थि जादोंमोन आरो बे गुदिमुवाखौ सोरजिनो हायाखैमोन। अन्नानै फिन खेबसे नाजाफिन।", + "propertyDuplicateKey": "बे कि (key) खौ खेबसेनि बांसिन बाहायनाय जायो। मोनफ्रोमबो प्रपार्टिनि थाखाय गुबुन गुबुन कि (key) बाहाय।", + "propertyKeyRequired": "मोनसे कि दाजाबदेर, नङाब्ला बे बेसेना सेव जानाय नङा।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "एलिमेन्टखौ बोखार।", + "message": "नोंथाङा थारैनो \"{{name}}\" खौ डिलिट खालामनो लुगैयो नामा?", + "note": "बे हाबाया अरायथा आरो बेखौ फोजोबनो हाया।", + "confirm": "एलिमेन्टखौ बोखार।", + "conflict": "बे गुदिमुवाखौ बोखारनो हाया मानोना बेखौ दासिमबो मोनसे एबा गोबां थांखिफोरनि थाखाय बाहायनाय जायो। बेखौ सिगां बै थांखिफोरनिफ्राय बोखार।", + "deleteFailed": "माबा मोनसे गोरोन्थि जादोंमोन आरो बे गुदिमुवाखौ बोखारनो हायाखैमोन। अन्नानै फिन खेबसे नाजाफिन।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "{{term}} जों जेबो गुदिमुवा गोरोबलाया।" }, "purposes": { "add": "थांखि सोदेर", @@ -417,38 +419,38 @@ "typeLabel": "रोखोम", "versionLabel": "भार्जन", "elementsLabel": "बाहागोफोर", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "टाइप खालामनाया गोनां।", + "typeHelp": "थांखिनि रोखोम, बिदिन्थि महरै \"पलिचि\"।", + "versionRequired": "रोखोमनि गोनांथि दं।", + "versionHelp": "मोनसे रोखोम सिनायथिगिरि, बिदिन्थि महरै \"v1\"।", + "submitting": "सोरजिखांनाय...", + "createFailed": "माबा मोनसे गोरोन्थि जादोंमोन आरो थांखिखौ सोरजिनो हायाखैमोन। अन्नानै फिन खेबसे नाजाफिन।" }, "versionForm": { "versionLabel": "भार्जन", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "सोलायनाय दाजाबदेर", + "versionRequired": "रोखोमनि गोनांथि दं।", + "versionDuplicate": "बे थांखिनि सिगांनिफ्रायनो बे मुंजों मोनसे रोखोम दं।", + "versionHelp": "मोनसे रोखोम सिनायथिगिरि, बिदिन्थि महरै \"v2\"।", + "setAsLatestLabel": "गोदानसिन रोखोम महरै थि खालाम।", + "submitting": "सोरजिखांनाय...", + "createFailed": "माबा मोनसे गोरोन्थि जादोंमोन आरो रोखोमखौ सोरजिनो हायाखैमोन। अन्नानै फिन खेबसे नाजाफिन।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "थांखिखौ बोखार।", + "message": "नोंथाङा थारैनो \"{{name}}\" खौ डिलिट खालामनो लुगैयो नामा?", + "note": "बे हाबाया अरायथा आरो बेखौ फोजोबनो हाया।", + "confirm": "थांखिखौ बोखार।", + "conflict": "बे थांखिखौ बोखारनो हाया मानोना बेयो दासिमबो सासे एबा गोबां गनायथिजों मुंख'जायो।", + "deleteFailed": "माबा मोनसे गोरोन्थि जादोंमोन आरो थांखिखौ बोखारनो हायाखैमोन। अन्नानै फिन खेबसे नाजाफिन।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "नोंथाङा थारैनो \"{{version}} भार्जनखौ डिलिट खालामनो लुगैदों नामा?", + "note": "बे हाबाया अरायथा आरो बेखौ फोजोबनो हाया।", + "deleteFailed": "माबा मोनसे गोरोन्थि जादोंमोन आरो बे रोखोमखौ बोखारनो हायाखैमोन। अन्नानै फिन खेबसे नाजाफिन।", + "latestBlocked": "गोदानसिन रोखोमखौ बोखारनो हाया। गुबुन मोनसे रोखोमखौ गिबियाव गोदानसिन महरै थि खालाम।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "बे नागिरनायजों जेबो थांखिफोरा मिलाया।" }, "details": { "definition": "बेजाय", @@ -474,7 +476,7 @@ "noPurposeElements": "दासिम जेबो बाहागो सोदेराखै। थांखि सोर्जिनो कम्तिआव मोनसे बाहागो सोदेर।", "noVersions": "जेबो भार्जन थाहाथाव नङा।", "versionsLoadFailed": "दा भार्जन जारिमिनखौ लोड खालामनो हायाखै।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "बे रोखोमखौ गोदानसिन महरै थि खालामनो हायाखै। अन्नानै फिन खेबसेबाव नाजा।" }, "validation": { "duplicateElements": "मोनफ्रोम बाहागोखौ खेबसेल' सोदेरनो हागोन।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "मोनफ्रोम बिलाइयाव सारिफोर", + "previous": "सिगांनि", + "next": "उननि" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/doi/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/doi/common.json index 37cb7fea..c6eea9f4 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/doi/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/doi/common.json @@ -24,13 +24,13 @@ "ariaLabel": "प्राइमरी नेविगेशन", "dashboard": "डैशबोर्ड", "consent": "सहमति", - "allConsents": "सभ्भै सहमतियां", - "pendingConsents": "बकाया सहमतियां", + "allConsents": "मेरी सहमति", + "pendingConsents": "मेरी लंबित मंजूरी", "catalog": "परिभाषां", "purposes": "उद्देश्य", "elements": "तत्व", "administration": "प्रशासन", - "adminConsents": "सहमतियां", + "adminConsents": "सभनें दी मंजूरी", "nominations": "नामांकन", "nomineeActivation": "नामज़द एक्टिवेशन", "myComplaints": "मेरी शिकायतां", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "तुंदी सभ्भै सहमतियां प्रकार दे मताबक वंडे दी न", "noTypes": "अजै तकर कोई सहमति प्रकार उपलब्ध नेईं ऐ।", "viewPending": "सभ्भै बकाया सहमतियां दिक्खो", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सेवा दे मताबक सैह्‌मती दा त्रुट्ट", + "serviceBreakdownSubtitle": "तुंʼदी सारी मंजूरियें गी मंगत सेवा दे मताबक समूहबद्ध कीता गेआ ऐ।", + "noServices": "हुनै तक्कर कोई सेवा उपलब्ध नेईं ऐ।" }, "adminConsents": { "title": "सहमतियां", @@ -87,9 +87,10 @@ "groupIds": "ग्रुप IDs", "commaSeparatedUsers": "मते यूजर IDs गी कामे कन्ने बक्ख करो", "active": "सक्रिय फिल्टर", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सेवा", + "removeConsentIdForState": "स्टेट फिल्टर दा इस्तेमाल करने आस्तै सहमति आईडी फिल्टर हटाइयै रक्खो।", + "propertyFilterLabel": "सहमति संपत्ति", + "removeConsentIdForSubject": "यूजर आईडी फिल्टर दा इस्तेमाल करने आस्तै सहमति आईडी फिल्टर हटाई देओ।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "इवेंट प्रकार", "date": "तरीक", "time": "समैं", - "state": "State" + "state": "राज्य" }, "lifecycle": { "tableAriaLabel": "सहमति जीवनचक्र", @@ -161,13 +162,14 @@ "required": "जरूरी", "optional": "मर्जी दे मताबक" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सेवा", + "elementCount": "{{count}} तत्व", + "elementCount_one": "{{count}} तत्व", + "elementCount_other": "{{count}} तत्व", + "noAuthorizations": "इस सैह्‌मती आस्तै कोई प्राधिकरण दर्ज नेईं कीता गेआ ऐ।", + "noElements": "इस उद्देश कन्नै कोई तत्व जुड़े दा नेईं ऐ।", + "noPurposes": "इस सैह्‌मती कन्नै कोई मकसद जुड़े दा नेईं ऐ।", + "noProperties": "इस सैह्‌मती कन्नै कोई संपत्तियां जुड़ी दियां नेईं हैन।" }, "actions": { "view": "दिक्खो", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} च {{elementLabel}} लेई इजाज़त बदलो", "loading": "सहमति विवरण लोड होआ करदे न...", "noMandatory": "इस सहमति लेई कोई जरूरी शर्तां नेईं न।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "मंजूरी मंजूर करो", + "message": "क्या तुस निश्चत तौरा पर इस सैह्‌मती गी मंजूर करना चांह्‌‌‌दे ओ?", + "note": "इस सैह्‌मती द्वारा अनुरोध कीते गेदे हर मकसद ते तत्व गी मंजूरी देना।" }, "rejection": { "title": "नामंज़ूरी दी पुष्टि करो", @@ -240,8 +242,8 @@ "endDateAriaLabel": "खत्म तरीक फिल्टर", "clear": "सब साफ करो", "clearAriaLabel": "सारे फिल्टर साफ करो", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सेवा राहें तुप्पो", + "state": "राज्य" }, "messages": { "loading": "सहमतियां लोड होआ करदियां न...", @@ -267,8 +269,8 @@ "updated": "अपडेट कीता", "expiration": "समाप्ति", "actions": "कारवाइयां", - "service": "Service", - "state": "State" + "service": "सेवा", + "state": "राज्य" } } }, @@ -292,10 +294,10 @@ "view": "दिक्खो", "viewElement": "{{name}} दिक्खो", "viewPurpose": "{{name}} दिक्खो", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "संस्करण जोड़ो", + "reset": "पुनर्निर्धारत करो", + "search": "खोज करो", + "setLatest": "नवीनतम दे रूप च सैट्ट करो" }, "fields": { "actions": "कारवाइयां", @@ -326,7 +328,7 @@ "schema": "स्कीमा", "type": "प्रकार", "version": "वर्ज़न", - "latestVersion": "Latest version" + "latestVersion": "नवीनतम संस्करण" }, "help": { "commaSeparatedGroups": "मते ग्रुप IDs गी कामे कन्ने बक्ख करो", @@ -372,22 +374,22 @@ "nameLabel": "नां", "nameRequired": "नां जरूरी ऐ।", "displayNameLabel": "दस्सने आह्ला नां", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "इक अनोखी मशीन पन्छानकर्ता, मसाल दे तौर पर \"ईमेल-पता\"।", + "submitting": "बनाया जा करदा ऐ...", + "duplicateName": "{{name}} नांऽ दा इक तत्व पैह्‌‌‌लें शा गै मजूद ऐ। कोई होर नांऽ चुनो।", + "createFailed": "किश गल्त होई गेआ ते तत्व नेईं बनाया जाई सकेआ। कृपा करियै परतियै कोशश करो।", + "propertyDuplicateKey": "एह् कुंजी इक कोला मती बारी बरती जंदी ऐ। हर इक प्रॉपर्टी आस्तै इक बक्ख कुंजी बरतो।", + "propertyKeyRequired": "इक कुंजी जोड़ो, नेईं तां एह्‌‌ मुल्ल सेव नेईं होग।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "ऐलिमैंट डिलीट करो", + "message": "क्या तुस पक्के तौरा पर \"{{name}}\" गी मिटाना चांह्‌‌‌दे ओ?", + "note": "एह्‌‌ कार्रवाई स्थाई ऐ ते इसगी पूर्ववत नेईं कीता जाई सकदा।", + "confirm": "ऐलिमैंट डिलीट करो", + "conflict": "इस तत्व गी हटाई नेईं जाई सकदा ऐ की जे एह्‌ अजें बी इक जां मते मकसदें आस्तै बरतेआ जंदा ऐ। इसगी पैह्‌लें उ'नें मकसदें थमां हटाइयो।", + "deleteFailed": "किश गल्त होई गेआ ते तत्व गी हटाई नेईं जाई सकेआ। कृपा करियै परतियै कोशश करो।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "कोई बी तत्व \"{{term}}\" कन्नै मेल नेईं खंदा।" }, "purposes": { "add": "उद्देश्य जोड़ो", @@ -417,38 +419,38 @@ "typeLabel": "प्रकार", "versionLabel": "वर्ज़न", "elementsLabel": "तत्व", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "टाइप करना लाजमी ऐ।", + "typeHelp": "उद्देश्य दी किसम, जिʼयां \"नीति\"।", + "versionRequired": "सरूप दी लोड़ ऐ।", + "versionHelp": "इक सरूप पन्छानकर्ता, जि’यां के \"v1\"।", + "submitting": "बनाया जा करदा ऐ...", + "createFailed": "किश गल्त होई गेआ ते उद्देश नेईं बनाया जाई सकेआ। कृपा करियै परतियै कोशश करो।" }, "versionForm": { "versionLabel": "वर्ज़न", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "संस्करण जोड़ो", + "versionRequired": "संस्करण दी लोड़ ऐ।", + "versionDuplicate": "इस मकसद दा इस नांऽ कन्नै पैह्‌‌‌लें शा गै इक सरूप ऐ।", + "versionHelp": "इक सरूप पन्छानकर्ता, जिʼयां के \"v2\"।", + "setAsLatestLabel": "नवीनतम संस्करण दे रूप च सैट्ट करो।", + "submitting": "बनाया जा करदा ऐ...", + "createFailed": "किश गल्त होई गेआ ते सरूप नेईं बनाया जाई सकेआ। कृपा करियै परतियै कोशश करो।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "मकसद हटाइयो", + "message": "क्या तुस पक्के तौरा पर \"{{name}}\" गी मिटाना चांह्‌‌‌दे ओ?", + "note": "एह्‌‌ कार्रवाई स्थाई ऐ ते इसगी पूर्ववत नेईं कीता जाई सकदा।", + "confirm": "मकसद हटाइयो", + "conflict": "इस उद्देश गी हटाई नेईं जाई सकदा ऐ की जे एह्‌‌ अजें बी इक जां मती सहमति आसेआ संदर्भत ऐ।", + "deleteFailed": "किश गल्त होई गेआ ते मकसद गी डिलीट नेईं कीता जाई सकेआ। कृपा करियै परतियै कोशश करो।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "क्या तुसें गी यकीन ऐ जे तुस संस्करण \"{{version}}\" गी हटाना चांह्‌‌‌दे ओ?", + "note": "एह्‌‌ कार्रवाई स्थाई ऐ ते इसगी पूर्ववत नेईं कीता जाई सकदा।", + "deleteFailed": "किश गल्त होई गेआ ते सरूप गी डिलीट नेईं कीता जाई सकेआ। कृपा करियै परतियै कोशश करो।", + "latestBlocked": "नमें संस्करण गी डिलीट नेईं कीता जाई सकदा। पैह्‌लें कुसै होर संस्करण गी नमां दे रूप च सैट्ट करो।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "इस खोज कन्नै कोई बी मकसद मेल नेईं खंदा।" }, "details": { "definition": "परिभाषा", @@ -474,7 +476,7 @@ "noPurposeElements": "अजै तकर कोई तत्व नेईं जोड़े गेदे। उद्देश्य बनाने लेई घट्टो-घट्ट इक तत्व जोड़ो।", "noVersions": "कोई वर्ज़न उपलब्ध नेईं न।", "versionsLoadFailed": "इसलै वर्ज़न इतिहास लोड करने च असमर्थ।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "इस सरूप गी नवीनतम दे रूप च सैट्ट करने च असमर्थ। कृपा करियै परतियै कोशश करो।" }, "validation": { "duplicateElements": "हर इक तत्व गी सिर्फ इक बारी शामल कीता जाई सकदा ऐ।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "फी पेज कतारें", + "previous": "पिछला", + "next": "अगला" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/en/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/en/common.json index 77945e67..664fba10 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/en/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/en/common.json @@ -24,13 +24,13 @@ "ariaLabel": "Primary navigation", "dashboard": "Dashboard", "consent": "Consent", - "allConsents": "All Consents", - "pendingConsents": "Pending Consents", + "allConsents": "My Consents", + "pendingConsents": "My Pending Consents", "catalog": "Definitions", "purposes": "Purposes", "elements": "Elements", "administration": "Administration", - "adminConsents": "Consents", + "adminConsents": "All Consents", "nominations": "Nominations", "nomineeActivation": "Nominee Activation", "myComplaints": "My Complaints", @@ -87,9 +87,10 @@ "groupIds": "Group IDs", "commaSeparatedUsers": "Separate multiple user IDs with commas", "active": "Active filters", - "subjectIdHelp": "Username of the data subject", "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "removeConsentIdForState": "Remove the Consent ID filter to use the state filter.", + "propertyFilterLabel": "Consent property", + "removeConsentIdForSubject": "Remove the Consent ID filter to use the User ID filter." } }, "consentRegistry": { @@ -167,7 +168,8 @@ "elementCount_other": "{{count}} elements", "noAuthorizations": "No authorizations are recorded for this consent.", "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "noPurposes": "No purposes are associated with this consent.", + "noProperties": "No properties are associated with this consent." }, "actions": { "view": "View", diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/gu/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/gu/common.json index 1e3097c6..db6841ac 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/gu/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/gu/common.json @@ -24,13 +24,13 @@ "ariaLabel": "મુખ્ય નેવિગેશન", "dashboard": "ડેશબોર્ડ", "consent": "સંમતિ", - "allConsents": "તમામ સંમતિઓ", - "pendingConsents": "પેન્ડિંગ સંમતિઓ", + "allConsents": "મારી સંમતિઓ", + "pendingConsents": "મારી બાકી રહેલી સંમતિઓ", "catalog": "વ્યાખ્યાઓ", "purposes": "હેતુઓ", "elements": "ઘટકો", "administration": "વહીવટ", - "adminConsents": "સંમતિઓ", + "adminConsents": "બધી સંમતિઓ", "nominations": "નામાંકનો", "nomineeActivation": "નામાંકિત સક્રિયકરણ", "myComplaints": "મારી ફરિયાદો", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "પ્રકાર અનુસાર જૂથબદ્ધ તમારી બધી સંમતિઓ", "noTypes": "હજુ સુધી કોઈ સંમતિ પ્રકારો ઉપલબ્ધ નથી.", "viewPending": "તમામ પેન્ડિંગ સંમતિઓ જુઓ", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "સેવા દ્વારા સંમતિનું વિશ્લેષણ", + "serviceBreakdownSubtitle": "તમારી બધી સંમતિઓ વિનંતી કરેલી સેવા દ્વારા જૂથબદ્ધ છે.", + "noServices": "હજી સુધી કોઈ સેવાઓ ઉપલબ્ધ નથી." }, "adminConsents": { "title": "સંમતિઓ", @@ -87,9 +87,10 @@ "groupIds": "જૂથ ID", "commaSeparatedUsers": "બહુવિધ વપરાશકર્તા IDને અલ્પવિરામથી અલગ કરો", "active": "સક્રિય ફિલ્ટર્સ", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "સેવા", + "removeConsentIdForState": "રાજ્ય ફિલ્ટરનો ઉપયોગ કરવા માટે સંમતિ ID ફિલ્ટર દૂર કરો.", + "propertyFilterLabel": "સંમતિ મિલકત", + "removeConsentIdForSubject": "યુઝર આઈડી ફિલ્ટરનો ઉપયોગ કરવા માટે સંમતિ આઈડી ફિલ્ટર દૂર કરો." } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ઇવેન્ટ પ્રકાર", "date": "તારીખ", "time": "સમય", - "state": "State" + "state": "રાજ્ય" }, "lifecycle": { "tableAriaLabel": "સંમતિ લાઇફસાયકલ", @@ -161,13 +162,14 @@ "required": "અનિવાર્ય", "optional": "મરજિયાત" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "સેવા", + "elementCount": "{{count}} ઘટકો", + "elementCount_one": "{{count}} તત્વ", + "elementCount_other": "{{count}} ઘટકો", + "noAuthorizations": "આ સંમતિ માટે કોઈ અધિકૃતતા નોંધાયેલ નથી.", + "noElements": "આ હેતુ સાથે કોઈ તત્વો સંકળાયેલા નથી.", + "noPurposes": "આ સંમતિ સાથે કોઈ હેતુ સંકળાયેલ નથી.", + "noProperties": "આ સંમતિ સાથે કોઈ મિલકતો સંકળાયેલી નથી." }, "actions": { "view": "જુઓ", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} માં {{elementLabel}} માટે પરવાનગી બદલો", "loading": "સંમતિ વિગતો લોડ થઈ રહી છે...", "noMandatory": "આ સંમતિ માટે કોઈ અનિવાર્ય આવશ્યકતાઓ નથી.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "સંમતિ મંજૂર કરો", + "message": "શું તમને ખાતરી છે કે તમે આ સંમતિને મંજૂરી આપવા માંગો છો?", + "note": "આ સંમતિ દ્વારા વિનંતી કરાયેલ દરેક હેતુ અને તત્વને મંજૂરી આપતી ગ્રાન્ટ." }, "rejection": { "title": "અસ્વીકારની પુષ્ટિ કરો", @@ -240,8 +242,8 @@ "endDateAriaLabel": "અંતિમ તારીખ ફિલ્ટર", "clear": "તમામ સાફ કરો", "clearAriaLabel": "બધા ફિલ્ટર્સ સાફ કરો", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "સેવા દ્વારા શોધો", + "state": "રાજ્ય" }, "messages": { "loading": "સંમતિઓ લોડ થઈ રહી છે...", @@ -267,8 +269,8 @@ "updated": "અપડેટ કરેલ", "expiration": "સમાપ્તિ તારીખ", "actions": "ક્રિયાઓ", - "service": "Service", - "state": "State" + "service": "સેવા", + "state": "રાજ્ય" } } }, @@ -292,10 +294,10 @@ "view": "જુઓ", "viewElement": "{{name}} જુઓ", "viewPurpose": "{{name}} જુઓ", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "સંસ્કરણ ઉમેરો", + "reset": "ફરીથી સેટ કરો", + "search": "શોધો", + "setLatest": "નવીનતમ તરીકે સેટ કરો" }, "fields": { "actions": "ક્રિયાઓ", @@ -326,7 +328,7 @@ "schema": "સ્કીમા", "type": "પ્રકાર", "version": "સંસ્કરણ", - "latestVersion": "Latest version" + "latestVersion": "નવીનતમ સંસ્કરણ" }, "help": { "commaSeparatedGroups": "બહુવિધ જૂથ IDsને અલ્પવિરામથી અલગ કરો", @@ -372,22 +374,22 @@ "nameLabel": "નામ", "nameRequired": "નામ જરૂરી છે.", "displayNameLabel": "દર્શાવવાનું નામ", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "એક અનન્ય મશીન ઓળખકર્તા, ઉદાહરણ તરીકે \"email-address\".", + "submitting": "બનાવી રહ્યા છીએ...", + "duplicateName": "{{name}} નામનું એક તત્વ પહેલેથી જ અસ્તિત્વમાં છે. એક અલગ નામ પસંદ કરો.", + "createFailed": "કંઈક ખોટું થયું અને તત્વ બનાવી શકાયું નથી. કૃપા કરીને ફરી પ્રયાસ કરો.", + "propertyDuplicateKey": "આ કીનો ઉપયોગ એક કરતા વધુ વખત થાય છે. દરેક પ્રોપર્ટી માટે અલગ કી વાપરો.", + "propertyKeyRequired": "એક કી ઉમેરો, અથવા આ મૂલ્ય સાચવવામાં આવશે નહીં." }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "એલિમેન્ટ ડિલીટ કરો", + "message": "શું તમે ખાતરી કરો છો કે તમે \"{{name}} ને\" કાઢી નાખવા માંગો છો?", + "note": "આ ક્રિયા કાયમી છે અને તેને પૂર્વવત્ કરી શકાતી નથી.", + "confirm": "એલિમેન્ટ ડિલીટ કરો", + "conflict": "આ તત્વને કાઢી શકાતું નથી કારણ કે તે હજી પણ એક અથવા વધુ હેતુઓ દ્વારા ઉપયોગમાં લેવાય છે. પહેલા તેને તે હેતુઓમાંથી દૂર કરો.", + "deleteFailed": "કંઈક ખોટું થયું અને તત્વ કાઢી શકાયું નથી. કૃપા કરીને ફરી પ્રયાસ કરો." }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "\"{{term}}\" સાથે કોઈ તત્વો મેળ ખાતા નથી." }, "purposes": { "add": "હેતુ ઉમેરો", @@ -417,38 +419,38 @@ "typeLabel": "પ્રકાર", "versionLabel": "સંસ્કરણ", "elementsLabel": "ઘટકો", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "પ્રકાર જરૂરી છે.", + "typeHelp": "હેતુનો પ્રકાર, દા.ત. \"નીતિ\".", + "versionRequired": "સંસ્કરણ જરૂરી છે.", + "versionHelp": "સંસ્કરણ ઓળખકર્તા, દા.ત. \"v1\".", + "submitting": "બનાવી રહ્યા છીએ...", + "createFailed": "કંઈક ખોટું થયું અને હેતુ બનાવી શકાયો નહીં. કૃપા કરીને ફરી પ્રયાસ કરો." }, "versionForm": { "versionLabel": "સંસ્કરણ", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "સંસ્કરણ ઉમેરો", + "versionRequired": "સંસ્કરણ આવશ્યક છે.", + "versionDuplicate": "આ હેતુમાં આ નામ સાથે પહેલેથી જ એક સંસ્કરણ છે.", + "versionHelp": "સંસ્કરણ ઓળખકર્તા, દા.ત. \"v2\".", + "setAsLatestLabel": "નવીનતમ સંસ્કરણ તરીકે સેટ કરો", + "submitting": "બનાવી રહ્યા છીએ...", + "createFailed": "કંઈક ખોટું થયું અને સંસ્કરણ બનાવી શકાયું નથી. કૃપા કરીને ફરી પ્રયાસ કરો." }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "હેતુ કાઢી નાખો", + "message": "શું તમે ખાતરી કરો છો કે તમે \"{{name}} ને\" કાઢી નાખવા માંગો છો?", + "note": "આ ક્રિયા કાયમી છે અને તેને પૂર્વવત્ કરી શકાતી નથી.", + "confirm": "હેતુ કાઢી નાખો", + "conflict": "આ હેતુ કાઢી નાંખવામાં આવશે નહીં કારણ કે તે હજુ પણ એક અથવા વધુ સંમતિઓ દ્વારા સંદર્ભિત છે.", + "deleteFailed": "કંઈક ખોટું થયું અને હેતુ કાઢી નાંખી શકાયો નહીં. કૃપા કરીને ફરી પ્રયાસ કરો." }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "શું તમને ખાતરી છે કે તમે આવૃત્તિ \"{{version}} કાઢી નાખવા માંગો છો?", + "note": "આ ક્રિયા કાયમી છે અને તેને પૂર્વવત્ કરી શકાતી નથી.", + "deleteFailed": "કંઈક ખોટું થયું અને સંસ્કરણ કાઢી નાંખી શકાયું નથી. કૃપા કરીને ફરી પ્રયાસ કરો.", + "latestBlocked": "નવીનતમ સંસ્કરણ કાઢી શકાતું નથી. પ્રથમ નવીનતમ તરીકે બીજું સંસ્કરણ સેટ કરો." }, - "emptySearch": "No purposes match this search." + "emptySearch": "આ શોધ સાથે કોઈ હેતુ મેળ ખાતો નથી." }, "details": { "definition": "વ્યાખ્યા", @@ -474,7 +476,7 @@ "noPurposeElements": "હજુ સુધી કોઈ ઘટકો ઉમેરવામાં આવ્યા નથી. હેતુ બનાવવા માટે ઓછામાં ઓછું એક ઘટક ઉમેરો.", "noVersions": "કોઈ સંસ્કરણ ઉપલબ્ધ નથી.", "versionsLoadFailed": "અત્યારે સંસ્કરણ ઇતિહાસ લોડ કરવામાં અસમર્થ.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "આ સંસ્કરણને નવીનતમ તરીકે સેટ કરવામાં અસમર્થ. કૃપા કરીને ફરી પ્રયાસ કરો." }, "validation": { "duplicateElements": "દરેક ઘટક માત્ર એક જ વાર સમાવિષ્ટ કરી શકાય છે.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "પૃષ્ઠ દીઠ હરોળ", + "previous": "અગાઉનું", + "next": "આગળ" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/hi/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/hi/common.json index 99fa67d7..fe863d23 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/hi/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/hi/common.json @@ -24,13 +24,13 @@ "ariaLabel": "मुख्य नेविगेशन", "dashboard": "डैशबोर्ड", "consent": "सहमति", - "allConsents": "सभी सहमतियां", - "pendingConsents": "लंबित सहमतियां", + "allConsents": "मेरी सहमति", + "pendingConsents": "मेरी लंबित स्वीकृतियाँ", "catalog": "परिभाषाएं", "purposes": "उद्देश्य", "elements": "तत्व", "administration": "प्रशासन", - "adminConsents": "सहमतियां", + "adminConsents": "सभी सहमति", "nominations": "नामांकन", "nomineeActivation": "नामांकित व्यक्ति को सक्रिय करना", "myComplaints": "मेरी शिकायतें", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "प्रकार के आधार पर वर्गीकृत आपकी सभी सहमतियां", "noTypes": "अभी तक सहमति का कोई प्रकार उपलब्ध नहीं है।", "viewPending": "सभी लंबित सहमतियां देखें", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सेवा के अनुसार सहमति का टूटना", + "serviceBreakdownSubtitle": "आपकी सभी सहमतिएँ अनुरोधित सेवा के अनुसार समूहीकृत हैं।", + "noServices": "अभी तक कोई सेवा उपलब्ध नहीं है।" }, "adminConsents": { "title": "सहमतियां", @@ -87,9 +87,10 @@ "groupIds": "समूह IDs", "commaSeparatedUsers": "अल्पविराम लगाकर कई उपयोगकर्ता IDs दर्ज करें", "active": "सक्रिय फ़िल्टर", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सेवा", + "removeConsentIdForState": "स्टेट फ़िल्टर का उपयोग करने के लिए सहमति आईडी फ़िल्टर हटाएँ।", + "propertyFilterLabel": "सहमति संपत्ति", + "removeConsentIdForSubject": "यूज़र आईडी फ़िल्टर का उपयोग करने के लिए सहमति आईडी फ़िल्टर हटाएँ।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "इवेंट का प्रकार", "date": "दिनांक", "time": "समय", - "state": "State" + "state": "राज्य" }, "lifecycle": { "tableAriaLabel": "सहमति जीवनचक्र", @@ -161,13 +162,14 @@ "required": "आवश्यक", "optional": "वैकल्पिक" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सेवा", + "elementCount": "{{count}} तत्व", + "elementCount_one": "{{count}} तत्व", + "elementCount_other": "{{count}} तत्व", + "noAuthorizations": "इस सहमति के लिए कोई प्राधिकरण दर्ज नहीं किया गया है।", + "noElements": "इस उद्देश्य से कोई तत्व नहीं जुड़े हैं।", + "noPurposes": "इस सहमति से कोई उद्देश्य नहीं जुड़े हैं।", + "noProperties": "इस सहमति से कोई भी संपत्ति जुड़ी नहीं है।" }, "actions": { "view": "देखें", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} में {{elementLabel}} के लिए अनुमति बदलें", "loading": "सहमति का विवरण लोड हो रहा है...", "noMandatory": "इस सहमति के लिए कोई अनिवार्य आवश्यकताएं नहीं हैं।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "सहमति स्वीकृत करें", + "message": "क्या आप वाकई इस सहमति को मंज़ूर करना चाहती हैं?", + "note": "इस सहमति द्वारा अनुरोधित हर उद्देश्य और तत्व के लिए अनुदान स्वीकृत करना।" }, "rejection": { "title": "अस्वीकृति की पुष्टि करें", @@ -240,8 +242,8 @@ "endDateAriaLabel": "अंतिम तिथि फ़िल्टर", "clear": "सभी हटाएं", "clearAriaLabel": "सभी फ़िल्टर हटाएं", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सेवा के अनुसार खोजें", + "state": "राज्य" }, "messages": { "loading": "सहमतियां लोड हो रही हैं...", @@ -267,8 +269,8 @@ "updated": "अद्यतन तिथि", "expiration": "समाप्ति तिथि", "actions": "कार्रवाइयां", - "service": "Service", - "state": "State" + "service": "सेवा", + "state": "राज्य" } } }, @@ -292,10 +294,10 @@ "view": "देखें", "viewElement": "{{name}} देखें", "viewPurpose": "{{name}} देखें", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "संशोधन जोड़ें", + "reset": "रीसेट", + "search": "खोजें", + "setLatest": "नवीनतम के रूप में सेट करें" }, "fields": { "actions": "कार्रवाइयां", @@ -326,7 +328,7 @@ "schema": "स्कीमा", "type": "प्रकार", "version": "संस्करण", - "latestVersion": "Latest version" + "latestVersion": "नवीनतम संस्करण" }, "help": { "commaSeparatedGroups": "अल्पविराम लगाकर कई समूह IDs दर्ज करें", @@ -372,22 +374,22 @@ "nameLabel": "नाम", "nameRequired": "नाम आवश्यक है।", "displayNameLabel": "प्रदर्शित नाम", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "एक अद्वितीय मशीन पहचानकर्ता, उदाहरण के लिए \"ईमेल-एड्रेस\"।", + "submitting": "बनाया जा रहा है...", + "duplicateName": "{{name}} नाम का एक तत्व पहले से मौजूद है। एक अलग नाम चुनें।", + "createFailed": "कुछ गड़बड़ हो गई और तत्व नहीं बनाया जा सका। कृपया फिर से प्रयास करें।", + "propertyDuplicateKey": "यह कुंजी एक से अधिक बार उपयोग की जाती है। प्रत्येक प्रॉपर्टी के लिए एक अलग कुंजी का उपयोग करें।", + "propertyKeyRequired": "एक कुंजी जोड़ें, अन्यथा यह मान सहेजा नहीं जाएगा।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "तत्व हटाएं", + "message": "क्या आप निश्चित हैं कि आप \"{{name}}\" को हटाना चाहते हैं?", + "note": "यह कार्रवाई स्थायी है और इसे पूर्ववत नहीं किया जा सकता है।", + "confirm": "तत्व हटाएं", + "conflict": "इस तत्व को हटाया नहीं जा सकता क्योंकि यह अभी भी एक या अधिक उद्देश्यों के लिए उपयोग किया जाता है। पहले इसे उन उद्देश्यों से हटाएँ।", + "deleteFailed": "कुछ गड़बड़ हो गई और तत्व को हटाया नहीं जा सका। कृपया फिर से प्रयास करें।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "कोई भी तत्व \"{{term}}\" से मेल नहीं खाता।" }, "purposes": { "add": "उद्देश्य जोड़ें", @@ -417,38 +419,38 @@ "typeLabel": "प्रकार", "versionLabel": "संस्करण", "elementsLabel": "तत्व", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "टाइप करना आवश्यक है।", + "typeHelp": "उद्देश्य का प्रकार, उदाहरण के लिए \"नीति\"।", + "versionRequired": "संस्करण आवश्यक है।", + "versionHelp": "एक संस्करण पहचानकर्ता, उदाहरण के लिए \"v1\"।", + "submitting": "बनाया जा रहा है...", + "createFailed": "कुछ गड़बड़ हो गई और उद्देश्य नहीं बनाया जा सका। कृपया फिर से प्रयास करें।" }, "versionForm": { "versionLabel": "संस्करण", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "संशोधन जोड़ें", + "versionRequired": "संस्करण आवश्यक है।", + "versionDuplicate": "इस उद्देश्य का पहले से ही इस नाम का एक संस्करण है।", + "versionHelp": "एक संस्करण पहचानकर्ता, उदाहरण के लिए \"v2\"।", + "setAsLatestLabel": "नवीनतम संस्करण के रूप में सेट करें", + "submitting": "बनाया जा रहा है...", + "createFailed": "कुछ गड़बड़ हो गई और संस्करण नहीं बनाया जा सका। कृपया फिर से प्रयास करें।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "उद्देश्य मिटाएँ", + "message": "क्या आप निश्चित हैं कि आप \"{{name}}\" को हटाना चाहते हैं?", + "note": "यह कार्रवाई स्थायी है और इसे पूर्ववत नहीं किया जा सकता है।", + "confirm": "उद्देश्य मिटाएँ", + "conflict": "इस उद्देश्य को हटाया नहीं जा सकता क्योंकि यह अभी भी एक या अधिक सहमति द्वारा संदर्भित है।", + "deleteFailed": "कुछ गड़बड़ हो गई और उद्देश्य को मिटाया नहीं जा सका। कृपया फिर से प्रयास करें।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "क्या आप वाकई संस्करण \"{{version}} को हटाना चाहती हैं?", + "note": "यह कार्रवाई स्थायी है और इसे पूर्ववत नहीं किया जा सकता है।", + "deleteFailed": "कुछ गड़बड़ हो गई और संस्करण को हटाया नहीं जा सका। कृपया फिर से प्रयास करें।", + "latestBlocked": "नवीनतम संस्करण को हटाया नहीं जा सकता। पहले किसी अन्य संस्करण को नवीनतम के रूप में सेट करें।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "इस खोज से कोई उद्देश्य मेल नहीं खाता।" }, "details": { "definition": "परिभाषा", @@ -474,7 +476,7 @@ "noPurposeElements": "अभी तक कोई तत्व नहीं जोड़ा गया। उद्देश्य बनाने के लिए कम से कम एक तत्व जोड़ें।", "noVersions": "कोई संस्करण उपलब्ध नहीं है।", "versionsLoadFailed": "अभी संस्करण इतिहास लोड नहीं हो पा रहा है।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "इस संस्करण को नवीनतम के रूप में सेट करने में असमर्थ। कृपया फिर से प्रयास करें।" }, "validation": { "duplicateElements": "प्रत्येक तत्व केवल एक बार शामिल किया जा सकता है।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "प्रति पृष्ठ पंक्तियाँ", + "previous": "पिछला", + "next": "अगला" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kn/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kn/common.json index add65db8..9bf661a0 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kn/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kn/common.json @@ -24,13 +24,13 @@ "ariaLabel": "ಪ್ರಾಥಮಿಕ ನ್ಯಾವಿಗೇಷನ್", "dashboard": "ಡ್ಯಾಶ್‌ಬೋರ್ಡ್", "consent": "ಸಮ್ಮತಿ", - "allConsents": "ಎಲ್ಲಾ ಸಮ್ಮತಿಗಳು", - "pendingConsents": "ಬಾಕಿ ಉಳಿದಿರುವ ಸಮ್ಮತಿಗಳು", + "allConsents": "ನನ್ನ ಒಪ್ಪಿಗೆಗಳು", + "pendingConsents": "ನನ್ನ ಬಾಕಿ ಇರುವ ಒಪ್ಪಿಗೆಗಳು", "catalog": "ವ್ಯಾಖ್ಯಾನಗಳು", "purposes": "ಉದ್ದೇಶಗಳು", "elements": "ಅಂಶಗಳು", "administration": "ಆಡಳಿತ", - "adminConsents": "ಸಮ್ಮತಿಗಳು", + "adminConsents": "ಎಲ್ಲಾ ಒಪ್ಪಿಗೆಗಳು", "nominations": "ನಾಮನಿರ್ದೇಶನಗಳು", "nomineeActivation": "ನಾಮಿನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ", "myComplaints": "ನನ್ನ ದೂರುಗಳು", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "ಪ್ರಕಾರದ ಆಧಾರದ ಮೇಲೆ ಗುಂಪು ಮಾಡಲಾದ ನಿಮ್ಮ ಎಲ್ಲಾ ಸಮ್ಮತಿಗಳು", "noTypes": "ಯಾವುದೇ ಸಮ್ಮತಿಯ ಪ್ರಕಾರಗಳು ಇನ್ನೂ ಲಭ್ಯವಿಲ್ಲ.", "viewPending": "ಎಲ್ಲಾ ಬಾಕಿ ಸಮ್ಮತಿಗಳನ್ನು ವೀಕ್ಷಿಸಿ", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "ಸೇವೆಯ ಪ್ರಕಾರ ಸಮ್ಮತಿಯ ವಿಶ್ಲೇಷಣೆ", + "serviceBreakdownSubtitle": "ನಿಮ್ಮ ಎಲ್ಲಾ ಸಮ್ಮತಿಗಳನ್ನು ವಿನಂತಿಸುವ ಸೇವೆಯ ಪ್ರಕಾರ ಗುಂಪು ಮಾಡಿ.", + "noServices": "ಯಾವುದೇ ಸೇವೆಗಳು ಇನ್ನೂ ಲಭ್ಯವಿಲ್ಲ." }, "adminConsents": { "title": "ಸಮ್ಮತಿಗಳು", @@ -87,9 +87,10 @@ "groupIds": "ಗುಂಪು ID ಗಳು", "commaSeparatedUsers": "ಅಲ್ಪವಿರಾಮಗಳೊಂದಿಗೆ ಬಹು ಬಳಕೆದಾರ ID ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ", "active": "ಸಕ್ರಿಯ ಫಿಲ್ಟರ್‌ಗಳು", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "ಸೇವೆ", + "removeConsentIdForState": "ರಾಜ್ಯ ಫಿಲ್ಟರ್ ಅನ್ನು ಬಳಸಲು ಸಮ್ಮತಿ ID ಫಿಲ್ಟರ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ.", + "propertyFilterLabel": "ಸಮ್ಮತಿ ಆಸ್ತಿ", + "removeConsentIdForSubject": "ಬಳಕೆದಾರರ ಐಡಿ ಫಿಲ್ಟರ್ ಅನ್ನು ಬಳಸಲು ಸಮ್ಮತಿ ಐಡಿ ಫಿಲ್ಟರ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ." } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ಈವೆಂಟ್ ಪ್ರಕಾರ", "date": "ದಿನಾಂಕ", "time": "ಸಮಯ", - "state": "State" + "state": "ರಾಜ್ಯ" }, "lifecycle": { "tableAriaLabel": "ಸಮ್ಮತಿ ಜೀವನಚಕ್ರ", @@ -161,13 +162,14 @@ "required": "ಅಗತ್ಯವಿದೆ", "optional": "ಐಚ್ಛಿಕ" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "ಸೇವೆ", + "elementCount": "{{count}} ಅಂಶಗಳು", + "elementCount_one": "{{count}} ಅಂಶ", + "elementCount_other": "{{count}} ಅಂಶಗಳು", + "noAuthorizations": "ಈ ಒಪ್ಪಿಗೆಗಾಗಿ ಯಾವುದೇ ಅಧಿಕಾರಗಳನ್ನು ದಾಖಲಿಸಲಾಗಿಲ್ಲ.", + "noElements": "ಯಾವುದೇ ಅಂಶಗಳು ಈ ಉದ್ದೇಶದೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದಿಲ್ಲ.", + "noPurposes": "ಈ ಒಪ್ಪಿಗೆಯೊಂದಿಗೆ ಯಾವುದೇ ಉದ್ದೇಶಗಳನ್ನು ಸಂಯೋಜಿಸಲಾಗಿಲ್ಲ.", + "noProperties": "ಈ ಒಪ್ಪಿಗೆಯೊಂದಿಗೆ ಯಾವುದೇ ಆಸ್ತಿಗಳನ್ನು ಸಂಯೋಜಿಸಲಾಗಿಲ್ಲ." }, "actions": { "view": "ವೀಕ್ಷಿಸಿ", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} ನಲ್ಲಿ {{elementLabel}} ಗಾಗಿ ಅನುಮತಿಯನ್ನು ಟಾಗಲ್ ಮಾಡಿ", "loading": "ಸಮ್ಮತಿಯ ವಿವರಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ...", "noMandatory": "ಈ ಸಮ್ಮತಿಗೆ ಯಾವುದೇ ಕಡ್ಡಾಯ ಅವಶ್ಯಕತೆಗಳಿಲ್ಲ.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "ಸಮ್ಮತಿಯನ್ನು ಅನುಮೋದಿಸಿ", + "message": "ನೀವು ಈ ಸಮ್ಮತಿಯನ್ನು ಅನುಮೋದಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುತ್ತೀರಾ?", + "note": "ಈ ಒಪ್ಪಿಗೆಯಿಂದ ವಿನಂತಿಸಲಾದ ಪ್ರತಿಯೊಂದು ಉದ್ದೇಶ ಮತ್ತು ಅಂಶಕ್ಕೂ ಅನುದಾನಗಳನ್ನು ಅನುಮೋದಿಸಲಾಗುತ್ತಿದೆ." }, "rejection": { "title": "ತಿರಸ್ಕಾರವನ್ನು ಖಚಿತಪಡಿಸಿ", @@ -240,8 +242,8 @@ "endDateAriaLabel": "ಅಂತ್ಯ ದಿನಾಂಕ ಫಿಲ್ಟರ್", "clear": "ಎಲ್ಲವನ್ನೂ ತೆರವುಗೊಳಿಸಿ", "clearAriaLabel": "ಎಲ್ಲಾ ಫಿಲ್ಟರ್‌ಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "ಸೇವೆಯಿಂದ ಹುಡುಕಿ", + "state": "ರಾಜ್ಯ" }, "messages": { "loading": "ಸಮ್ಮತಿಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ...", @@ -267,8 +269,8 @@ "updated": "ನವೀಕರಿಸಲಾಗಿದೆ", "expiration": "ಮುಕ್ತಾಯ", "actions": "ಕ್ರಿಯೆಗಳು", - "service": "Service", - "state": "State" + "service": "ಸೇವೆ", + "state": "ರಾಜ್ಯ" } } }, @@ -292,10 +294,10 @@ "view": "ವೀಕ್ಷಿಸಿ", "viewElement": "{{name}} ವೀಕ್ಷಿಸಿ", "viewPurpose": "{{name}} ವೀಕ್ಷಿಸಿ", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "ಸಂವರ್ತನೆಯನ್ನು ಸೇರಿಸಿ", + "reset": "ಮರುಹೊಂದಿಸಿ", + "search": "ಹುಡುಕಿ", + "setLatest": "ಇತ್ತೀಚಿನದಾಗಿ ಹೊಂದಿಸಿ" }, "fields": { "actions": "ಕ್ರಿಯೆಗಳು", @@ -326,7 +328,7 @@ "schema": "ಸ್ಕೀಮಾ", "type": "ಪ್ರಕಾರ", "version": "ಆವೃತ್ತಿ", - "latestVersion": "Latest version" + "latestVersion": "ಇತ್ತೀಚಿನ ಆವೃತ್ತಿ" }, "help": { "commaSeparatedGroups": "ಅಲ್ಪವಿರಾಮಗಳೊಂದಿಗೆ ಬಹು ಗುಂಪು ID ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ", @@ -372,22 +374,22 @@ "nameLabel": "ಹೆಸರು", "nameRequired": "ಹೆಸರು ಅಗತ್ಯವಿದೆ.", "displayNameLabel": "ಪ್ರದರ್ಶನದ ಹೆಸರು", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "ಒಂದು ವಿಶಿಷ್ಟ ಯಂತ್ರ ಗುರುತಿಸುವಿಕೆ, ಉದಾಹರಣೆಗೆ \"ಇಮೇಲ್-ವಿಳಾಸ\".", + "submitting": "ರಚಿಸಲಾಗುತ್ತಿದೆ...", + "duplicateName": "{{name}} ಎಂಬ ಹೆಸರಿನ ಒಂದು ಅಂಶವು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ಬೇರೆ ಹೆಸರನ್ನು ಆಯ್ಕೆಮಾಡಿ.", + "createFailed": "ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಅಂಶವನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.", + "propertyDuplicateKey": "ಈ ಕೀಲಿಯನ್ನು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಬಳಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಆಸ್ತಿಗೂ ಬೇರೆ ಕೀಲಿಯನ್ನು ಬಳಸಿ.", + "propertyKeyRequired": "ಒಂದು ಕೀಲಿಯನ್ನು ಸೇರಿಸಿ, ಇಲ್ಲದಿದ್ದರೆ ಈ ಮೌಲ್ಯವನ್ನು ಉಳಿಸಲಾಗುವುದಿಲ್ಲ." }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "ಎಲಿಮೆಂಟ್ ಅಳಿಸಿ", + "message": "ಖಚಿತವಾಗಿ ನೀವು \"{{name}}\" ಅನ್ನು ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?", + "note": "ಈ ಕ್ರಿಯೆಯು ಶಾಶ್ವತವಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.", + "confirm": "ಎಲಿಮೆಂಟ್ ಅಳಿಸಿ", + "conflict": "ಈ ಅಂಶವನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಇದನ್ನು ಇನ್ನೂ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತಿದೆ. ಮೊದಲು ಅದನ್ನು ಆ ಉದ್ದೇಶಗಳಿಂದ ತೆಗೆದುಹಾಕಿ.", + "deleteFailed": "ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಅಂಶವನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "\"{{term}}\" ಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಯಾವುದೇ ಅಂಶಗಳಿಲ್ಲ." }, "purposes": { "add": "ಉದ್ದೇಶವನ್ನು ಸೇರಿಸಿ", @@ -417,38 +419,38 @@ "typeLabel": "ಪ್ರಕಾರ", "versionLabel": "ಆವೃತ್ತಿ", "elementsLabel": "ಅಂಶಗಳು", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "ವಿಧವು ಅಗತ್ಯವಿದೆ.", + "typeHelp": "ಉದ್ದೇಶದ ಪ್ರಕಾರ, ಉದಾಹರಣೆಗೆ \"ನೀತಿ\".", + "versionRequired": "ಆವೃತ್ತಿ ಅಗತ್ಯವಿದೆ.", + "versionHelp": "ಒಂದು ಆವೃತ್ತಿಯ ಗುರುತಿಸುವಿಕೆ, ಉದಾಹರಣೆಗೆ \"v1\".", + "submitting": "ರಚಿಸಲಾಗುತ್ತಿದೆ...", + "createFailed": "ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಉದ್ದೇಶವನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." }, "versionForm": { "versionLabel": "ಆವೃತ್ತಿ", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "ಸಂವರ್ತನೆಯನ್ನು ಸೇರಿಸಿ", + "versionRequired": "ಆವೃತ್ತಿ ಅಗತ್ಯವಿದೆ.", + "versionDuplicate": "ಈ ಉದ್ದೇಶವು ಈಗಾಗಲೇ ಈ ಹೆಸರಿನೊಂದಿಗೆ ಒಂದು ಆವೃತ್ತಿಯನ್ನು ಹೊಂದಿದೆ.", + "versionHelp": "ಒಂದು ಆವೃತ್ತಿಯ ಗುರುತಿಸುವಿಕೆ, ಉದಾಹರಣೆಗೆ \"ವಿ2\".", + "setAsLatestLabel": "ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯಾಗಿ ಹೊಂದಿಸಿ", + "submitting": "ರಚಿಸಲಾಗುತ್ತಿದೆ...", + "createFailed": "ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಆವೃತ್ತಿಯನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "ಉದ್ದೇಶವನ್ನು ಅಳಿಸಿ", + "message": "ಖಚಿತವಾಗಿ ನೀವು \"{{name}}\" ಅನ್ನು ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?", + "note": "ಈ ಕ್ರಿಯೆಯು ಶಾಶ್ವತವಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.", + "confirm": "ಉದ್ದೇಶವನ್ನು ಅಳಿಸಿ", + "conflict": "ಈ ಉದ್ದೇಶವನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಇದು ಇನ್ನೂ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಒಪ್ಪಿಗೆಗಳಿಂದ ಉಲ್ಲೇಖಿಸಲ್ಪಟ್ಟಿದೆ.", + "deleteFailed": "ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಉದ್ದೇಶವನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "ಖಚಿತವಾಗಿ ನೀವು \"{{version}} ಆವೃತ್ತಿಯನ್ನು ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?", + "note": "ಈ ಕ್ರಿಯೆಯು ಶಾಶ್ವತವಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.", + "deleteFailed": "ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಆ ಆವೃತ್ತಿಯನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ.", + "latestBlocked": "ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮತ್ತೊಂದು ಆವೃತ್ತಿಯನ್ನು ಮೊದಲು ಇತ್ತೀಚಿನದಾಗಿ ಹೊಂದಿಸಿ." }, - "emptySearch": "No purposes match this search." + "emptySearch": "ಈ ಹುಡುಕಾಟಕ್ಕೆ ಯಾವುದೇ ಉದ್ದೇಶಗಳು ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ." }, "details": { "definition": "ವ್ಯಾಖ್ಯಾನ", @@ -474,7 +476,7 @@ "noPurposeElements": "ಯಾವುದೇ ಅಂಶಗಳನ್ನು ಇನ್ನೂ ಸೇರಿಸಲಾಗಿಲ್ಲ. ಉದ್ದೇಶವನ್ನು ರಚಿಸಲು ಕನಿಷ್ಠ ಒಂದು ಅಂಶವನ್ನು ಸೇರಿಸಿ.", "noVersions": "ಯಾವುದೇ ಆವೃತ್ತಿಗಳು ಲಭ್ಯವಿಲ್ಲ.", "versionsLoadFailed": "ಈಗ ಆವೃತ್ತಿ ಇತಿಹಾಸವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ಈ ಆವೃತ್ತಿಯನ್ನು ಇತ್ತೀಚಿನದಾಗಿ ಹೊಂದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." }, "validation": { "duplicateElements": "ಪ್ರತಿಯೊಂದು ಅಂಶವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಸೇರಿಸಬಹುದು.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "ಪ್ರತಿ ಪುಟಕ್ಕೆ ಸಾಲುಗಳು", + "previous": "ಹಿಂದಿನದು", + "next": "ಮುಂದೆ" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kok/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kok/common.json index 1e7563f8..8604ed73 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kok/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/kok/common.json @@ -24,13 +24,13 @@ "ariaLabel": "प्राथमिक नॅव्हिगेशन", "dashboard": "डॅशबोर्ड", "consent": "संमती", - "allConsents": "सगळ्यो संमती", - "pendingConsents": "प्रलंबित संमती", + "allConsents": "म्हजी संमती", + "pendingConsents": "म्हजी प्रलंबित मान्यताय", "catalog": "व्याख्या", "purposes": "उद्देश", "elements": "घटक", "administration": "प्रशासन", - "adminConsents": "संमती", + "adminConsents": "सगळी संमती", "nominations": "नामनिर्देशनां", "nomineeActivation": "नामनिर्देशित सक्रियकरण", "myComplaints": "म्हज्यो कागाळी", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "तुमच्यो सगळ्यो संमती प्रकारानुसार गट केल्यात", "noTypes": "अजून खंयचेच संमती प्रकार उपलब्ध नात.", "viewPending": "सगळ्यो प्रलंबित संमती पळयात", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सेवे प्रमाण संमती विस्कळीत जावप", + "serviceBreakdownSubtitle": "तुमची सगळी संमती विनंती केल्ल्या सेवे प्रमाणें गट केल्ली आसा.", + "noServices": "अजून खंयचीच सेवा मेळना." }, "adminConsents": { "title": "संमती", @@ -87,9 +87,10 @@ "groupIds": "गट आयडी", "commaSeparatedUsers": "एका परस चड वापरपी आयडी स्वल्पविरामान वेगळे करात", "active": "सक्रिय फिल्टर", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सेवा", + "removeConsentIdForState": "राज्य फिल्टर वापरपा खातीर संमती आयडी फिल्टर काडून उडयात.", + "propertyFilterLabel": "संमती मालमत्ता", + "removeConsentIdForSubject": "युजर आयडी फिल्टर वापरपा खातीर संमती आयडी फिल्टर काडून उडयात." } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "घडणुकेचो प्रकार", "date": "तारीख", "time": "वेळ", - "state": "State" + "state": "राज्य" }, "lifecycle": { "tableAriaLabel": "संमतीचे जीवनचक्र", @@ -161,13 +162,14 @@ "required": "गरजेचे", "optional": "विकल्पीक" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सेवा", + "elementCount": "{{count}} घटक", + "elementCount_one": "{{count}} घटक", + "elementCount_other": "{{count}} घटक", + "noAuthorizations": "ह्या संमती खातीर कसलीच अधिकृतताय नोंद केल्ली ना.", + "noElements": "ह्या उद्देशा कडेन खंयचेच घटक जोडिल्ले नात.", + "noPurposes": "ह्या संमतीकडेन कसलेच हेत जोडिल्ले नात.", + "noProperties": "ह्या संमतीकडेन कसलेच गुणधर्म जोडिल्ले नात." }, "actions": { "view": "पळयात", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} मधील {{elementLabel}} खातीर परवानगी बदला", "loading": "संमतीची म्हायती लोड जाता...", "noMandatory": "हे संमती खातीर खंयच्याच अनिवार्य गजालींची गरज ना.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "संमती मान्य करात", + "message": "तुका ही संमती दिवपाची आसा हाची तुका खात्री आसा?", + "note": "ह्या संमतीन मागिल्ल्या दरेका उद्देशाक आनी घटकाक अनुदान मंजूर करप." }, "rejection": { "title": "नकार निश्चित करात", @@ -240,8 +242,8 @@ "endDateAriaLabel": "शेवटाची तारीख फिल्टर", "clear": "सगळे पुसून उडयात", "clearAriaLabel": "सगळे फिल्टर पुसून उडयात", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सेवे प्रमाण सोदचें", + "state": "राज्य" }, "messages": { "loading": "संमती लोड जाता...", @@ -267,8 +269,8 @@ "updated": "अद्ययावत केलां", "expiration": "मुदत सोंपल्या", "actions": "कृती", - "service": "Service", - "state": "State" + "service": "सेवा", + "state": "राज्य" } } }, @@ -292,10 +294,10 @@ "view": "पळयात", "viewElement": "{{name}} पळयात", "viewPurpose": "{{name}} पळयात", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "आडिशन जोडा", + "reset": "परत सेट कर", + "search": "सोद", + "setLatest": "हालींचें म्हूण सेट करात." }, "fields": { "actions": "कृती", @@ -326,7 +328,7 @@ "schema": "स्कीमा (Schema)", "type": "प्रकार", "version": "आवृत्ती", - "latestVersion": "Latest version" + "latestVersion": "हालींचें आवृत्ती" }, "help": { "commaSeparatedGroups": "एका परस चड गट आयडी स्वल्पविरामान वेगळे करात", @@ -372,22 +374,22 @@ "nameLabel": "नाव", "nameRequired": "नाव गरजेचे आसा.", "displayNameLabel": "दाखवपाचे नाव", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "एक खाशेलें यंत्र वळखपी, देखीक \"ईमेल-पतों\".", + "submitting": "तयार करता...", + "duplicateName": "{{name}} नांवाचो एक घटक पयलींच आसा. एक वेगळें नांव निवड.", + "createFailed": "कितें तरी चुकलें आनी घटक तयार करपाक शकलें ना. उपकार करून परत यत्न कर.", + "propertyDuplicateKey": "ही चावी एका परस चड फावटीं वापरतात. दरेका गुणधर्मा खातीर वेगळी चावी वापरची.", + "propertyKeyRequired": "एक चावी जोड, ना जाल्यार हें मोल साठोवचें ना." }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "घटक काडून उडोवचो", + "message": "तुका नक्की खात्री आसा की तूं \"{{name}}\" काडून उडोवंक सोदता?", + "note": "ही कृती कायम आसा आनी ती परत करूंक मेळना.", + "confirm": "घटक काडून उडोवचो", + "conflict": "हें तत्व काडून उडोवंक शकना कारण तें अजूनय एक वा चड कामां खातीर वापरतात. पयलीं तें त्या कामांतल्यान काडून उडयात.", + "deleteFailed": "कितें तरी चुकलें आनी घटक वगडावंक शकलें ना. उपकार करून परत यत्न कर." }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "{{term}} कडेन जुळपी खंयचोच घटक ना." }, "purposes": { "add": "उद्देश जोडा", @@ -417,38 +419,38 @@ "typeLabel": "प्रकार", "versionLabel": "आवृत्ती", "elementsLabel": "घटक", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "प्रकार गरजेचो आसा.", + "typeHelp": "उद्देश्याचो प्रकार, देखीक \"पॉलिसी\".", + "versionRequired": "आवृत्तीची गरज आसा.", + "versionHelp": "एका आवृत्तीची वळख, देखीक \"v1\".", + "submitting": "तयार करता...", + "createFailed": "कितें तरी चुकलें आनी उद्देश तयार करपाक शकलें ना. उपकार करून परत यत्न कर." }, "versionForm": { "versionLabel": "आवृत्ती", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "आडिशन जोडा", + "versionRequired": "आवृत्तीची गरज आसा.", + "versionDuplicate": "ह्या उद्देशाची ह्या नांवाची आवृत्ती पयलींच आसा.", + "versionHelp": "एक आवृत्ती वळखपी, देखीक \"v2\".", + "setAsLatestLabel": "हालींचें आवृत्ती म्हूण सेट करात.", + "submitting": "तयार करता...", + "createFailed": "कितें तरी चुकलें आनी आवृत्ती तयार करपाक शकलें ना. उपकार करून परत यत्न कर." }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "उद्देश वगडावचो", + "message": "तुका नक्की खात्री आसा की तूं \"{{name}}\" काडून उडोवंक सोदता?", + "note": "ही कृती कायम आसा आनी ती परत करूंक शकना.", + "confirm": "उद्देश वगडावचो", + "conflict": "हो उद्देश काडून उडोवंक मेळना कारण तो अजूनय एक वा चड संमतींनी संदर्भित आसा.", + "deleteFailed": "कितें तरी चुकलें आनी उद्देश वगडावंक शकलें ना. उपकार करून परत यत्न कर." }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "तुका खात्री आसा काय तुका \"{{version}}\" ही आवृत्ती काडून उडोवपाची आसा?", + "note": "ही कृती कायम आसा आनी ती परत करूंक मेळना.", + "deleteFailed": "कितें तरी चुकलें आनी आवृत्ती काडून उडोवंक शकली ना. उपकार करून परत यत्न कर.", + "latestBlocked": "हालींचें व्हर्जन काडून उडोवंक मेळना. पयलीं दुसरें व्हर्जन हालींचें म्हूण थारायात." }, - "emptySearch": "No purposes match this search." + "emptySearch": "ह्या सोदाक खंयचोच हेतू जुळना." }, "details": { "definition": "व्याख्या", @@ -474,7 +476,7 @@ "noPurposeElements": "अजून खंयचेच घटक जोडले नात. उद्देश तयार करपाक उण्यांत उणो एक घटक जोडा.", "noVersions": "खंयच्योच आवृत्त्या उपलब्ध नात.", "versionsLoadFailed": "सद्या आवृत्ती इतिहास लोड करपाक अपयश आयले.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ही आवृत्ती निमाणी म्हूण थारावंक शकना. उपकार करून परत यत्न कर." }, "validation": { "duplicateElements": "दर एक घटक फकत एक फावट आस्पावूंक येता.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "दर पानाचे वळी", + "previous": "आदलो", + "next": "फुडें" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ks/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ks/common.json index 35b923c5..e4453981 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ks/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ks/common.json @@ -24,13 +24,13 @@ "ariaLabel": "اہم نِویگیشَن", "dashboard": "ڈیش بورڈ", "consent": "رضامندی", - "allConsents": "تمامی رضامندیہِ", - "pendingConsents": "مُعَلَّق رضامندیہِ", + "allConsents": "میٲنۍ رضامندی", + "pendingConsents": "میٚون زیرِ غور رضامندی", "catalog": "تَعریفات", "purposes": "مقاصِد", "elements": "عَناصِر", "administration": "اِنتِظامِیہ", - "adminConsents": "رضامندیہِ", + "adminConsents": "سٲری رٲضی", "nominations": "نامزَدگِیہِ", "nomineeActivation": "نامزَد شَخصَس اِفتاہ/فَعّال کَرُن", "myComplaints": "مَیانی شِکایات", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "تُہنٛزِ تمام رضامندیہِ قِسمَس طابِق تَقسیم کَرنہٕ آمِت", "noTypes": "کانہہ تہِ رضامندی قِسم چھُنہٕ وُنِی مَوجود۔", "viewPending": "ساری مُعَلَّق رضامندیہِ وُچھیو", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "خدمتہٕ حسابہٕ رضامندی ہُنٛد ٹوٹُن", + "serviceBreakdownSubtitle": "تُہٕنٛدۍ تمام رضامندِی چھِ درخواست کَرنہٕ آمٕژ خٔدماتَن مُطٲبِق گروپ کَرنہٕ آمٕژ۔", + "noServices": "کانٛہہ تہِ خٔدمات چھِنہٕ وٗنیُک تام دٔستیاب۔" }, "adminConsents": { "title": "رضامندیہِ", @@ -87,9 +87,10 @@ "groupIds": "گروپ آئی ڈی", "commaSeparatedUsers": "مُتَعَدِّد صارف آئی ڈی کاما (,) سِیِتھ الگ کِریو", "active": "فَعّال فِلتَر", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "خدمت", + "removeConsentIdForState": "رِیاستی فلٹر استعمال کرنہٕ خٲطرٕ کٔڑِو رضامندی ہُنٛد آیی ڈی فلٹر۔", + "propertyFilterLabel": "رضامندی ہٕنٛز جٲیِداد", + "removeConsentIdForSubject": "یوزر آیی ڈی فلٹر استعمال کرنہٕ خٲطرٕ کٔڑِو کنسنٹ آیی ڈی فلٹر۔" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ایوینٹ قِسم", "date": "تاریخ", "time": "وَقت", - "state": "State" + "state": "رِیاسَتھ" }, "lifecycle": { "tableAriaLabel": "رضامندی سائیکل", @@ -161,13 +162,14 @@ "required": "لازمی", "optional": "اِختیاری" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "خدمت", + "elementCount": "{{count}} عنٲصر", + "elementCount_one": "{{count}} عنصر", + "elementCount_other": "{{count}} عنٲصر", + "noAuthorizations": "امہ رضامندی خٲطرٕ چھنہٕ کانٛہہ اجازت نامہٕ درج کرنہٕ آمت۔", + "noElements": "امہِ مقصدس سۭتۍ چھنہٕ کانٛہہ تہِ عنصر وابستہٕ۔", + "noPurposes": "امہِ رضامندی سۭتۍ چھنہٕ کانٛہہ مقصد وابستہٕ۔", + "noProperties": "امہ رضامندی سۭتۍ چھنہٕ کانٛہہ خاصیت وابستہٕ۔" }, "actions": { "view": "وُچھیو", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} مَنٛز {{elementLabel}} باپَتھ اِجازَت بَدلِیو", "loading": "رضامندی تَفصِیلات لوڈ گَچھان...", "noMandatory": "اَتھ رضامندی مَنٛز چھنہٕ کانہہ لازمی ضَرورَت۔", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "رضامندی منظور کٔرِو۔", + "message": "کیاہ ژٕ چھِکھ پوٗرٕ پٲٹھۍ یِژھان زِ ژٕ کٔرِو یہِ رضامندی منظور؟", + "note": "امہِ رضامندی ہندِ ذریعہٕ منگنہٕ آمٕتہِ پرٛیتھ مقصد تہٕ عنصرٕ خٲطرٕ گرانٹ منظور کران۔" }, "rejection": { "title": "رد کَرنٕچ تَصدِیق کِریو", @@ -240,8 +242,8 @@ "endDateAriaLabel": "آخری تاریخ فِلتَر", "clear": "ساری صاف کِریو", "clearAriaLabel": "ساری فِلتَر صاف کِریو", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "سروسہِ سٕتہِ ژھٲرِو", + "state": "رِیاسَتھ" }, "messages": { "loading": "رضامندیہِ لوڈ گَچھان...", @@ -267,8 +269,8 @@ "updated": "اپڈیٹ", "expiration": "میعاد ختم", "actions": "اِقدامات", - "service": "Service", - "state": "State" + "service": "خدمت", + "state": "رِیاسَتھ" } } }, @@ -292,10 +294,10 @@ "view": "وُچھیو", "viewElement": "وُچھیو {{name}}", "viewPurpose": "وُچھیو {{name}}", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "اِضٲفی ؤرجَن شٲمِل کٔرِو", + "reset": "دوبارٕ سیٹ کٔرِو", + "search": "تلاش کٔرِو", + "setLatest": "تازٕ ترین پٲٹھۍ سیٹ کٔرِو۔" }, "fields": { "actions": "اِقدامات", @@ -326,7 +328,7 @@ "schema": "سکِیما", "type": "قِسم", "version": "ورژن", - "latestVersion": "Latest version" + "latestVersion": "تازٕ ترین ورژن" }, "help": { "commaSeparatedGroups": "مُتَعَدِّد گروپ آئی ڈی کاما (,) سِیِتھ الگ کِریو", @@ -372,22 +374,22 @@ "nameLabel": "ناو", "nameRequired": "ناو چھُ لازمی۔", "displayNameLabel": "وُچھن وول ناو", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "اکھ منفرد مشین شناخت کرن وول، مِثالے \"ای میل-ایڈریس\"۔", + "submitting": "بناونہٕ یِوان...", + "duplicateName": "\"{{name}}\" ناوُک اکھ عنصر چھُ گۄڈَے موٗجوٗد۔ اکھ بیٛاکھ ناو ژٲرِو۔", + "createFailed": "کٲنٛہہ گٔیہ غلط تہٕ عنصر ہیٚکہِ نہٕ بناونہٕ یِتھ۔ مہربٲنی کٔرِتھ کٔرِو دوبارٕ کوٗشش۔", + "propertyDuplicateKey": "یہِ کُنٛجی چھےٚ اَکہِ کھۄتہٕ زیٛادٕ لَٹہِ اِستعمال گَژھان۔ پرٛٮ۪تھ کٲم خٲطرٕ کٔرِو اَکھ مُختٔلِف کُنٛجی اِستعمال۔", + "propertyKeyRequired": "اکھ کُنجی کٔرِو شٲمِل، یا یہِ قۭمتھ یی نہٕ بچاونہٕ۔" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "عنصر حذف کٔرِو", + "message": "کیاہ ژٕ چھکھ پوٗرٕ پٲٹھۍ یژھان زِ ژٕ کٔرِو \"{{name}}\" حذف؟", + "note": "یہِ عملہٕ چھٗ مٗستقل تہٕ یہِ ہیٚکہِ نہٕ واپس اننہٕ یِتھ ۔", + "confirm": "عنصر حذف کٔرِو", + "conflict": "یہِ عنصر ہیٚکہِ نہٕ حذف کَرنہٕ یِتھ تِکیٛازِ یہِ چھُ وُنہِ تہِ اَکہِ یا زیٛادٕ مقصدَن خٲطرٕ اِستعمال گژھان۔ گۄڈٕ کٔرِو یہِ تِمَن مقصدَن منٛزٕ ہٹاو۔", + "deleteFailed": "کٲنٛہہ گٔژھ غلط تہٕ عنصر آو نہٕ حذف کرنہٕ۔ مہربٲنی کٔرِتھ کٔرِو دوبارٕ کوشش۔" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "کانٛہہ تہِ عنصر چھُنہٕ \"{{term}}\" سۭتۍ میلان۔" }, "purposes": { "add": "مَقصَد شامِل کِریو", @@ -417,38 +419,38 @@ "typeLabel": "قِسم", "versionLabel": "ورژن", "elementsLabel": "عَناصِر", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "ٹایپ چھُ ضروٗری۔", + "typeHelp": "مقصدُک قٕسٕم، مِثالے \"پالیسی\"۔", + "versionRequired": "ورجن چھُ ضروٗری۔", + "versionHelp": "اکھ ورژن شناخت کرن وول، مِثالے \"v1\"۔", + "submitting": "بناونہٕ یِوان...", + "createFailed": "کٲنٛہہ گٔیہ غلط تہٕ مقصد ہیٚکو نہٕ بناوتھ۔ مہربٲنی کٔرِتھ کٔرِو دوبارٕ کوٗشش۔" }, "versionForm": { "versionLabel": "ورژن", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "اِضٲفی ؤرِش شٲمِل کٔرِو", + "versionRequired": "ورجن چھُ ضروٗری۔", + "versionDuplicate": "امہِ مقصدس چھٗ گۄڈیہ امہِ ناوٗك اكھ صوُرت ۔", + "versionHelp": "اکھ ورژن شناخت کرن وول، مِثالے \"v2\"۔", + "setAsLatestLabel": "تازٕ ترین ورجن پٲٹھۍ سیٹ کٔرِو۔", + "submitting": "بناونہٕ یِوان...", + "createFailed": "کٮ۪نٛہہ گٔیہِ غلط تہٕ ؤرجن ہیٚکہِ نہٕ بناونہٕ یِتھ۔ مہربٲنی کٔرِتھ کٔرِو دوبارٕ کوٗشش۔" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "مقصد حذف کٔرِو", + "message": "کیاہ ژٕ چھکھ پوٗرٕ پٲٹھۍ یژھان زِ ژٕ کٔرِو \"{{name}}\" حذف؟", + "note": "یہِ عملہٕ چھٗ مٗستقل تہٕ یہِ ہیكہِ نہٕ واپس نِنہٕ یِتھ ۔", + "confirm": "مقصد حذف کٔرِو", + "conflict": "یہ مقصد ہیکو نہٕ حذف کٔرتھ تکیاز یہ چھ وٕنہ تہ اکہ یا زیادٕ رضامندی سۭتۍ حوالہٕ دنہٕ یوان۔", + "deleteFailed": "کٲنٛہہ گٔیہ غلط تہٕ مقصد ہٮ۪کو نہٕ حذف کٔرِتھ۔ مہربٲنی کٔرِتھ کٔرِو دوبارٕ کوشش۔" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "کیاہ چھُکھ توہہِ یٔقیٖنی زِ توہہِ چھِو ورژن \"{{version}}\" حذف کرُن یژھان؟", + "note": "یہِ عملہٕ چھٗ مٗستقل تہٕ یہِ ہیكہِ نہٕ واپس نِنہٕ یِتھ ۔", + "deleteFailed": "کٲنٛہہ گٔیہ غلط تہٕ ورژن ہٮ۪کو نہٕ حذف کٔرِتھ۔ مہربٲنی کٔرِتھ کٔرِو دوبارٕ کوشش۔", + "latestBlocked": "تازٕ ترین ورژن ہیکو نہٕ حذف کٔرتھ۔ بیٛاکھ ورژن کٔرِو گۄڈٕ تازہ ترین قٲیِم۔" }, - "emptySearch": "No purposes match this search." + "emptySearch": "کانٛہہ تہِ مقصد چھُنہٕ اَتھ تلاشَس سۭتۍ مِلان۔" }, "details": { "definition": "تَعریف", @@ -474,7 +476,7 @@ "noPurposeElements": "کانہہ تہِ عُنصُر چھُنہٕ شامِل۔ مَقصَد بَناوَن باپَتھ کِریو کم از کم اَکھ عُنصُر شامِل۔", "noVersions": "کانہہ تہِ ورژن چھُنہٕ مَوجود۔", "versionsLoadFailed": "ورژن تَوارِیخ لوڈ گَچھنَس مَنٛز آئِیہِ ناکامی۔", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "یہِ ؤرجن چھُنہٕ تازہ ترین قٲیِم کَرنہٕ یِوان۔ مہربٲنی کٔرِتھ کٔرِو دوبارٕ کوٗشش۔" }, "validation": { "duplicateElements": "پریتھ عُنصُر ہیکِ صِرف اَکہِ لَٹہِ شامِل گَچھیتھ۔", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "فی صَفہٕ قطارٕ", + "previous": "پٔتِم", + "next": "اَمہِ پتہٕ" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mai/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mai/common.json index 84ac0073..aa36edac 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mai/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mai/common.json @@ -24,13 +24,13 @@ "ariaLabel": "मुख्य नेविगेशन", "dashboard": "डैशबोर्ड", "consent": "सहमति", - "allConsents": "सभ सहमति", - "pendingConsents": "लंबित सहमति", + "allConsents": "हमर सहमति", + "pendingConsents": "हमर लंबित सहमति सभ", "catalog": "परिभाषा सभ", "purposes": "उद्देश्य सभ", "elements": "तत्व सभ", "administration": "प्रशासन", - "adminConsents": "सहमति सभ", + "adminConsents": "सब सहमति", "nominations": "नामांकन", "nomineeActivation": "नामांकित व्यक्ति सक्रियण", "myComplaints": "हमर शिकायत सभ", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "प्रकार द्वारा समूहबद्ध अहाँक सभ सहमति", "noTypes": "अखनि कोनहु सहमति प्रकार उपलब्ध नहि अछि।", "viewPending": "सभ लंबित सहमति देखू", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सेवा अनुसार सहमति भंग", + "serviceBreakdownSubtitle": "अहाँक सभ सहमति अनुरोधित सेवा द्वारा समूहीकृत अछि।", + "noServices": "एखन धरि कोनो सेवा उपलब्ध नहि अछि।" }, "adminConsents": { "title": "सहमति सभ", @@ -87,9 +87,10 @@ "groupIds": "समूह आईडी", "commaSeparatedUsers": "अनेक उपयोगकर्ता आईडी केँ कॉमा सँ अलग करू", "active": "सक्रिय फ़िल्टर", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सेवा", + "removeConsentIdForState": "राज्य फिल्टरक उपयोग करबाक लेल सहमति आईडी फिल्टर हटा दिअ।", + "propertyFilterLabel": "सहमति संपत्ति", + "removeConsentIdForSubject": "यूजर आईडी फिल्टरक उपयोग करबाक लेल सहमति आईडी फिल्टर हटा दिअ।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "घटना प्रकार", "date": "तिथि", "time": "समय", - "state": "State" + "state": "राज्य" }, "lifecycle": { "tableAriaLabel": "सहमति जीवनचक्र", @@ -161,13 +162,14 @@ "required": "आवश्यक", "optional": "वैकल्पिक" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सेवा", + "elementCount": "{{count}} टा तत्व", + "elementCount_one": "{{count}} तत्व", + "elementCount_other": "{{count}} टा तत्व", + "noAuthorizations": "एहि सहमति लेल कोनो अधिकार दर्ज नहि अछि।", + "noElements": "एहि उद्देश्यसँ कोनो तत्व सम्बन्धित नहि अछि।", + "noPurposes": "एहि सहमति सँ कोनो उद्देश्य सम्बन्धित नहि अछि।", + "noProperties": "एहि सहमति सँ कोनो सम्पत्ति सम्बन्धित नहि अछि।" }, "actions": { "view": "देखू", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} मे {{elementLabel}} लेल अनुमति बदलू", "loading": "सहमति विवरण लोड भऽ रहल अछि...", "noMandatory": "अहि सहमति लेल कोनहु अनिवार्य आवश्यकता नहि अछि।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "सहमति स्वीकृत करू", + "message": "की अहाँ निश्चित छी जे अहाँ ई सहमति मंजूर करय चाहैत छी?", + "note": "एहि सहमति द्वारा अनुरोध कएल गेल प्रत्येक उद्देश्य आ तत्वक लेल अनुदान स्वीकृत कएल जा रहल अछि।" }, "rejection": { "title": "अस्वीकृतिका पुष्टि करू", @@ -240,8 +242,8 @@ "endDateAriaLabel": "अंतिम तिथि फ़िल्टर", "clear": "सभ साफ़ करू", "clearAriaLabel": "सभ फ़िल्टर साफ़ करू", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सेवा द्वारा खोजू", + "state": "राज्य" }, "messages": { "loading": "सहमति सभ लोड भऽ रहल अछि...", @@ -267,8 +269,8 @@ "updated": "अद्यतन कएल गेल", "expiration": "समाप्ति", "actions": "कार्रवाई सभ", - "service": "Service", - "state": "State" + "service": "सेवा", + "state": "राज्य" } } }, @@ -292,10 +294,10 @@ "view": "देखू", "viewElement": "{{name}} देखू", "viewPurpose": "{{name}} देखू", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "संशोधन जोड़ू", + "reset": "पुन: सेट करू", + "search": "खोजू", + "setLatest": "नवीनतमक रूपमे सेट करू" }, "fields": { "actions": "कार्रवाई सभ", @@ -326,7 +328,7 @@ "schema": "स्कीमा", "type": "प्रकार", "version": "संस्करण", - "latestVersion": "Latest version" + "latestVersion": "नवीनतम संस्करण" }, "help": { "commaSeparatedGroups": "अनेक समूह आईडी केँ कॉमा सँ अलग करू", @@ -372,22 +374,22 @@ "nameLabel": "नाम", "nameRequired": "नाम आवश्यक अछि।", "displayNameLabel": "प्रदर्शित नाम", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "एकटा अद्वितीय मशीन पहिचानकर्ता, उदाहरण लेल \"ईमेल-एड्रेस\"।", + "submitting": "बनाओल जा रहल अछि...", + "duplicateName": "{{name}} नामक एकटा तत्व पहिने सँ मौजूद अछि। एकटा अलग नाम चुनु।", + "createFailed": "किछु गड़बड़ भेल आ तत्व नहि बनाओल जा सकल। कृपया फेर प्रयास करू।", + "propertyDuplicateKey": "ई चाभी एक सँ बेसी बेर प्रयोग कएल जाइत अछि। प्रत्येक गुणक लेल एक अलग चाभी प्रयोग करू।", + "propertyKeyRequired": "एकटा कुंजी जोड़ू, वा ई मान सुरक्षित नहि कयल जायत।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "एलिमेंट हटाऊ", + "message": "की अहाँ निश्चित छी जे अहाँ \"{{name}}\" केँ हटाबय चाहैत छी?", + "note": "ई क्रिया स्थायी अछि आ एकरा पूर्ववत नहि कएल जा सकैत अछि।", + "confirm": "एलिमेंट हटाऊ", + "conflict": "ई तत्व केँ हटाओल नहि जा सकैत अछि किएक कि ई अखनो एक या एक सँ अधिक उद्देश्य द्वारा उपयोग कएल जा रहल अछि। पहिने एकरा ओहि उद्देश्य सँ हटाउ।", + "deleteFailed": "किछु गड़बड़ भेल आ तत्व केँ हटाओल नहि जा सकल। कृपया फेर प्रयास करू।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "कोनो तत्व \"{{term}}\" सँ मेल नहि खा रहल अछि।" }, "purposes": { "add": "उद्देश्य जोड़ू", @@ -417,38 +419,38 @@ "typeLabel": "प्रकार", "versionLabel": "संस्करण", "elementsLabel": "तत्व सभ", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "टाइप करब आवश्यक अछि।", + "typeHelp": "उद्देश्यक प्रकार, जेना \"नीति\"।", + "versionRequired": "संस्करणक आवश्यकता अछि।", + "versionHelp": "एकटा संस्करण पहिचानकर्ता, जेना कि \"v1\"।", + "submitting": "बनाओल जा रहल अछि...", + "createFailed": "किछु गड़बड़ भेल आ उद्देश्य नहि बनाओल जा सकल। कृपया फेर प्रयास करू।" }, "versionForm": { "versionLabel": "संस्करण", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "संस्करण जोड़ू", + "versionRequired": "संस्करणक आवश्यकता अछि।", + "versionDuplicate": "एहि उद्देश्यक लेल पहिनहिसँ एहि नामक एकटा संस्करण अछि।", + "versionHelp": "एकटा संस्करण पहिचानकर्ता, जेना कि \"v2\"।", + "setAsLatestLabel": "नवीनतम संस्करणक रूप मे सेट करू", + "submitting": "बनाओल जा रहल अछि...", + "createFailed": "किछु गड़बड़ भेल आ संस्करण नहि बनाओल जा सकल। कृपया फेर प्रयास करू।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "उद्देश्य हटाऊ", + "message": "की अहाँ निश्चित छी जे अहाँ \"{{name}}\" केँ हटाबय चाहैत छी?", + "note": "ई क्रिया स्थायी अछि आ एकरा पूर्ववत नहि कएल जा सकैत अछि।", + "confirm": "उद्देश्य हटाऊ", + "conflict": "एहि उद्देश्यकेँ हटाओल नहि जा सकैत अछि किएक तँ एकर सन्दर्भ एखनहु एक वा एकसँ बेसी सहमति द्वारा कयल जा रहल अछि।", + "deleteFailed": "किछु गड़बड़ भेल आ उद्देश्य हटाओल नहि जा सकल। कृपया फेर प्रयास करू।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "की अहाँ निश्चित छी जे अहाँ संस्करण \"{{version}}\" हटाबय चाहैत छी?", + "note": "ई क्रिया स्थायी अछि आ एकरा पूर्ववत नहि कएल जा सकैत अछि।", + "deleteFailed": "किछु गड़बड़ भेल आ संस्करण हटाओल नहि जा सकल। कृपया फेर प्रयास करू।", + "latestBlocked": "नवीनतम संस्करण के हटाओल नहि जा सकैत अछि। पहिने दोसर संस्करण के नवीनतम के रूप में सेट करू।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "एहि खोज सँ कोनो उद्देश्य मेल नहि खा रहल अछि।" }, "details": { "definition": "परिभाषा", @@ -474,7 +476,7 @@ "noPurposeElements": "अखनि तक कोनहु तत्व नहि जोड़ल गेल अछि। उद्देश्य बनाबै लेल कम सँ कम एक तत्व जोड़ू।", "noVersions": "कोनहु संस्करण उपलब्ध नहि अछि।", "versionsLoadFailed": "अखनि संस्करण इतिहास लोड करै मे असमर्थ।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "एहि संस्करणकेँ नवीनतम रूपमे सेट करबामे असमर्थ छी। कृपया फेर प्रयास करू।" }, "validation": { "duplicateElements": "प्रत्येक तत्व केँ केवल एक बेर शामिल कएल जा सकैत अछि।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "प्रति पृष्ठ पंक्ति", + "previous": "पिछला", + "next": "अगिला" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ml/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ml/common.json index 0e26331d..59cc5a23 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ml/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ml/common.json @@ -24,13 +24,13 @@ "ariaLabel": "പ്രധാന നാവിഗേഷൻ", "dashboard": "ഡാഷ്‌ബോർഡ്", "consent": "സമ്മതം", - "allConsents": "എല്ലാ സമ്മതങ്ങളും", - "pendingConsents": "തീർപ്പുകൽപ്പിക്കാത്ത സമ്മതങ്ങൾ", + "allConsents": "എൻ്റെ സമ്മതങ്ങൾ", + "pendingConsents": "എൻ്റെ തീർപ്പാക്കാത്ത സമ്മതങ്ങൾ", "catalog": "നിർവചനങ്ങൾ", "purposes": "ലക്ഷ്യങ്ങൾ", "elements": "ഘടകങ്ങൾ", "administration": "ഭരണം", - "adminConsents": "സമ്മതങ്ങൾ", + "adminConsents": "എല്ലാ സമ്മതങ്ങളും", "nominations": "നോമിനേഷനുകൾ", "nomineeActivation": "നോമിനി ആക്ടിവേഷൻ", "myComplaints": "എന്റെ പരാതികൾ", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "നിങ്ങളുടെ എല്ലാ സമ്മതങ്ങളും തരം തിരിച്ച് ഗ്രൂപ്പുചെയ്‌തിരിക്കുന്നു", "noTypes": "സമ്മത തരങ്ങളൊന്നും ഇതുവരെ ലഭ്യമല്ല.", "viewPending": "തീർപ്പുകൽപ്പിക്കാത്ത എല്ലാ സമ്മതങ്ങളും കാണുക", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "സേവനമനുസരിച്ച് സമ്മതത്തിലെ തകർച്ച", + "serviceBreakdownSubtitle": "നിങ്ങളുടെ എല്ലാ സമ്മതങ്ങളും അഭ്യർത്ഥിക്കുന്ന സേവനമനുസരിച്ച് തരം തിരിച്ചിരിക്കുന്നു.", + "noServices": "ഇതുവരെ സേവനങ്ങളൊന്നും ലഭ്യമല്ല." }, "adminConsents": { "title": "സമ്മതങ്ങൾ", @@ -87,9 +87,10 @@ "groupIds": "ഗ്രൂപ്പ് ഐഡികൾ", "commaSeparatedUsers": "ഒന്നിലധികം ഉപയോക്തൃ ഐഡികൾ കോമ ഉപയോഗിച്ച് വേർതിരിക്കുക", "active": "സജീവമായ ഫിൽട്ടറുകൾ", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "സേവനം", + "removeConsentIdForState": "സംസ്ഥാന ഫിൽട്ടർ ഉപയോഗിക്കുന്നതിന് സമ്മത ഐഡി ഫിൽട്ടർ നീക്കം ചെയ്യുക.", + "propertyFilterLabel": "സമ്മത സ്വത്ത്", + "removeConsentIdForSubject": "ഉപയോക്തൃ ഐഡി ഫിൽട്ടർ ഉപയോഗിക്കുന്നതിന് സമ്മത ഐഡി ഫിൽട്ടർ നീക്കം ചെയ്യുക." } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ഇവന്റ് തരം", "date": "തീയതി", "time": "സമയം", - "state": "State" + "state": "സംസ്ഥാനം" }, "lifecycle": { "tableAriaLabel": "സമ്മത ജീവിതചക്രം", @@ -161,13 +162,14 @@ "required": "ആവശ്യമാണ്", "optional": "ഓപ്ഷണൽ" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "സേവനം", + "elementCount": "{{count}} ഘടകങ്ങൾ", + "elementCount_one": "{{count}} ഘടകം", + "elementCount_other": "{{count}} ഘടകങ്ങൾ", + "noAuthorizations": "ഈ സമ്മതത്തിന് അനുമതികളൊന്നും രേഖപ്പെടുത്തിയിട്ടില്ല.", + "noElements": "ഈ ലക്ഷ്യവുമായി ബന്ധപ്പെട്ട് യാതൊരു ഘടകങ്ങളും ഇല്ല.", + "noPurposes": "ഈ സമ്മതവുമായി ബന്ധപ്പെട്ട് ഒരു ലക്ഷ്യവുമില്ല.", + "noProperties": "ഈ സമ്മതവുമായി ബന്ധപ്പെട്ട് യാതൊരു സ്വത്തുക്കളും ഇല്ല." }, "actions": { "view": "കാണുക", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}}-ൽ {{elementLabel}}-നുള്ള അനുമതി ടോഗിൾ ചെയ്യുക", "loading": "സമ്മത വിശദാംശങ്ങൾ ലോഡുചെയ്യുന്നു...", "noMandatory": "ഈ സമ്മതത്തിന് നിർബന്ധിത ആവശ്യകതകളൊന്നുമില്ല.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "അംഗീകാരം നൽകുക", + "message": "ഈ സമ്മതം അംഗീകരിക്കാൻ നിങ്ങൾ ഉറപ്പാണോ?", + "note": "ഈ സമ്മതത്തിലൂടെ ആവശ്യപ്പെടുന്ന എല്ലാ ലക്ഷ്യങ്ങൾക്കും ഘടകങ്ങൾക്കും ധനസഹായം അനുവദിക്കുന്നു." }, "rejection": { "title": "നിരസിക്കൽ സ്ഥിരീകരിക്കുക", @@ -240,8 +242,8 @@ "endDateAriaLabel": "അവസാന തീയതി ഫിൽട്ടർ", "clear": "എല്ലാം മായ്‌ക്കുക", "clearAriaLabel": "എല്ലാ ഫിൽട്ടറുകളും മായ്‌ക്കുക", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "സേവനം അനുസരിച്ച് തിരയുക", + "state": "സംസ്ഥാനം" }, "messages": { "loading": "സമ്മതങ്ങൾ ലോഡുചെയ്യുന്നു...", @@ -267,8 +269,8 @@ "updated": "അപ്ഡേറ്റ് ചെയ്തത്", "expiration": "കാലഹരണപ്പെടൽ", "actions": "നടപടികൾ", - "service": "Service", - "state": "State" + "service": "സേവനം", + "state": "സംസ്ഥാനം" } } }, @@ -292,10 +294,10 @@ "view": "കാണുക", "viewElement": "{{name}} കാണുക", "viewPurpose": "{{name}} കാണുക", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "പുതിയ പതിപ്പ് ചേർക്കുക", + "reset": "പുനഃക്രമീകരിക്കുക", + "search": "തിരയുക", + "setLatest": "ഏറ്റവും പുതിയതായി സജ്ജമാക്കുക" }, "fields": { "actions": "നടപടികൾ", @@ -326,7 +328,7 @@ "schema": "സ്കീമ", "type": "തരം", "version": "പതിപ്പ്", - "latestVersion": "Latest version" + "latestVersion": "ഏറ്റവും പുതിയ പതിപ്പ്" }, "help": { "commaSeparatedGroups": "ഒന്നിലധികം ഗ്രൂപ്പ് ഐഡികൾ കോമ ഉപയോഗിച്ച് വേർതിരിക്കുക", @@ -372,22 +374,22 @@ "nameLabel": "പേര്", "nameRequired": "പേര് ആവശ്യമാണ്.", "displayNameLabel": "പ്രദർശിപ്പിക്കുന്ന പേര്", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "ഒരു അതുല്യമായ മെഷീൻ ഐഡന്‍റിഫയർ, ഉദാഹരണത്തിന് \"email-address\".", + "submitting": "സൃഷ്ടിക്കുന്നു...", + "duplicateName": "{{name}} എന്ന പേരിലുള്ള ഒരു ഘടകം നിലവിലുണ്ട്. മറ്റൊരു പേര് തിരഞ്ഞെടുക്കുക.", + "createFailed": "എന്തോ കുഴപ്പം സംഭവിച്ചു, അതിനാൽ എലമെന്റ് ഉണ്ടാക്കാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക.", + "propertyDuplicateKey": "ഈ കീ ഒന്നിലധികം തവണ ഉപയോഗിക്കുന്നു. ഓരോ പ്രോപ്പർട്ടിക്കും വ്യത്യസ്ത കീ ഉപയോഗിക്കുക.", + "propertyKeyRequired": "ഒരു കീ ചേർക്കുക, അല്ലെങ്കിൽ ഈ മൂല്യം സേവ് ചെയ്യില്ല." }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "ഘടകം നീക്കം ചെയ്യുക", + "message": "{{name}} ഡിലീറ്റ് ചെയ്യാൻ താങ്കൾക്ക് ഉറപ്പാണോ?", + "note": "ഈ പ്രവർത്തനം സ്ഥിരമാണ്, അത് പഴയപടിയാക്കാൻ കഴിയില്ല.", + "confirm": "ഘടകം നീക്കം ചെയ്യുക", + "conflict": "ഒന്നോ അതിലധികമോ ആവശ്യങ്ങൾക്കായി ഈ ഘടകം ഇപ്പോഴും ഉപയോഗിക്കുന്നതിനാൽ ഇത് നീക്കം ചെയ്യാൻ കഴിയില്ല. ആദ്യം ആ ആവശ്യങ്ങളിൽ നിന്ന് ഇത് നീക്കം ചെയ്യുക.", + "deleteFailed": "എന്തോ കുഴപ്പം സംഭവിച്ചു, അതിനാൽ എലമെന്റ് നീക്കം ചെയ്യാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക." }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "\"{{term}}\" എന്നതുമായി പൊരുത്തപ്പെടുന്ന ഘടകങ്ങളൊന്നും ഇല്ല." }, "purposes": { "add": "ലക്ഷ്യം ചേർക്കുക", @@ -417,38 +419,38 @@ "typeLabel": "തരം", "versionLabel": "പതിപ്പ്", "elementsLabel": "ഘടകങ്ങൾ", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "ടൈപ്പ് ചെയ്യേണ്ടത് ആവശ്യമാണ്.", + "typeHelp": "ഉദ്ദേശത്തിന്‍റെ തരം, ഉദാഹരണത്തിന് \"നയം\".", + "versionRequired": "പതിപ്പ് ആവശ്യമാണ്.", + "versionHelp": "ഒരു പതിപ്പ് തിരിച്ചറിയൽ, ഉദാഹരണത്തിന് \"v1\".", + "submitting": "സൃഷ്ടിക്കുന്നു...", + "createFailed": "എന്തോ കുഴപ്പം സംഭവിച്ചു, ഉദ്ദേശ്യം സൃഷ്ടിക്കാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക." }, "versionForm": { "versionLabel": "പതിപ്പ്", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "പുതിയ പതിപ്പ് ചേർക്കുക", + "versionRequired": "പതിപ്പ് ആവശ്യമാണ്.", + "versionDuplicate": "ഈ പേരിൽ ഈ ഉദ്ദേശ്യത്തിന് ഇതിനകം ഒരു പതിപ്പുണ്ട്.", + "versionHelp": "ഒരു പതിപ്പ് തിരിച്ചറിയൽ, ഉദാഹരണത്തിന് \"v2\".", + "setAsLatestLabel": "ഏറ്റവും പുതിയ പതിപ്പായി സജ്ജമാക്കുക", + "submitting": "സൃഷ്ടിക്കുന്നു...", + "createFailed": "എന്തോ തകരാറ് സംഭവിച്ചു, പതിപ്പ് ഉണ്ടാക്കാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക." }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "ലക്ഷ്യം നീക്കം ചെയ്യുക", + "message": "{{name}} ഡിലീറ്റ് ചെയ്യാൻ നിങ്ങൾ ഉറപ്പാണോ?", + "note": "ഈ പ്രവർത്തനം സ്ഥിരമാണ്, ഇത് പഴയപടിയാക്കാൻ കഴിയില്ല.", + "confirm": "ലക്ഷ്യം നീക്കം ചെയ്യുക", + "conflict": "ഒന്നോ അതിലധികമോ സമ്മതങ്ങൾ ഇപ്പോഴും പരാമർശിക്കുന്നതിനാൽ ഈ ഉദ്ദേശ്യം ഇല്ലാതാക്കാൻ കഴിയില്ല.", + "deleteFailed": "എന്തോ തകരാറ് സംഭവിച്ചു, ഉദ്ദേശ്യം നീക്കം ചെയ്യാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക." }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "{{version}} എന്ന പതിപ്പ് നീക്കം ചെയ്യാൻ നിങ്ങൾ ഉറപ്പാണോ?", + "note": "ഈ പ്രവർത്തനം സ്ഥിരമാണ്, അത് പഴയപടിയാക്കാൻ കഴിയില്ല.", + "deleteFailed": "എന്തോ തകരാറ് സംഭവിച്ചു, അതിനാൽ പതിപ്പ് നീക്കം ചെയ്യാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക.", + "latestBlocked": "ഏറ്റവും പുതിയ പതിപ്പ് നീക്കം ചെയ്യാൻ കഴിയില്ല. മറ്റൊരു പതിപ്പ് ആദ്യം ഏറ്റവും പുതിയതായി സജ്ജമാക്കുക." }, - "emptySearch": "No purposes match this search." + "emptySearch": "ഈ തിരയലുമായി പൊരുത്തപ്പെടുന്ന ലക്ഷ്യങ്ങളൊന്നും ലഭ്യമല്ല." }, "details": { "definition": "നിർവചനം", @@ -474,7 +476,7 @@ "noPurposeElements": "ഘടകങ്ങളൊന്നും ഇതുവരെ ചേർത്തിട്ടില്ല. ലക്ഷ്യം സൃഷ്ടിക്കാൻ കുറഞ്ഞത് ഒരു ഘടകമെങ്കിലും ചേർക്കുക.", "noVersions": "പതിപ്പുകളൊന്നും ലഭ്യമല്ല.", "versionsLoadFailed": "ഇപ്പോൾ പതിപ്പ് ചരിത്രം ലോഡുചെയ്യാൻ കഴിഞ്ഞില്ല.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ഈ പതിപ്പ് ഏറ്റവും പുതിയതായി സജ്ജമാക്കാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക." }, "validation": { "duplicateElements": "ഓരോ ഘടകവും ഒരിക്കൽ മാത്രമേ ഉൾപ്പെടുത്താൻ കഴിയൂ.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "ഓരോ പേജിലെയും വരികൾ", + "previous": "മുമ്പത്തെ", + "next": "അടുത്തത്" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mni/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mni/common.json index 79913e2b..34d7a8ce 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mni/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mni/common.json @@ -24,13 +24,13 @@ "ariaLabel": "অহানবা নেভিগেসন", "dashboard": "ড্যাসবোর্ড (Dashboard)", "consent": "য়ানবা (Consent)", - "allConsents": "পুম্নমক য়ানবা", - "pendingConsents": "ঙাইরিবা য়ানবা", + "allConsents": "My Consents", + "pendingConsents": "My Pending Consents", "catalog": "সংজ্ঞাসিং (Definitions)", "purposes": "পান্দমশিং (Purposes)", "elements": "মচাকশিং (Elements)", "administration": "শাসন/পরিচালনা", - "adminConsents": "য়ানবা কেন্দ্র", + "adminConsents": "All Consents", "nominations": "মনোনয়ন (Nominations)", "nomineeActivation": "মনোনীত মীওই থবক খৌবা", "myComplaints": "ইগী ৱাকৎশিং", @@ -87,9 +87,10 @@ "groupIds": "গ্রুপ আইডিসিং", "commaSeparatedUsers": "কমা শীজিন্নদুনা কয়াংশিং খাইদোকবিয়ু", "active": "অ্যাক্টিভ ফিল্টরশিং", - "subjectIdHelp": "Username of the data subject", "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "removeConsentIdForState": "Remove the Consent ID filter to use the state filter.", + "propertyFilterLabel": "Consent property", + "removeConsentIdForSubject": "Remove the Consent ID filter to use the User ID filter." } }, "consentRegistry": { @@ -167,7 +168,8 @@ "elementCount_other": "{{count}} elements", "noAuthorizations": "No authorizations are recorded for this consent.", "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "noPurposes": "No purposes are associated with this consent.", + "noProperties": "No properties are associated with this consent." }, "actions": { "view": "য়েংবিয়ু", diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mr/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mr/common.json index 37f2714e..ce2a2869 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mr/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/mr/common.json @@ -24,13 +24,13 @@ "ariaLabel": "प्राथमिक नेव्हिगेशन", "dashboard": "डॅशबोर्ड", "consent": "संमती", - "allConsents": "सर्व संमती", - "pendingConsents": "प्रलंबित संमती", + "allConsents": "माझ्या संमती", + "pendingConsents": "माझ्या प्रलंबित संमती", "catalog": "व्याख्या", "purposes": "उद्देश", "elements": "घटक", "administration": "प्रशासन", - "adminConsents": "संमती", + "adminConsents": "सर्व संमती", "nominations": "नामांकने", "nomineeActivation": "नॉमिनी सक्रियकरण", "myComplaints": "माझ्या तक्रारी", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "तुमच्या सर्व संमती प्रकारानुसार गटबद्ध केल्या आहेत", "noTypes": "अद्याप कोणतेही संमती प्रकार उपलब्ध नाहीत.", "viewPending": "सर्व प्रलंबित संमती पहा", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सेवेनुसार संमती भंग", + "serviceBreakdownSubtitle": "तुमच्या सर्व संमती, मागणी केलेल्या सेवेनुसार गटबद्ध केल्या आहेत.", + "noServices": "अद्याप कोणतीही सेवा उपलब्ध नाही." }, "adminConsents": { "title": "संमती", @@ -87,9 +87,10 @@ "groupIds": "गट आयडी", "commaSeparatedUsers": "अनेक वापरकर्ता आयडी स्वल्पविरामाने वेगळे करा", "active": "सक्रिय फिल्टर्स", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सेवा", + "removeConsentIdForState": "राज्य फिल्टर वापरण्यासाठी संमती आयडी फिल्टर काढा.", + "propertyFilterLabel": "संमती मालमत्ता", + "removeConsentIdForSubject": "युजर आयडी फिल्टर वापरण्यासाठी संमती आयडी फिल्टर काढून टाका." } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "इव्हेंटचा प्रकार", "date": "तारीख", "time": "वेळ", - "state": "State" + "state": "राज्य" }, "lifecycle": { "tableAriaLabel": "संमती जीवनचक्र", @@ -161,13 +162,14 @@ "required": "आवश्यक", "optional": "पर्यायी" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सेवा", + "elementCount": "{{count}} घटक", + "elementCount_one": "{{count}} घटक", + "elementCount_other": "{{count}} घटक", + "noAuthorizations": "या संमतीसाठी कोणतीही अधिकृतता नोंदवली जात नाही.", + "noElements": "या उद्देशाशी कोणतेही घटक संबंधित नाहीत.", + "noPurposes": "या संमतीशी कोणतेही उद्देश जोडलेले नाहीत.", + "noProperties": "या संमतीशी कोणतेही गुणधर्म संबंधित नाहीत." }, "actions": { "view": "पहा", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} मधील {{elementLabel}} साठी परवानगी टॉगल करा", "loading": "संमती तपशील लोड होत आहेत...", "noMandatory": "या संमतीसाठी कोणत्याही अनिवार्य आवश्यकता नाहीत.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "संमती मंजूर करा", + "message": "तुम्ही ही संमती मंजूर करू इच्छिता याची तुम्हाला खात्री आहे का?", + "note": "या संमतीद्वारे विनंती केलेल्या प्रत्येक उद्देश आणि घटकांसाठी अनुदान मंजूर करणे." }, "rejection": { "title": "नकार निश्चित करा", @@ -240,8 +242,8 @@ "endDateAriaLabel": "अंतिम तारीख फिल्टर", "clear": "सर्व साफ करा", "clearAriaLabel": "सर्व फिल्टर साफ करा", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सेवेनुसार शोधा", + "state": "राज्य" }, "messages": { "loading": "संमती लोड होत आहेत...", @@ -267,8 +269,8 @@ "updated": "अपडेट केले", "expiration": "कालबाह्य", "actions": "कृती", - "service": "Service", - "state": "State" + "service": "सेवा", + "state": "राज्य" } } }, @@ -292,10 +294,10 @@ "view": "पहा", "viewElement": "{{name}} पहा", "viewPurpose": "{{name}} पहा", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "आवृत्ती जोडा", + "reset": "पुनर्सेट करा", + "search": "शोध", + "setLatest": "नवीनतम म्हणून सेट करा" }, "fields": { "actions": "कृती", @@ -326,7 +328,7 @@ "schema": "स्कीमा", "type": "प्रकार", "version": "आवृत्ती", - "latestVersion": "Latest version" + "latestVersion": "नवीनतम आवृत्ती" }, "help": { "commaSeparatedGroups": "अनेक गट आयडी स्वल्पविरामाने वेगळे करा", @@ -372,22 +374,22 @@ "nameLabel": "नाव", "nameRequired": "नाव आवश्यक आहे.", "displayNameLabel": "प्रदर्शित नाव", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "एक अद्वितीय मशीन आयडेंटिफायर, उदाहरणार्थ \"ईमेल-अ‍ॅड्रेस\".", + "submitting": "तयार करत आहे...", + "duplicateName": "{{name}} नावाचे एक घटक आधीपासूनच अस्तित्वात आहे. दुसरे नाव निवडा.", + "createFailed": "काहीतरी गडबड झाली आणि घटक तयार करता आला नाही. कृपया पुन्हा प्रयत्न करा.", + "propertyDuplicateKey": "ही किल्ली एकापेक्षा जास्त वेळा वापरली जाते. प्रत्येक गुणधर्मासाठी वेगळी किल्ली वापरा.", + "propertyKeyRequired": "एक की जोडा, अन्यथा हे मूल्य जतन केले जाणार नाही." }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "घटक हटवा", + "message": "तुम्ही \"{{name}}\" नक्की डिलीट करू इच्छिता?", + "note": "ही कृती कायमस्वरूपी आहे आणि पूर्ववत केली जाऊ शकत नाही.", + "confirm": "घटक हटवा", + "conflict": "हे घटक हटवता येणार नाही कारण ते अजूनही एक किंवा अधिक उद्देशांसाठी वापरले जात आहे. ते प्रथम त्या उद्देशांमधून काढून टाका.", + "deleteFailed": "काहीतरी गडबड झाली आणि घटक हटवता आला नाही. कृपया पुन्हा प्रयत्न करा." }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "{{term}} शी जुळणारे कोणतेही घटक नाहीत." }, "purposes": { "add": "उद्देश जोडा", @@ -417,38 +419,38 @@ "typeLabel": "प्रकार", "versionLabel": "आवृत्ती", "elementsLabel": "घटक", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "प्रकार आवश्यक आहे.", + "typeHelp": "उद्देश्याचा प्रकार, उदा. \"धोरण\".", + "versionRequired": "आवृत्ती आवश्यक आहे.", + "versionHelp": "एक आवृत्ती ओळखकर्ता, उदा. \"v1\".", + "submitting": "तयार करत आहे...", + "createFailed": "काहीतरी गडबड झाली आणि उद्देश तयार करता आला नाही. कृपया पुन्हा प्रयत्न करा." }, "versionForm": { "versionLabel": "आवृत्ती", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "आवृत्ती जोडा", + "versionRequired": "आवृत्ती आवश्यक आहे.", + "versionDuplicate": "या उद्देशासाठी या नावाची आवृत्ती आधीच आहे.", + "versionHelp": "एक आवृत्ती ओळखकर्ता, उदा. \"v2\".", + "setAsLatestLabel": "नवीनतम आवृत्ती म्हणून सेट करा.", + "submitting": "तयार करत आहे...", + "createFailed": "काहीतरी गडबड झाली आणि आवृत्ती तयार करता आली नाही. कृपया पुन्हा प्रयत्न करा." }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "हेतू हटवा", + "message": "तुम्ही \"{{name}}\" नक्की डिलीट करू इच्छिता?", + "note": "ही कृती कायमस्वरूपी आहे आणि पूर्ववत केली जाऊ शकत नाही.", + "confirm": "हेतू हटवा", + "conflict": "हा उद्देश वगळता येणार नाही कारण तो अजूनही एक किंवा अधिक संमतीद्वारे संदर्भित आहे.", + "deleteFailed": "काहीतरी गडबड झाली आणि उद्देश हटवता आला नाही. कृपया पुन्हा प्रयत्न करा." }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "तुम्ही नक्की खात्री बाळगता की तुम्हाला \"{{version}} ही आवृत्ती हटवायची आहे?\"", + "note": "ही कृती कायमस्वरूपी आहे आणि पूर्ववत केली जाऊ शकत नाही.", + "deleteFailed": "काहीतरी गडबड झाली आणि आवृत्ती हटवता आली नाही. कृपया पुन्हा प्रयत्न करा.", + "latestBlocked": "नवीनतम आवृत्ती हटवता येत नाही. दुसरी आवृत्ती प्रथम नवीनतम म्हणून सेट करा." }, - "emptySearch": "No purposes match this search." + "emptySearch": "या शोधाशी जुळणारे कोणतेही उद्देश नाहीत." }, "details": { "definition": "व्याख्या", @@ -474,7 +476,7 @@ "noPurposeElements": "अद्याप कोणतेही घटक जोडलेले नाहीत. उद्देश तयार करण्यासाठी किमान एक घटक जोडा.", "noVersions": "कोणत्याही आवृत्त्या उपलब्ध नाहीत.", "versionsLoadFailed": "सध्या आवृत्ती इतिहास लोड करण्यात अक्षम.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ही आवृत्ती नवीनतम म्हणून सेट करणे शक्य नाही. कृपया पुन्हा प्रयत्न करा." }, "validation": { "duplicateElements": "प्रत्येक घटक केवळ एकदाच समाविष्ट केला जाऊ शकतो.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "प्रति पान ओळी", + "previous": "मागील", + "next": "पुढे" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ne/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ne/common.json index c3ff00a4..7e56462b 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ne/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ne/common.json @@ -24,13 +24,13 @@ "ariaLabel": "मुख्य नाभिगेसन", "dashboard": "ड्यासबोर्ड", "consent": "सहमति", - "allConsents": "सबै सहमतिहरू", - "pendingConsents": "पेन्डिङ सहमतिहरू", + "allConsents": "मेरो सहमतिहरू", + "pendingConsents": "मेरो विचाराधीन सहमतिहरू", "catalog": "परिभाषाहरू", "purposes": "उद्देश्यहरू", "elements": "तत्वहरू", "administration": "प्रशासन", - "adminConsents": "सहमतिहरू", + "adminConsents": "सबै सहमतिहरू", "nominations": "मनोनयनहरू", "nomineeActivation": "मनोनीत सक्रियता", "myComplaints": "मेरो उजुरीहरू", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "प्रकार अनुसार समूहबद्ध गरिएका सहमतिहरू", "noTypes": "कुनै पनि सहमति प्रकार अझै उपलब्ध छैनन्।", "viewPending": "सबै पेन्डिङ सहमतिहरू हेर्नुहोस्", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सेवा अनुसार सहमति विच्छेद", + "serviceBreakdownSubtitle": "तपाईंको सबै सहमतिहरू अनुरोध गरिएको सेवाद्वारा समूहबद्ध गरिएका छन्।", + "noServices": "अहिलेसम्म कुनै सेवा उपलब्ध छैन।" }, "adminConsents": { "title": "सहमतिहरू", @@ -87,9 +87,10 @@ "groupIds": "समूह IDs", "commaSeparatedUsers": "धेरै प्रयोगकर्ता ID हरू अल्पविरामले छुट्याउनुहोस्", "active": "सक्रिय फिल्टरहरू", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सेवा", + "removeConsentIdForState": "राज्य फिल्टर प्रयोग गर्न सहमति आईडी फिल्टर हटाउनुहोस्।", + "propertyFilterLabel": "सहमति सम्पत्ति", + "removeConsentIdForSubject": "प्रयोगकर्ता आइडी फिल्टर प्रयोग गर्न सहमति आइडी फिल्टर हटाउनुहोस्।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "घटना प्रकार", "date": "मिति", "time": "समय", - "state": "State" + "state": "राज्य" }, "lifecycle": { "tableAriaLabel": "सहमति जीवनचक्र", @@ -161,13 +162,14 @@ "required": "अनिवार्य", "optional": "ऐच्छिक" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सेवा", + "elementCount": "{{count}} वटा तत्त्वहरू", + "elementCount_one": "{{count}} तत्व", + "elementCount_other": "{{count}} वटा तत्त्वहरू", + "noAuthorizations": "यो सहमतिका लागि कुनै अनुमतिहरू रेकर्ड गरिएको छैन।", + "noElements": "यस उद्देश्यसँग कुनै तत्त्वहरू सम्बन्धित छैनन्।", + "noPurposes": "यो सहमतिसँग कुनै उद्देश्यहरू सम्बन्धित छैनन्।", + "noProperties": "यो सहमतिसँग कुनै सम्पत्तिहरू सम्बन्धित छैनन्।" }, "actions": { "view": "हेर्नुहोस्", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} मा {{elementLabel}} को लागि अनुमति टोगल गर्नुहोस्", "loading": "सहमति विवरण लोड हुँदैछ...", "noMandatory": "यस सहमतिको लागि कुनै अनिवार्य आवश्यकताहरू छैनन्।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "अनुमति स्वीकृत गर्नुहोस्", + "message": "के तपाईँ साँच्चै यो सहमति स्वीकृत गर्न चाहनुहुन्छ?", + "note": "यस सहमतिद्वारा अनुरोध गरिएको प्रत्येक उद्देश्य र तत्वलाई अनुदान स्वीकृत गर्दै।" }, "rejection": { "title": "अस्वीकृति पुष्टि गर्नुहोस्", @@ -240,8 +242,8 @@ "endDateAriaLabel": "अन्तिम मिति फिल्टर", "clear": "सबै हटाउनुहोस्", "clearAriaLabel": "सबै फिल्टरहरू हटाउनुहोस्", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सेवाद्वारा खोज्नुहोस्", + "state": "राज्य" }, "messages": { "loading": "सहमतिहरू लोड हुँदैछन्...", @@ -267,8 +269,8 @@ "updated": "अद्यावधिक गरिएको", "expiration": "समाप्ति मिति", "actions": "कार्यहरू", - "service": "Service", - "state": "State" + "service": "सेवा", + "state": "राज्य" } } }, @@ -292,10 +294,10 @@ "view": "हेर्नुहोस्", "viewElement": "{{name}} हेर्नुहोस्", "viewPurpose": "{{name}} हेर्नुहोस्", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "संस्करण थप्नुहोस्", + "reset": "पुनर्सेट", + "search": "खोज", + "setLatest": "नवीनतम रूपमा सेट गर्नुहोस्" }, "fields": { "actions": "कार्यहरू", @@ -326,7 +328,7 @@ "schema": "स्कीमा", "type": "प्रकार", "version": "संस्करण", - "latestVersion": "Latest version" + "latestVersion": "नवीनतम संस्करण" }, "help": { "commaSeparatedGroups": "धेरै समूह ID हरू अल्पविरामले छुट्याउनुहोस्", @@ -372,22 +374,22 @@ "nameLabel": "नाम", "nameRequired": "नाम आवश्यक छ।", "displayNameLabel": "देखाउने नाम", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "एउटा अद्वितीय मेसिन पहिचानकर्ता, उदाहरणका लागि \"email-address\"।", + "submitting": "सिर्जना गर्दै...", + "duplicateName": "{{name}} नामको एकजना सदस्य पहिले नै अवस्थित छ। फरक नाम छान्नुहोस्।", + "createFailed": "केही गडबड भयो र तत्व सिर्जना गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।", + "propertyDuplicateKey": "यो कुञ्जी एक पटक भन्दा बढी प्रयोग गरिन्छ। प्रत्येक सम्पत्तिको लागि फरक कुञ्जी प्रयोग गर्नुहोस्।", + "propertyKeyRequired": "एउटा कुञ्जी थप्नुहोस्, वा यो मान सुरक्षित गरिने छैन।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "तत्व मेटाउनुहोस्", + "message": "के तपाईँ साँच्चै \"{{name}} लाई मेटाउन चाहनुहुन्छ?", + "note": "यो कार्य स्थायी छ र यसलाई पूर्ववत गर्न सकिँदैन।", + "confirm": "तत्व मेटाउनुहोस्", + "conflict": "यो तत्व मेटाउन सकिँदैन किनकि यो अझै पनि एक वा धेरै उद्देश्यहरूद्वारा प्रयोग गरिन्छ। पहिले यसलाई ती उद्देश्यहरूबाट हटाउनुहोस्।", + "deleteFailed": "केही गडबड भयो र तत्व मेटाउन सकिएन। कृपया फेरि प्रयास गर्नुहोस्।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "कुनै पनि तत्वहरू \"{{term}}\" सँग मेल खाँदैनन्।" }, "purposes": { "add": "उद्देश्य थप्नुहोस्", @@ -417,38 +419,38 @@ "typeLabel": "प्रकार", "versionLabel": "संस्करण", "elementsLabel": "तत्वहरू", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "प्रकार आवश्यक छ।", + "typeHelp": "उद्देश्यको प्रकार, उदाहरणका लागि \"नीति\"।", + "versionRequired": "संस्करण आवश्यक छ।", + "versionHelp": "एउटा संस्करण पहिचानकर्ता, उदाहरणका लागि \"v1\"।", + "submitting": "सिर्जना गर्दै...", + "createFailed": "केही गडबड भयो र उद्देश्य सिर्जना गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।" }, "versionForm": { "versionLabel": "संस्करण", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "संस्करण थप्नुहोस्", + "versionRequired": "संस्करण आवश्यक छ।", + "versionDuplicate": "यो उद्देश्यको पहिले नै यस नामको संस्करण छ।", + "versionHelp": "एउटा संस्करण पहिचानकर्ता, उदाहरणका लागि \"v2\"।", + "setAsLatestLabel": "नवीनतम संस्करणको रूपमा सेट गर्नुहोस्।", + "submitting": "सिर्जना गर्दै...", + "createFailed": "केही गडबडी भयो र संस्करण सिर्जना गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "उद्देश्य मेटाउनुहोस्", + "message": "के तपाईँ साँच्चै \"{{name}} लाई मेटाउन चाहनुहुन्छ?", + "note": "यो कार्य स्थायी छ र यसलाई पूर्ववत गर्न सकिँदैन।", + "confirm": "उद्देश्य मेटाउनुहोस्", + "conflict": "यो उद्देश्य मेट्न सकिँदैन किनभने यो अझै पनि एक वा बढी सहमतिहरूद्वारा सन्दर्भित छ।", + "deleteFailed": "केही गडबड भयो र उद्देश्य मेटाउन सकिएन। कृपया फेरि प्रयास गर्नुहोस्।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "के तपाईं वाकई संस्करण \"{{version}}\" मेटाउन चाहनुहुन्छ?", + "note": "यो कार्य स्थायी छ र यसलाई पूर्ववत गर्न सकिँदैन।", + "deleteFailed": "केही गडबड भयो र संस्करण मेटाउन सकिएन। कृपया फेरि प्रयास गर्नुहोस्।", + "latestBlocked": "नवीनतम संस्करण मेट्न सकिँदैन। अर्को संस्करणलाई पहिले नवीनतमको रूपमा सेट गर्नुहोस्।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "यो खोजसँग कुनै उद्देश्यहरू मेल खाँदैनन्।" }, "details": { "definition": "परिभाषा", @@ -474,7 +476,7 @@ "noPurposeElements": "अझै कुनै तत्व थपिएको छैन। उद्देश्य सिर्जना गर्न कम्तिमा एउटा तत्व थप्नुहोस्।", "noVersions": "कुनै संस्करणहरू उपलब्ध छैनन्।", "versionsLoadFailed": "अहिले संस्करण इतिहास लोड गर्न सकिएन।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "यो संस्करणलाई नवीनतमको रूपमा सेट गर्न असमर्थ। कृपया फेरि प्रयास गर्नुहोस्।" }, "validation": { "duplicateElements": "प्रत्येक तत्व एक पटक मात्र समाविष्ट गर्न सकिन्छ।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "प्रति पृष्ठ पङ्क्तिहरू", + "previous": "पहिले", + "next": "अर्को" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/or/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/or/common.json index a848521c..7b733d80 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/or/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/or/common.json @@ -24,13 +24,13 @@ "ariaLabel": "ପ୍ରାଥମିକ ନେଭିଗେସନ୍", "dashboard": "ଡ୍ୟାସବୋର୍ଡ", "consent": "ସମ୍ମତି", - "allConsents": "ସମସ୍ତ ସମ୍ମତି", - "pendingConsents": "ବକେୟା ସମ୍ମତି", + "allConsents": "ମୋର ସମ୍ମତି", + "pendingConsents": "ମୋର ଅପେକ୍ଷାରତ ସମ୍ମତିଗୁଡ଼ିକ", "catalog": "ବ୍ୟାଖ୍ୟାଗୁଡ଼ିକ", "purposes": "ଉଦ୍ଦେଶ୍ୟଗୁଡ଼ିକ", "elements": "ଉପାଦାନଗୁଡ଼ିକ", "administration": "ପ୍ରଶାସନ", - "adminConsents": "ସମ୍ମତିଗୁଡ଼ିକ", + "adminConsents": "ସମସ୍ତ ସମ୍ମତି", "nominations": "ନାମାଙ୍କନ", "nomineeActivation": "ନୋମିନୀ ସକ୍ରିୟକରଣ", "myComplaints": "ମୋର ଅଭିଯୋଗ", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "ଆପଣଙ୍କର ସମସ୍ତ ସମ୍ମତି ପ୍ରକାର ଅନୁଯାୟୀ ବର୍ଗୀକୃତ", "noTypes": "ଏପର୍ଯ୍ୟନ୍ତ କୌଣସି ସମ୍ମତି ପ୍ରକାର ଉପଲବ୍ଧ ନାହିଁ.", "viewPending": "ସମସ୍ତ ବକେୟା ସମ୍ମତି ଦେଖନ୍ତୁ", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "ସେବା ଅନୁସାରେ ସମ୍ମତି ଭଙ୍ଗ", + "serviceBreakdownSubtitle": "ଆପଣଙ୍କର ସମସ୍ତ ସମ୍ମତି ଅନୁରୋଧ ସେବା ଦ୍ୱାରା ଗୋଷ୍ଠୀଭୁକ୍ତ କରାଯାଇଛି |", + "noServices": "ଏପର୍ଯ୍ୟନ୍ତ କୌଣସି ସେବା ଉପଲବ୍ଧ ନାହିଁ।" }, "adminConsents": { "title": "ସମ୍ମତିଗୁଡ଼ିକ", @@ -87,9 +87,10 @@ "groupIds": "ଗ୍ରୁପ୍ ID ଗୁଡ଼ିକ", "commaSeparatedUsers": "ଏକାଧିକ ଉପଯୋଗକର୍ତ୍ତା ID କୁ କମା ଦ୍ୱାରା ଅଲଗା କରନ୍ତୁ", "active": "ସକ୍ରିୟ ଫିଲ୍ଟର୍", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "ସେବା", + "removeConsentIdForState": "ରାଜ୍ୟ ଫିଲ୍ଟର୍ ବ୍ୟବହାର କରିବାକୁ ସମ୍ମତି ID ଫିଲ୍ଟର୍ ଅପସାରଣ କରନ୍ତୁ |", + "propertyFilterLabel": "ସମ୍ମତି ସମ୍ପତ୍ତି", + "removeConsentIdForSubject": "ଉପଭୋକ୍ତା ID ଫିଲ୍ଟର୍ ବ୍ୟବହାର କରିବା ପାଇଁ ସମ୍ମତି ID ଫିଲ୍ଟର୍ ହଟାନ୍ତୁ।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ଇଭେଣ୍ଟ ପ୍ରକାର", "date": "ତାରିଖ", "time": "ସମୟ", - "state": "State" + "state": "ରାଜ୍ୟ" }, "lifecycle": { "tableAriaLabel": "ସମ୍ମତି ଜୀବନଚକ୍ର", @@ -161,13 +162,14 @@ "required": "ଆବଶ୍ୟକ", "optional": "ଇଚ୍ଛାଧୀନ" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "ସେବା", + "elementCount": "{{count}} ଉପାଦାନଗୁଡ଼ିକ", + "elementCount_one": "{{count}} ଉପାଦାନ", + "elementCount_other": "{{count}} ଉପାଦାନଗୁଡ଼ିକ", + "noAuthorizations": "ଏହି ସମ୍ମତି ପାଇଁ କୌଣସି ଅନୁମତି ରେକର୍ଡ କରାଯାଇ ନାହିଁ।", + "noElements": "ଏହି ଉଦ୍ଦେଶ୍ୟ ସହିତ କୌଣସି ଉପାଦାନ ଜଡିତ ନାହିଁ।", + "noPurposes": "ଏହି ସମ୍ମତି ସହିତ କୌଣସି ଉଦ୍ଦେଶ୍ୟ ଜଡ଼ିତ ନାହିଁ।", + "noProperties": "ଏହି ସମ୍ମତି ସହିତ କୌଣସି ସମ୍ପତ୍ତି ଜଡ଼ିତ ନାହିଁ।" }, "actions": { "view": "ଦେଖନ୍ତୁ", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} ରେ {{elementLabel}} ପାଇଁ ଅନୁମତି ଟୋଗଲ୍ କରନ୍ତୁ", "loading": "ସମ୍ମତି ବିବରଣୀ ଲୋଡ୍ ହେଉଛି...", "noMandatory": "ଏହି ସମ୍ମତି ପାଇଁ କୌଣସି ବାଧ୍ୟତାମୂଳକ ଆବଶ୍ୟକତା ନାହିଁ.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "ଅନୁମୋଦନ ସମ୍ମତିକୁ ମଞ୍ଜୁର କରନ୍ତୁ |", + "message": "ଆପଣ ନିଶ୍ଚିତ କି ଆପଣ ଏହି ସମ୍ମତିକୁ ଅନୁମୋଦନ କରିବାକୁ ଚାହୁଁଛନ୍ତି?", + "note": "ଏହି ସମ୍ମତି ଦ୍ୱାରା ଅନୁରୋଧ କରାଯାଇଥିବା ପ୍ରତ୍ୟେକ ଉଦ୍ଦେଶ୍ୟ ଏବଂ ଉପାଦାନ ପାଇଁ ଅନୁଦାନ ମଞ୍ଜୁର କରାଯାଉଛି।" }, "rejection": { "title": "ପ୍ରତ୍ୟାଖ୍ୟାନ ନିଶ୍ଚିତ କରନ୍ତୁ", @@ -240,8 +242,8 @@ "endDateAriaLabel": "ଶେଷ ତାରିଖ ଫିଲ୍ଟର୍", "clear": "ସବୁ ସଫା କରନ୍ତୁ", "clearAriaLabel": "ସମସ୍ତ ଫିଲ୍ଟର୍ ସଫା କରନ୍ତୁ", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "ସେବା ଅନୁସାରେ ଖୋଜନ୍ତୁ |", + "state": "ରାଜ୍ୟ" }, "messages": { "loading": "ସମ୍ମତିଗୁଡ଼ିକ ଲୋଡ୍ ହେଉଛି...", @@ -267,8 +269,8 @@ "updated": "ଅପଡେଟ୍ ହୋଇଛି", "expiration": "ମିଆଦ ଶେଷ", "actions": "କାର୍ଯ୍ୟଗୁଡ଼ିକ", - "service": "Service", - "state": "State" + "service": "ସେବା", + "state": "ରାଜ୍ୟ" } } }, @@ -292,10 +294,10 @@ "view": "ଦେଖନ୍ତୁ", "viewElement": "{{name}} ଦେଖନ୍ତୁ", "viewPurpose": "{{name}} ଦେଖନ୍ତୁ", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "ସଂସ୍କରଣ ଯୋଡନ୍ତୁ", + "reset": "ପୁନଃ ସେଟ୍ କରନ୍ତୁ", + "search": "ସନ୍ଧାନ କରନ୍ତୁ", + "setLatest": "ସର୍ବଶେଷ ଭାବରେ ସେଟ୍ କରନ୍ତୁ |" }, "fields": { "actions": "କାର୍ଯ୍ୟଗୁଡ଼ିକ", @@ -326,7 +328,7 @@ "schema": "ସ୍କିମା (Schema)", "type": "ପ୍ରକାର", "version": "ସଂସ୍କରଣ", - "latestVersion": "Latest version" + "latestVersion": "ନୂତନ ସଂସ୍କରଣ" }, "help": { "commaSeparatedGroups": "ଏକାଧିକ ଗ୍ରୁପ୍ ID କୁ କମା ଦ୍ୱାରା ଅଲଗା କରନ୍ତୁ", @@ -372,22 +374,22 @@ "nameLabel": "ନାମ", "nameRequired": "ନାମ ଆବଶ୍ୟକ ଅଟେ.", "displayNameLabel": "ପ୍ରଦର୍ଶନ ନାମ", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "ଏକ ଅନନ୍ୟ ମେସିନ୍ ପରିଚୟକାରୀ, ଉଦାହରଣ ସ୍ୱରୂପ \"email-address\"।", + "submitting": "ସୃଷ୍ଟି କରାଯାଉଛି...", + "duplicateName": "{{name}} ନାମକ ଏକ ଉପାଦାନ ପୂର୍ବରୁ ବିଦ୍ୟମାନ ଅଛି। ଏକ ଭିନ୍ନ ନାମ ବାଛନ୍ତୁ।", + "createFailed": "କିଛି ଭୁଲ୍ ହୋଇଗଲା ଏବଂ ଉପାଦାନଟି ସୃଷ୍ଟି ହୋଇପାରିଲା ନାହିଁ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।", + "propertyDuplicateKey": "ଏହି କି (key) ଏକାଧିକ ଥର ବ୍ୟବହୃତ ହୋଇଛି। ପ୍ରତ୍ୟେକ ପ୍ରପର୍ଟି ପାଇଁ ଏକ ଭିନ୍ନ କି (key) ବ୍ୟବହାର କରନ୍ତୁ।", + "propertyKeyRequired": "ଏକ କୀ ଯୋଡ଼ନ୍ତୁ, ନଚେତ୍ ଏହି ମୂଲ୍ୟ ସେଭ୍ ହେବ ନାହିଁ।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "ଉପାଦାନକୁ ଡିଲିଟ୍ କରନ୍ତୁ", + "message": "ଆପଣ ନିଶ୍ଚିତ କି ଆପଣ \"{{name}}\" କୁ ଡିଲିଟ୍ କରିବାକୁ ଚାହୁଁଛନ୍ତି?", + "note": "ଏହି କାର୍ଯ୍ୟଟି ସ୍ଥାୟୀ ଏବଂ ଏହାକୁ ପୂର୍ବାବସ୍ଥାକୁ ଫେରାଇ ନିଆଯାଇପାରିବ ନାହିଁ।", + "confirm": "ଉପାଦାନକୁ ଡିଲିଟ୍ କରନ୍ତୁ", + "conflict": "ଏହି ଉପାଦାନଟିକୁ ଅପସାରଣ କରାଯାଇପାରିବ ନାହିଁ କାରଣ ଏହା ଏବେବି ଏକ ବା ଏକାଧିକ ଉଦ୍ଦେଶ୍ୟରେ ବ୍ୟବହୃତ ହେଉଛି। ପ୍ରଥମେ ଏହାକୁ ସେହି ଉଦ୍ଦେଶ୍ୟଗୁଡ଼ିକରୁ ବାହାର କରନ୍ତୁ।", + "deleteFailed": "କିଛି ଭୁଲ୍ ହୋଇଗଲା ଏବଂ ଉପାଦାନଟିକୁ ଡିଲିଟ୍ କରିହେଲା ନାହିଁ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "କୌଣସି ଉପାଦାନ \"{{term}}\" ସହିତ ମେଳ ଖାଉ ନାହିଁ।" }, "purposes": { "add": "ଉଦ୍ଦେଶ୍ୟ ଯୋଡନ୍ତୁ", @@ -417,38 +419,38 @@ "typeLabel": "ପ୍ରକାର", "versionLabel": "ସଂସ୍କରଣ", "elementsLabel": "ଉପାଦାନଗୁଡ଼ିକ", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "ଟାଇପ୍ କରିବା ଆବଶ୍ୟକ।", + "typeHelp": "ଉଦ୍ଦେଶ୍ୟର ପ୍ରକାର, ଉଦାହରଣ ସ୍ୱରୂପ \"ନୀତି\"।", + "versionRequired": "ସଂସ୍କରଣ ଆବଶ୍ୟକ।", + "versionHelp": "ଏକ ସଂସ୍କରଣ ପରିଚୟକାରୀ, ଉଦାହରଣ ସ୍ୱରୂପ \"v1\"।", + "submitting": "ତିଆରି କରାଯାଉଛି...", + "createFailed": "କିଛି ଭୁଲ୍ ହୋଇଗଲା ଏବଂ ଉଦ୍ଦେଶ୍ୟ ସୃଷ୍ଟି କରାଯାଇପାରିଲା ନାହିଁ। ଦୟାକରି ପୁନର୍ବାର ଚେଷ୍ଟା କରନ୍ତୁ।" }, "versionForm": { "versionLabel": "ସଂସ୍କରଣ", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "ସଂସ୍କରଣ ଯୋଡନ୍ତୁ", + "versionRequired": "ସଂସ୍କରଣ ଆବଶ୍ୟକ।", + "versionDuplicate": "ଏହି ଉଦ୍ଦେଶ୍ୟର ଏହି ନାମ ସହିତ ପୂର୍ବରୁ ଏକ ସଂସ୍କରଣ ଅଛି।", + "versionHelp": "ଏକ ସଂସ୍କରଣ ପରିଚୟକାରୀ, ଉଦାହରଣ ସ୍ୱରୂପ \"v2\"।", + "setAsLatestLabel": "ନୂତନ ସଂସ୍କରଣ ଭାବରେ ସେଟ୍ କରନ୍ତୁ |", + "submitting": "ତିଆରି କରାଯାଉଛି...", + "createFailed": "କିଛି ଭୁଲ୍ ହେଲା ଏବଂ ସଂସ୍କରଣ ତିଆରି କରାଯାଇପାରିଲା ନାହିଁ | ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ |" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "ଉଦ୍ଦେଶ୍ୟ ଲିଭାନ୍ତୁ", + "message": "ଆପଣ ନିଶ୍ଚିତ କି ଆପଣ \"{{name}}\" କୁ ଡିଲିଟ୍ କରିବାକୁ ଚାହୁଁଛନ୍ତି?", + "note": "ଏହି କାର୍ଯ୍ୟଟି ସ୍ଥାୟୀ ଏବଂ ଏହାକୁ ପୂର୍ବାବସ୍ଥାକୁ ଫେରାଇ ଆଣିହେବ ନାହିଁ।", + "confirm": "ଉଦ୍ଦେଶ୍ୟ ଲିଭାନ୍ତୁ", + "conflict": "ଏହି ଉଦ୍ଦେଶ୍ୟକୁ ଉଚ୍ଛେଦ କରାଯାଇପାରିବ ନାହିଁ କାରଣ ଏହା ଏବେବି ଏକ କିମ୍ବା ଏକାଧିକ ସମ୍ମତି ଦ୍ୱାରା ଉଲ୍ଲେଖ କରାଯାଇଛି।", + "deleteFailed": "କିଛି ଭୁଲ୍ ହୋଇଗଲା ଏବଂ ଉଦ୍ଦେଶ୍ୟକୁ ଡିଲିଟ୍ କରିହେଲା ନାହିଁ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "ଆପଣ ନିଶ୍ଚିତ କି ଆପଣ \"{{version}} ସଂସ୍କରଣ\" କୁ ଡିଲିଟ୍ କରିବାକୁ ଚାହୁଁଛନ୍ତି?", + "note": "ଏହି କାର୍ଯ୍ୟଟି ସ୍ଥାୟୀ ଏବଂ ଏହାକୁ ପୂର୍ବାବସ୍ଥାକୁ ଫେରାଇ ନିଆଯାଇପାରିବ ନାହିଁ।", + "deleteFailed": "କିଛି ଭୁଲ୍ ହୋଇଗଲା ଏବଂ ସଂସ୍କରଣଟିକୁ ଡିଲିଟ୍ କରିହେଲା ନାହିଁ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।", + "latestBlocked": "ନୂତନ ସଂସ୍କରଣଟିକୁ ଡିଲିଟ୍ କରାଯାଇପାରିବ ନାହିଁ। ଅନ୍ୟ ଏକ ସଂସ୍କରଣକୁ ପ୍ରଥମ ନୂତନ ସଂସ୍କରଣ ଭାବରେ ସେଟ୍ କରନ୍ତୁ।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "ଏହି ସନ୍ଧାନ ସହିତ କୌଣସି ଉଦ୍ଦେଶ୍ୟ ମେଳ ଖାଉ ନାହିଁ।" }, "details": { "definition": "ବ୍ୟାଖ୍ୟା", @@ -474,7 +476,7 @@ "noPurposeElements": "ଏପର୍ଯ୍ୟନ୍ତ କୌଣସି ଉପାଦାନ ଯୋଡା ଯାଇନାହିଁ. ଉଦ୍ଦେଶ୍ୟ ସୃଷ୍ଟି କରିବାକୁ ଅତିକମରେ ଗୋଟିଏ ଉପାଦାନ ଯୋଡନ୍ତୁ.", "noVersions": "କୌଣସି ସଂସ୍କରଣ ଉପଲବ୍ଧ ନାହିଁ.", "versionsLoadFailed": "ବର୍ତ୍ତମାନ ସଂସ୍କରଣ ଇତିହାସ ଲୋଡ୍ କରିବାରେ ଅସମର୍ଥ.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ଏହି ସଂସ୍କରଣକୁ ସର୍ବଶେଷ ଭାବରେ ସେଟ୍ କରିବାରେ ଅସମର୍ଥ। ଦୟାକରି ପୁନର୍ବାର ଚେଷ୍ଟା କରନ୍ତୁ।" }, "validation": { "duplicateElements": "ପ୍ରତ୍ୟେକ ଉପାଦାନ କେବଳ ଥରେ ଅନ୍ତର୍ଭୁକ୍ତ କରାଯାଇପାରିବ.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "ପୃଷ୍ଠା ପ୍ରତି ଧାଡ଼ି", + "previous": "ପୂର୍ବ", + "next": "ପରବର୍ତ୍ତୀ" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/pa/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/pa/common.json index 2e7d5f3c..c300aab4 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/pa/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/pa/common.json @@ -24,13 +24,13 @@ "ariaLabel": "ਮੁੱਖ ਨੈਵੀਗੇਸ਼ਨ", "dashboard": "ਡੈਸ਼ਬੋਰਡ", "consent": "ਸਹਿਮਤੀ", - "allConsents": "ਸਾਰੀਆਂ ਸਹਿਮਤੀਆਂ", - "pendingConsents": "ਬਕਾਇਆ ਸਹਿਮਤੀਆਂ", + "allConsents": "ਮੇਰੀਆਂ ਸਹਿਮਤੀਆਂ", + "pendingConsents": "ਮੇਰੀਆਂ ਲੰਬਿਤ ਸਹਿਮਤੀਆਂ", "catalog": "ਪਰਿਭਾਸ਼ਾਵਾਂ", "purposes": "ਉਦੇਸ਼", "elements": "ਤੱਤ", "administration": "ਪ੍ਰਸ਼ਾਸਨ", - "adminConsents": "ਸਹਿਮਤੀਆਂ", + "adminConsents": "ਸਾਰੀਆਂ ਸਹਿਮਤੀਆਂ", "nominations": "ਨਾਮਜ਼ਦਗੀਆਂ", "nomineeActivation": "ਨਾਮਜ਼ਦ ਦੀ ਸਰਗਰਮੀ", "myComplaints": "ਮੇਰੀਆਂ ਸ਼ਿਕਾਇਤਾਂ", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "ਤੁਹਾਡੀਆਂ ਸਾਰੀਆਂ ਸਹਿਮਤੀਆਂ ਕਿਸਮ ਅਨੁਸਾਰ ਸਮੂਹਬੱਧ ਹਨ", "noTypes": "ਅਜੇ ਕੋਈ ਸਹਿਮਤੀ ਕਿਸਮਾਂ ਉਪਲਬਧ ਨਹੀਂ ਹਨ।", "viewPending": "ਸਾਰੀਆਂ ਬਕਾਇਆ ਸਹਿਮਤੀਆਂ ਵੇਖੋ", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "ਸੇਵਾ ਦੁਆਰਾ ਸਹਿਮਤੀ ਦਾ ਵਿਘਨ", + "serviceBreakdownSubtitle": "ਤੁਹਾਡੀਆਂ ਸਾਰੀਆਂ ਸਹਿਮਤੀਆਂ ਬੇਨਤੀ ਕੀਤੀ ਸੇਵਾ ਦੁਆਰਾ ਗਰੁੱਪ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।", + "noServices": "ਅਜੇ ਤੱਕ ਕੋਈ ਸੇਵਾ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।" }, "adminConsents": { "title": "ਸਹਿਮਤੀਆਂ", @@ -87,9 +87,10 @@ "groupIds": "ਗਰੁੱਪ ID", "commaSeparatedUsers": "ਮਲਟੀਪਲ ਵਰਤੋਂਕਾਰ IDs ਨੂੰ ਕਾਮਾ (comma) ਨਾਲ ਵੱਖ ਕਰੋ", "active": "ਸਰਗਰਮ ਫਿਲਟਰ", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "ਸੇਵਾ", + "removeConsentIdForState": "ਸਟੇਟ ਫਿਲਟਰ ਵਰਤਣ ਲਈ ਸਹਿਮਤੀ ਆਈਡੀ ਫਿਲਟਰ ਹਟਾਓ।", + "propertyFilterLabel": "ਸਹਿਮਤੀ ਜਾਇਦਾਦ", + "removeConsentIdForSubject": "ਯੂਜ਼ਰ ਆਈਡੀ ਫਿਲਟਰ ਵਰਤਣ ਲਈ ਸਹਿਮਤੀ ਆਈਡੀ ਫਿਲਟਰ ਹਟਾਓ।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ਘਟਨਾ ਦੀ ਕਿਸਮ", "date": "ਤਾਰੀਖ", "time": "ਸਮਾਂ", - "state": "State" + "state": "ਰਾਜ" }, "lifecycle": { "tableAriaLabel": "ਸਹਿਮਤੀ ਜੀਵਨ ਚੱਕਰ", @@ -161,13 +162,14 @@ "required": "ਲਾਜ਼ਮੀ", "optional": "ਵਿਕਲਪਿਕ" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "ਸੇਵਾ", + "elementCount": "{{count}} ਐਲੀਮੈਂਟਸ", + "elementCount_one": "{{count}} ਐਲੀਮੈਂਟ", + "elementCount_other": "{{count}} ਐਲੀਮੈਂਟਸ", + "noAuthorizations": "ਇਸ ਸਹਿਮਤੀ ਲਈ ਕੋਈ ਅਧਿਕਾਰ ਦਰਜ ਨਹੀਂ ਕੀਤੇ ਗਏ ਹਨ।", + "noElements": "ਇਸ ਉਦੇਸ਼ ਨਾਲ ਕੋਈ ਵੀ ਤੱਤ ਜੁੜੇ ਨਹੀਂ ਹਨ।", + "noPurposes": "ਇਸ ਸਹਿਮਤੀ ਨਾਲ ਕੋਈ ਉਦੇਸ਼ ਜੁੜੇ ਨਹੀਂ ਹਨ।", + "noProperties": "ਇਸ ਸਹਿਮਤੀ ਨਾਲ ਕੋਈ ਵੀ ਸੰਪਤੀਆਂ ਜੁੜੀਆਂ ਨਹੀਂ ਹਨ।" }, "actions": { "view": "ਵੇਖੋ", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} ਵਿੱਚ {{elementLabel}} ਲਈ ਇਜਾਜ਼ਤ ਬਦਲੋ", "loading": "ਸਹਿਮਤੀ ਦਾ ਵੇਰਵਾ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ...", "noMandatory": "ਇਸ ਸਹਿਮਤੀ ਲਈ ਕੋਈ ਲਾਜ਼ਮੀ ਸ਼ਰਤਾਂ ਨਹੀਂ ਹਨ।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "ਸਹਿਮਤੀ ਮਨਜ਼ੂਰ ਕਰੋ", + "message": "ਕੀ ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ ਕਿ ਤੁਸੀਂ ਇਸ ਸਹਿਮਤੀ ਨੂੰ ਮਨਜ਼ੂਰੀ ਦੇਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "note": "ਇਸ ਸਹਿਮਤੀ ਦੁਆਰਾ ਬੇਨਤੀ ਕੀਤੇ ਗਏ ਹਰ ਉਦੇਸ਼ ਅਤੇ ਤੱਤ ਨੂੰ ਗ੍ਰਾਂਟਾਂ ਨੂੰ ਮਨਜ਼ੂਰੀ ਦੇਣਾ।" }, "rejection": { "title": "ਅਸਵੀਕਾਰਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ", @@ -240,8 +242,8 @@ "endDateAriaLabel": "ਅੰਤਿਮ ਤਾਰੀਖ ਫਿਲਟਰ", "clear": "ਸਭ ਸਾਫ਼ ਕਰੋ", "clearAriaLabel": "ਸਾਰੇ ਫਿਲਟਰ ਸਾਫ਼ ਕਰੋ", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "ਸੇਵਾ ਦੁਆਰਾ ਖੋਜ ਕਰੋ", + "state": "ਰਾਜ" }, "messages": { "loading": "ਸਹਿਮਤੀਆਂ ਲੋਡ ਹੋ ਰਹੀਆਂ ਹਨ...", @@ -267,8 +269,8 @@ "updated": "ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ", "expiration": "ਮਿਆਦ ਪੁੱਗਣ ਦੀ ਤਾਰੀਖ", "actions": "ਕਾਰਵਾਈਆਂ", - "service": "Service", - "state": "State" + "service": "ਸੇਵਾ", + "state": "ਰਾਜ" } } }, @@ -292,10 +294,10 @@ "view": "ਵੇਖੋ", "viewElement": "{{name}} ਵੇਖੋ", "viewPurpose": "{{name}} ਵੇਖੋ", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "ਵਰਜਨ ਸ਼ਾਮਲ ਕਰੋ", + "reset": "ਰੀਸੈੱਟ", + "search": "ਖੋਜ ਕਰੋ", + "setLatest": "ਨਵੀਨਤਮ ਵਜੋਂ ਸੈੱਟ ਕਰੋ" }, "fields": { "actions": "ਕਾਰਵਾਈਆਂ", @@ -326,7 +328,7 @@ "schema": "ਸਕੀਮਾ", "type": "ਕਿਸਮ", "version": "ਸੰਸਕਰਣ", - "latestVersion": "Latest version" + "latestVersion": "ਨਵੀਨਤਮ ਸੰਸਕਰਣ" }, "help": { "commaSeparatedGroups": "ਮਲਟੀਪਲ ਗਰੁੱਪ IDs ਨੂੰ ਕਾਮਾ (comma) ਨਾਲ ਵੱਖ ਕਰੋ", @@ -372,22 +374,22 @@ "nameLabel": "ਨਾਮ", "nameRequired": "ਨਾਮ ਲਾਜ਼ਮੀ ਹੈ।", "displayNameLabel": "ਦਿਖਾਇਆ ਜਾਣ ਵਾਲਾ ਨਾਮ", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "ਇੱਕ ਵਿਲੱਖਣ ਮਸ਼ੀਨ ਪਛਾਣਕਰਤਾ, ਉਦਾਹਰਨ ਲਈ \"ਈਮੇਲ-ਐਡਰੈੱਸ\"।", + "submitting": "ਬਣਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...", + "duplicateName": "ਇੱਕ ਤੱਤ ਜਿਸਦਾ ਨਾਮ \"{{name}}\" ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। ਇੱਕ ਵੱਖਰਾ ਨਾਮ ਚੁਣੋ।", + "createFailed": "ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਅਤੇ ਤੱਤ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।", + "propertyDuplicateKey": "ਇਹ ਕੁੰਜੀ ਇੱਕ ਤੋਂ ਵੱਧ ਵਾਰ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਇੱਕ ਵੱਖਰੀ ਕੁੰਜੀ ਵਰਤੋ।", + "propertyKeyRequired": "ਇੱਕ ਕੁੰਜੀ ਸ਼ਾਮਲ ਕਰੋ, ਨਹੀਂ ਤਾਂ ਇਹ ਮੁੱਲ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "ਐਲੀਮੈਂਟ ਡਿਲੀਟ ਕਰੋ", + "message": "ਕੀ ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ ਕਿ ਤੁਸੀਂ \"{{name}}\" ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "note": "ਇਹ ਕਾਰਵਾਈ ਸਥਾਈ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।", + "confirm": "ਐਲੀਮੈਂਟ ਡਿਲੀਟ ਕਰੋ", + "conflict": "ਇਹ ਐਲੀਮੈਂਟ ਡਿਲੀਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਅਜੇ ਵੀ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਮਕਸਦਾਂ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਸਨੂੰ ਪਹਿਲਾਂ ਉਹਨਾਂ ਮਕਸਦਾਂ ਵਿੱਚੋਂ ਹਟਾਓ।", + "deleteFailed": "ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਅਤੇ ਐਲੀਮੈਂਟ ਨੂੰ ਡਿਲੀਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "ਕੋਈ ਵੀ ਤੱਤ \"{{term}} ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ।" }, "purposes": { "add": "ਉਦੇਸ਼ ਜੋੜੋ", @@ -417,38 +419,38 @@ "typeLabel": "ਕਿਸਮ", "versionLabel": "ਸੰਸਕਰਣ", "elementsLabel": "ਤੱਤ", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "ਟਾਈਪ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।", + "typeHelp": "ਮਕਸਦ ਦੀ ਕਿਸਮ, ਜਿਵੇਂ ਕਿ \"ਪਾਲਿਸੀ\"।", + "versionRequired": "ਸੰਸਕਰਣ ਦੀ ਲੋੜ ਹੈ।", + "versionHelp": "ਇੱਕ ਸੰਸਕਰਣ ਪਛਾਣਕਰਤਾ, ਜਿਵੇਂ ਕਿ \"v1\"।", + "submitting": "ਬਣਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...", + "createFailed": "ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਅਤੇ ਉਦੇਸ਼ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" }, "versionForm": { "versionLabel": "ਸੰਸਕਰਣ", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "ਵਰਜਨ ਸ਼ਾਮਲ ਕਰੋ", + "versionRequired": "ਸੰਸਕਰਣ ਦੀ ਲੋੜ ਹੈ।", + "versionDuplicate": "ਇਸ ਉਦੇਸ਼ ਦਾ ਪਹਿਲਾਂ ਹੀ ਇਸ ਨਾਮ ਨਾਲ ਇੱਕ ਸੰਸਕਰਣ ਹੈ।", + "versionHelp": "ਇੱਕ ਸੰਸਕਰਣ ਪਛਾਣਕਰਤਾ, ਜਿਵੇਂ ਕਿ \"v2\"।", + "setAsLatestLabel": "ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਵਜੋਂ ਸੈੱਟ ਕਰੋ", + "submitting": "ਬਣਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...", + "createFailed": "ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਅਤੇ ਵਰਜਨ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "ਮਕਸਦ ਮਿਟਾਓ", + "message": "ਕੀ ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ ਕਿ ਤੁਸੀਂ \"{{name}}\" ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "note": "ਇਹ ਕਾਰਵਾਈ ਸਥਾਈ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।", + "confirm": "ਮਕਸਦ ਮਿਟਾਓ", + "conflict": "ਇਸ ਉਦੇਸ਼ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਅਜੇ ਵੀ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਸਹਿਮਤੀਆਂ ਦੁਆਰਾ ਸੰਦਰਭਿਤ ਹੈ।", + "deleteFailed": "ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਅਤੇ ਮਕਸਦ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "ਕੀ ਤੁਹਾਨੂੰ ਯਕੀਨੀ ਹੈ ਕਿ ਤੁਸੀਂ ਵਰਜਨ \"{{version}}\" ਨੂੰ ਡਿਲੀਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?", + "note": "ਇਹ ਕਾਰਵਾਈ ਸਥਾਈ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।", + "deleteFailed": "ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਅਤੇ ਵਰਜਨ ਨੂੰ ਡਿਲੀਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।", + "latestBlocked": "ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ। ਕਿਸੇ ਹੋਰ ਸੰਸਕਰਣ ਨੂੰ ਪਹਿਲਾਂ ਨਵੀਨਤਮ ਵਜੋਂ ਸੈੱਟ ਕਰੋ।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "ਇਸ ਖੋਜ ਨਾਲ ਕੋਈ ਉਦੇਸ਼ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ।" }, "details": { "definition": "ਪਰਿਭਾਸ਼ਾ", @@ -474,7 +476,7 @@ "noPurposeElements": "ਅਜੇ ਤੱਕ ਕੋਈ ਤੱਤ ਨਹੀਂ ਜੋੜਿਆ ਗਿਆ। ਉਦੇਸ਼ ਬਣਾਉਣ ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਤੱਤ ਜੋੜੋ।", "noVersions": "ਕੋਈ ਸੰਸਕਰਣ ਉਪਲਬਧ ਨਹੀਂ ਹਨ।", "versionsLoadFailed": "ਇਸ ਵੇਲੇ ਸੰਸਕਰਣ ਇਤਿਹਾਸ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ਇਸ ਸੰਸਕਰਣ ਨੂੰ ਨਵੀਨਤਮ ਵਜੋਂ ਸੈੱਟ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" }, "validation": { "duplicateElements": "ਹਰੇਕ ਤੱਤ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਵਾਰ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "ਪ੍ਰਤੀ ਸਫ਼ਾ ਕਤਾਰਾਂ", + "previous": "ਪਿਛਲਾ", + "next": "ਅੱਗੇ" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sa/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sa/common.json index c7c61ca1..cac7fa9a 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sa/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sa/common.json @@ -24,13 +24,13 @@ "ariaLabel": "प्राथमिक-सञ्चालनम्", "dashboard": "नियन्त्रणपट्टिका", "consent": "सहमतिः", - "allConsents": "सर्वाः सहमतयः", - "pendingConsents": "लम्बमानाः सहमतयः", + "allConsents": "मम अनुमतयः", + "pendingConsents": "मम प्रतीक्षिताः अनुमतयः", "catalog": "परिभाषाः", "purposes": "उद्देश्यानि", "elements": "तत्त्वानि", "administration": "प्रशासनम्", - "adminConsents": "सहमतयः", + "adminConsents": "सर्वे अनुमतयः", "nominations": "नामांकनानि", "nomineeActivation": "नामित-सक्रियनम्", "myComplaints": "मम आक्षेपाः", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "प्रकारानुसारं भवतः सर्वाः सहमतयः", "noTypes": "अद्यापि केऽपि सहमति-प्रकाराः उपलब्धाः न सन्ति।", "viewPending": "सर्वाः लम्बमानाः सहमतयः पश्यन्तु", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "सेवानुसारं संमतिभङ्गः", + "serviceBreakdownSubtitle": "भवत्याः सर्वाः अनुमतयः सेवायाः याचया समूहीकृताः।", + "noServices": "अद्यापि कापि सेवा उपलभ्यते इति न।" }, "adminConsents": { "title": "सहमतयः", @@ -87,9 +87,10 @@ "groupIds": "समूह-परिचयाः", "commaSeparatedUsers": "एकाधिक-उपयोक्तृ-परिचयान् अल्पविरामेन पृथक् कुर्वन्तु", "active": "सक्रियाः शोधकाः", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "सेवा", + "removeConsentIdForState": "राज्य-शोधकस्य उपयोगार्थं संमति-अभिज्ञान-शोधकम् निष्कासय।", + "propertyFilterLabel": "अनुमोदनसम्पत्तिः", + "removeConsentIdForSubject": "उपयोक्तृ-अभिज्ञान-अन्तराधिकारम् उपयोक्तुं संमति-अभिज्ञान-अन्तराधिकारम् निष्कासयतु।" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "घटना-प्रकारः", "date": "दिनाङ्कः", "time": "समयः", - "state": "State" + "state": "राज्यम्" }, "lifecycle": { "tableAriaLabel": "सहमति-जीवनचक्रम्", @@ -161,13 +162,14 @@ "required": "आवश्यकम्", "optional": "वैकल्पिकम्" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "सेवा", + "elementCount": "{{count}} तत्त्वानि", + "elementCount_one": "{{count}} तत्त्वम्", + "elementCount_other": "{{count}} तत्त्वानि", + "noAuthorizations": "अस्याः संमत्याः कृते किमपि अनुमोदनं न अभिलेखितम्।", + "noElements": "अनेन प्रयोजनार्थं न केपि तत्त्वानि सम्बद्धाः सन्ति।", + "noPurposes": "अनेन संमत्या सह कापि उद्देशः सम्बद्धा नास्ति।", + "noProperties": "अनेन संमत्या सह कापि सम्पत्तिः सम्बद्धा नास्ति।" }, "actions": { "view": "पश्यन्तु", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} मध्ये {{elementLabel}} कृते अनुमतिं परिवर्तयन्तु", "loading": "सहमति-विवरणं भार्यते...", "noMandatory": "अस्यै सहमत्यै कापि अनिवार्य-आवश्यकता नास्ति।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "अनुमतिं स्वीकरोतु।", + "message": "किं भवती निश्चितं एतत् अनुमोदनं कर्तुम् इच्छति?", + "note": "अनेन संमत्या प्रार्थितं सर्वं प्रयोजनं तत्त्वं च अनुमोदयन्ती।" }, "rejection": { "title": "अस्वीकारं प्रमाणीकुरुत", @@ -240,8 +242,8 @@ "endDateAriaLabel": "समाप्ति-दिनाङ्क-शोधकः", "clear": "सर्वं मार्जयन्तु", "clearAriaLabel": "सर्वान् शोधकान् मार्जयन्तु", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "सेवायाः अन्वेषणम्", + "state": "राज्यम्" }, "messages": { "loading": "सहमतयः भार्यन्ते...", @@ -267,8 +269,8 @@ "updated": "अद्यतनीकृतम्", "expiration": "समाप्तिः", "actions": "कार्याणि", - "service": "Service", - "state": "State" + "service": "सेवा", + "state": "राज्यम्" } } }, @@ -292,10 +294,10 @@ "view": "पश्यन्तु", "viewElement": "{{name}} पश्यन्तु", "viewPurpose": "{{name}} पश्यन्तु", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "संस्करणं योजय।", + "reset": "पुनर्स्थापनम्", + "search": "अन्वेषणम्", + "setLatest": "नवीनतमरूपेण स्थाप्यताम्।" }, "fields": { "actions": "कार्याणि", @@ -326,7 +328,7 @@ "schema": "रूपरेखा", "type": "प्रकारः", "version": "संस्करणम्", - "latestVersion": "Latest version" + "latestVersion": "नवीनतमं संस्करणम्" }, "help": { "commaSeparatedGroups": "एकाधिक-समूह-परिचयान् अल्पविरामेन पृथक् कुर्वन्तु", @@ -372,22 +374,22 @@ "nameLabel": "नाम", "nameRequired": "नाम आवश्यकम् अस्ति।", "displayNameLabel": "प्रदर्शित-नाम", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "एकं विशिष्टं यन्त्र-अभिज्ञापकं, यथा \"ईमेल्-अड्रेस\"।", + "submitting": "सृजति...", + "duplicateName": "{{name}} इति नाम्ना एकं तत्त्वं पूर्वमेव विद्यते। भिन्नं नाम चिनुत।", + "createFailed": "किञ्चित् त्रुटितं, तत् तत्त्वं निर्मातुं न शक्यते स्म। कृपया पुनः प्रयत्स्व।", + "propertyDuplicateKey": "इयं कुञ्चिका एकवारं अधिकं प्रयुज्यते। प्रत्येकस्य गुणधर्मस्य कृते भिन्नकुञ्चिकां उपयुज्यताम्।", + "propertyKeyRequired": "कुञ्चिकां योजयतु, अन्यथा एतत् मूल्यं न रक्षितं भविष्यति।" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "घटकं निष्कासय।", + "message": "किं भवती निश्चितं \"{{name}}\" इत्येतत् निष्कासयितुम् इच्छति?", + "note": "एषा क्रिया शाश्वती अस्ति, अपेक्षया च न निवारयितुं शक्यते।", + "confirm": "घटकं निष्कासय।", + "conflict": "इदं तत्त्वं न निष्कासनीयम्, यतो हि इदम् एकस्य वा अधिकस्य वा प्रयोजनस्य कृते उपयुज्यते। तत् प्रथमं तेभ्यः प्रयोजनभ्यः निष्कासय।", + "deleteFailed": "किञ्चित् त्रुटितं, तत् तत्त्वं च न निष्कासितुं शक्यते स्म। कृपया पुनः प्रयत्स्व।" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "\"{{term}}\" इत्यनेन सह न कापि तत्त्वानि मेलन्ति।" }, "purposes": { "add": "उद्देश्यं योजयन्तु", @@ -417,38 +419,38 @@ "typeLabel": "प्रकारः", "versionLabel": "संस्करणम्", "elementsLabel": "तत्त्वानि", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "प्रकारः अपेक्षितः।", + "typeHelp": "उद्देश्यस्य प्रकारः, यथा \"नीतिः\"।", + "versionRequired": "संस्करणम् आवश्यकम्।", + "versionHelp": "संस्करण-सूचकः, यथा \"v1\"।", + "submitting": "सृजति...", + "createFailed": "किञ्चित् त्रुटितं, उद्देश्यं च निर्मातुं न शक्यते स्म। कृपया पुनः प्रयत्स्व।" }, "versionForm": { "versionLabel": "संस्करणम्", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "संस्करणं योजय।", + "versionRequired": "संस्करणम् आवश्यकम्।", + "versionDuplicate": "अस्य उद्देश्यस्य नाम्नः संस्करणं पूर्वमेव वर्तते।", + "versionHelp": "संस्करण-परिचायकः, यथा \"v2\"।", + "setAsLatestLabel": "नवीनतमसंस्करणरूपेण स्थाप्यताम्।", + "submitting": "सृजति...", + "createFailed": "किञ्चित् त्रुटितं, संस्करणं निर्मातुं न शक्यते स्म। कृपया पुनः प्रयत्स्व।" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "उद्देश्यं विलोप्यताम्।", + "message": "किं भवती निश्चितं \"{{name}}\" इत्येतत् निष्कासयितुम् इच्छति?", + "note": "एषा क्रिया शाश्वती अस्ति, अपेक्षया च न निवारयितुं शक्यते।", + "confirm": "उद्देश्यं विलोप्यताम्।", + "conflict": "एषः उद्देश्यः न विलोपयितुं शक्यते यतः अद्यापि एकः वा अधिकाः अनुमत्याः सन्दर्भ्यन्ते।", + "deleteFailed": "किञ्चित् त्रुटितम्, उद्देश्यं च न विलोपयितुं शक्यते स्म। कृपया पुनः प्रयत्स्व।" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "किं भवती निश्चितं संस्करणं \"{{version}}\" निष्कासयितुम् इच्छति?", + "note": "एषा क्रिया शाश्वती अस्ति, अपेक्षया च न निवारयितुं शक्यते।", + "deleteFailed": "किञ्चित् त्रुटितम्, संस्करणं च न निष्कासितुं शक्यते स्म। कृपया पुनः प्रयत्स्व।", + "latestBlocked": "नवीनतमं संस्करणं नाशयितुं न शक्यते। अपरं संस्करणं प्रथमं नवीनतमं यथा स्थापय।" }, - "emptySearch": "No purposes match this search." + "emptySearch": "अस्याः अन्वेषणस्य कृते कोऽपि उद्देश्यः न मेलति।" }, "details": { "definition": "परिभाषा", @@ -474,7 +476,7 @@ "noPurposeElements": "अद्यापि कानिपि तत्त्वानि न योजितानि। उद्देश्यं निर्मातुं न्यूनतमम् एकं तत्त्वं योजयन्तु।", "noVersions": "कानिचिदपि संस्करणाणि उपलब्धानि न सन्ति।", "versionsLoadFailed": "इदानीं संस्करण-इतिहासं भारयितुम् असमर्थः।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "इदं संस्करणं नवीनतमरूपेण स्थापयितुं न शक्यते। कृपया पुनः प्रयत्स्व।" }, "validation": { "duplicateElements": "प्रत्येकं तत्त्वं केवलम् एकवारमेव समावेशयितुं शक्यते।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "पृष्ठानुसारं पङ्क्तयः", + "previous": "पूर्वम्", + "next": "अग्रे" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sat/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sat/common.json index cbfb75ba..9296727c 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sat/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sat/common.json @@ -24,13 +24,13 @@ "ariaLabel": "ᱢᱩᱬᱩᱛ ᱱᱮᱵᱷᱤᱜᱮᱥᱚᱱ", "dashboard": "ᱰᱮᱥᱵᱳᱨᱰ", "consent": "ᱥᱟᱹᱢᱟᱹᱛᱤ", - "allConsents": "ᱡᱚᱛᱚ ᱥᱟᱹᱢᱟᱹᱛᱤ", - "pendingConsents": "ᱵᱟᱹᱠᱤ ᱛᱟᱦᱮᱸᱠᱟᱱ ᱥᱟᱹᱢᱟᱹᱛᱤ", + "allConsents": "ᱤᱧᱟᱹᱜ ᱨᱟᱹᱡᱤ ᱠᱚ", + "pendingConsents": "ᱤᱧᱟᱹᱜ ᱵᱟᱝ ᱯᱩᱨᱟᱹᱣ ᱟᱠᱟᱱ ᱨᱟᱹᱡᱤ ᱠᱚ ᱾", "catalog": "ᱢᱮᱱᱮᱛ", "purposes": "ᱩᱫᱽᱫᱮᱥ", "elements": "ᱮᱞᱤᱢᱮᱱᱴ", "administration": "ᱥᱟᱥᱚᱱ", - "adminConsents": "ᱥᱟᱹᱢᱟᱹᱛᱤ", + "adminConsents": "ᱥᱟᱱᱟᱢ ᱨᱟᱡᱤ", "nominations": "ᱱᱳᱢᱤᱱᱮᱥᱚᱱ", "nomineeActivation": "ᱱᱳᱢᱤᱱᱤ ᱮᱠᱴᱤᱵᱷᱮᱥᱚᱱ", "myComplaints": "ᱤᱧᱟᱜ ᱚᱵᱷᱤᱡᱳᱜᱽ", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "ᱟᱢᱟᱜ ᱡᱚᱛᱚ ᱥᱟᱹᱢᱟᱹᱛᱤ ᱴᱟᱭᱤᱯ ᱞᱮᱠᱟᱛᱮ ᱦᱟᱹᱴᱤᱧ ᱟᱠᱟᱱᱟ", "noTypes": "ᱡᱟᱦᱟᱸᱱᱟᱜ ᱥᱟᱹᱢᱟᱹᱛᱤ ᱴᱟᱭᱤᱯ ᱵᱟᱹᱱᱩᱜᱼᱟ।", "viewPending": "ᱡᱚᱛᱚ ᱵᱟᱹᱠᱤ ᱥᱟᱹᱢᱟᱹᱛᱤ ᱧᱮᱞ ᱢᱮ", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "ᱥᱮᱵᱟ ᱞᱮᱠᱟᱛᱮ ᱨᱟᱹᱡᱤ ᱨᱮᱭᱟᱜ ᱵᱷᱟᱸᱜᱚᱲ ᱾", + "serviceBreakdownSubtitle": "ᱟᱢᱟᱜ ᱡᱚᱛᱚ ᱨᱟᱹᱡᱤ ᱠᱚ ᱥᱮᱵᱟ ᱠᱷᱚᱡᱽ ᱠᱟᱛᱮᱫ ᱜᱟᱫᱮᱞ ᱟᱠᱟᱱᱟ ᱾", + "noServices": "ᱱᱤᱛ ᱦᱚᱸ ᱡᱟᱦᱟᱱ ᱥᱮᱵᱟ ᱵᱟᱝ ᱧᱟᱢᱚᱜ ᱠᱟᱱᱟ ᱾" }, "adminConsents": { "title": "ᱥᱟᱹᱢᱟᱹᱛᱤ", @@ -87,9 +87,10 @@ "groupIds": "ᱜᱩᱴ ID ᱠᱚ", "commaSeparatedUsers": "ᱟᱭᱢᱟ ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ID ᱠᱚᱢᱟ (,) ᱛᱮ ᱵᱷᱮᱜᱟᱨ ᱢᱮ", "active": "ᱪᱟᱹᱞᱩ ᱯᱷᱤᱞᱴᱚᱨ ᱠᱚ", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "ᱥᱮᱵᱟ", + "removeConsentIdForState": "ᱨᱟᱥᱴᱨᱤᱭᱚ ᱯᱷᱤᱞᱴᱟᱨ ᱵᱮᱵᱷᱟᱨ ᱞᱟᱹᱜᱤᱫ ᱥᱟᱹᱠᱭᱟᱹᱛ ᱟᱭ ᱰᱤ ᱯᱷᱤᱞᱴᱟᱨ ᱚᱪᱚᱜ ᱢᱮ ᱾", + "propertyFilterLabel": "ᱥᱟᱹᱠᱭᱟᱹᱛ ᱥᱚᱢᱯᱚᱛᱛᱤ", + "removeConsentIdForSubject": "ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ ᱟᱭᱰᱤ ᱯᱷᱤᱞᱴᱟᱨ ᱵᱮᱵᱷᱟᱨ ᱞᱟᱹᱜᱤᱫ ᱥᱟᱹᱠᱭᱟᱹᱛ ᱟᱭᱰᱤ ᱯᱷᱤᱞᱴᱟᱨ ᱚᱪᱚᱜ ᱢᱮ ᱾" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ᱤᱵᱷᱮᱱᱴ ᱴᱟᱭᱤᱯ", "date": "ᱢᱟᱹᱦᱤᱛ", "time": "ᱚᱠᱛᱚ", - "state": "State" + "state": "ᱯᱚᱱᱚᱛ" }, "lifecycle": { "tableAriaLabel": "ᱥᱟᱹᱢᱟᱹᱛᱤ ᱞᱟᱭᱤᱯᱷᱥᱟᱭᱠᱮᱞ", @@ -161,13 +162,14 @@ "required": "ᱞᱟᱹᱠᱛᱤᱭᱟᱱᱟᱜ", "optional": "ᱚᱯᱥᱚᱱᱮᱞ" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "ᱥᱮᱵᱟ", + "elementCount": "{{count}} ᱮᱞᱤᱢᱮᱱᱴ ᱾", + "elementCount_one": "{{count}} ᱮᱞᱤᱢᱮᱱᱴ", + "elementCount_other": "{{count}} ᱮᱞᱤᱢᱮᱱᱴ ᱾", + "noAuthorizations": "ᱱᱚᱣᱟ ᱨᱮ ᱥᱟᱹᱠᱭᱟᱹᱛ ᱞᱟᱹᱜᱤᱫ ᱡᱟᱦᱟᱱ ᱟᱹᱭᱫᱟᱹᱨ ᱨᱮᱠᱚᱨᱰ ᱵᱟᱝ ᱦᱩᱭ ᱟᱠᱟᱱᱟ ᱾", + "noElements": "ᱱᱚᱣᱟ ᱡᱚᱥ ᱥᱟᱶ ᱡᱟᱦᱟᱱ ᱩᱯᱟᱫᱟᱱ ᱥᱮᱞᱮᱫ ᱵᱟᱹᱱᱩᱜᱼᱟ ᱾", + "noPurposes": "ᱱᱚᱶᱟ ᱨᱮ ᱥᱟᱹᱠᱭᱟᱹᱛ ᱥᱟᱶ ᱡᱟᱦᱟᱱ ᱡᱚᱥ ᱥᱮᱞᱮᱫ ᱵᱟᱹᱱᱩᱜᱼᱟ ᱾", + "noProperties": "ᱱᱚᱣᱟ ᱨᱮᱭᱟᱜ ᱥᱟᱹᱠᱭᱟᱹᱛ ᱥᱟᱶ ᱡᱟᱦᱟᱱ ᱥᱚᱢᱯᱚᱛᱤ ᱥᱮᱞᱮᱫ ᱵᱟᱹᱱᱩᱜᱼᱟ ᱾" }, "actions": { "view": "ᱧᱮᱞ ᱢᱮ", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} ᱨᱮ {{elementLabel}} ᱞᱟᱹᱜᱤᱫ ᱟᱹᱭᱫᱟᱹᱨᱤ ᱵᱚᱫᱚᱞ ᱢᱮ", "loading": "ᱥᱟᱹᱢᱟᱹᱛᱤ ᱵᱤᱵᱚᱨᱚᱱ ᱞᱳᱰ ᱦᱩᱭᱩᱜ ᱠᱟᱱᱟ...", "noMandatory": "ᱱᱚᱣᱟ ᱥᱟᱹᱢᱟᱹᱛᱤ ᱞᱟᱹᱜᱤᱫ ᱡᱟᱦᱟᱸᱱᱟᱜ ᱞᱟᱹᱠᱛᱤᱭᱟᱱ ᱪᱮᱫ ᱦᱚᱸ ᱵᱟᱹᱱᱩᱜᱼᱟ।", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "ᱥᱟᱹᱠᱭᱟᱹᱛ ᱮᱢᱚᱜ ᱢᱟᱱᱟᱣ ᱢᱮ ᱾", + "message": "ᱟᱢ ᱪᱮᱫ ᱴᱷᱤᱠᱟᱹᱱ ᱢᱮᱱᱟᱢᱟ ᱡᱮ ᱟᱢ ᱱᱚᱶᱟ ᱨᱮᱵᱮᱱ ᱫᱚ ᱢᱟᱱᱟᱣ ᱥᱟᱱᱟᱭᱮᱫ ᱢᱮᱭᱟ ?", + "note": "ᱱᱚᱣᱟ ᱨᱮᱵᱮᱱ ᱫᱟᱨᱟᱭᱛᱮ ᱱᱮᱦᱚᱨ ᱟᱠᱟᱱ ᱡᱚᱛᱚ ᱡᱚᱥ ᱟᱨ ᱩᱯᱟᱫᱟᱱ ᱞᱟᱹᱜᱤᱫ ᱜᱨᱟᱱᱴ ᱢᱟᱱᱟᱣ ᱦᱩᱭᱩᱜᱼᱟ ᱾" }, "rejection": { "title": "ᱵᱟᱹᱜᱤᱭᱟᱜ ᱴᱷᱟᱹᱣᱠᱟᱹᱭ ᱢᱮ", @@ -240,8 +242,8 @@ "endDateAriaLabel": "ᱢᱩᱪᱟᱹᱫ ᱢᱟᱹᱦᱤᱛ ᱯᱷᱤᱞᱴᱚᱨ", "clear": "ᱡᱚᱛᱚ ᱥᱟᱯᱷᱟᱭ ᱢᱮ", "clearAriaLabel": "ᱡᱚᱛᱚ ᱯᱷᱤᱞᱴᱚᱨ ᱥᱟᱯᱷᱟᱭ ᱢᱮ", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "ᱥᱮᱵᱟ ᱞᱮᱠᱟᱛᱮ ᱯᱟᱸᱡᱟᱭ ᱢᱮ ᱾", + "state": "ᱯᱚᱱᱚᱛ" }, "messages": { "loading": "ᱥᱟᱹᱢᱟᱹᱛᱤ ᱠᱚ ᱞᱳᱰ ᱦᱩᱭᱩᱜ ᱠᱟᱱᱟ...", @@ -267,8 +269,8 @@ "updated": "ᱟᱯᱰᱮᱴ ᱟᱠᱟᱱᱟ", "expiration": "ᱪᱟᱵᱟᱜ ᱢᱟᱹᱦᱤᱛ", "actions": "ᱠᱟᱹᱢᱤ ᱠᱚ", - "service": "Service", - "state": "State" + "service": "ᱥᱮᱵᱟ", + "state": "ᱯᱚᱱᱚᱛ" } } }, @@ -292,10 +294,10 @@ "view": "ᱧᱮᱞ ᱢᱮ", "viewElement": "{{name}} ᱧᱮᱞ ᱢᱮ", "viewPurpose": "{{name}} ᱧᱮᱞ ᱢᱮ", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "ᱟᱹᱨᱩᱯᱷᱮᱨᱟᱣ ᱥᱮᱞᱮᱫ ᱢᱮ ᱾", + "reset": "ᱫᱚᱲᱦᱟ ᱞᱟᱹᱜᱤᱫ ᱾", + "search": "ᱛᱚᱞᱟᱥ ᱢᱮ", + "setLatest": "ᱡᱚᱛᱚᱠᱷᱚᱱ ᱱᱟᱣᱟ ᱞᱮᱠᱟᱛᱮ ᱛᱷᱟᱯᱚᱱ ᱢᱮ ᱾" }, "fields": { "actions": "ᱠᱟᱹᱢᱤ ᱠᱚ", @@ -326,7 +328,7 @@ "schema": "ᱥᱠᱤᱢᱟ", "type": "ᱴᱟᱭᱤᱯ", "version": "ᱵᱷᱚᱨᱥᱚᱱ", - "latestVersion": "Latest version" + "latestVersion": "ᱱᱟᱣᱟᱱ ᱨᱟᱫᱟ ᱾" }, "help": { "commaSeparatedGroups": "ᱟᱭᱢᱟ ᱜᱩᱴ ID ᱠᱚᱢᱟ (,) ᱛᱮ ᱵᱷᱮᱜᱟᱨ ᱢᱮ", @@ -372,22 +374,22 @@ "nameLabel": "ᱧᱩᱛᱩᱢ", "nameRequired": "ᱧᱩᱛᱩᱢ ᱞᱟᱹᱠᱛᱤᱭᱟᱱᱟᱜ ᱠᱟᱱᱟ।", "displayNameLabel": "ᱩᱫᱩᱜ ᱧᱩᱛᱩᱢ", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "ᱢᱤᱫᱴᱟᱝ ᱵᱤᱥᱮᱥ ᱢᱮᱥᱤᱱ ᱪᱤᱱᱦᱟᱹᱭᱤᱡ, ᱫᱟᱹᱭᱠᱟᱹ ᱞᱮᱠᱟᱛᱮ \"ᱤᱢᱮᱞᱼᱮᱰᱨᱮᱥ\" ᱾", + "submitting": "ᱵᱮᱱᱟᱣᱚᱜ ᱠᱟᱱᱟ...", + "duplicateName": "\"{{name}}\" ᱧᱩᱛᱩᱢᱟᱱ ᱢᱤᱫᱴᱟᱝ ᱮᱞᱤᱢᱮᱱᱴ ᱢᱮᱱᱟᱜᱼᱟ ᱾ ᱮᱴᱟᱜ ᱧᱩᱛᱩᱢ ᱵᱟᱪᱷᱟᱣ ᱢᱮ ᱾", + "createFailed": "ᱠᱤᱪᱷᱩ ᱦᱤᱲᱤᱡ ᱦᱩᱭ ᱟᱠᱟᱱᱟ ᱟᱨ ᱩᱯᱟᱫᱟᱱ ᱵᱟᱝ ᱵᱮᱱᱟᱣ ᱫᱟᱲᱮᱭᱟᱜ ᱠᱟᱱᱟ ᱾ ᱫᱟᱭᱟ ᱠᱟᱛᱮᱫ ᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ ᱾", + "propertyDuplicateKey": "ᱱᱚᱣᱟ ᱪᱟᱵᱤ ᱫᱚ ᱢᱤᱫ ᱠᱷᱚᱱ ᱰᱷᱮᱨ ᱫᱷᱟᱣ ᱵᱮᱵᱷᱟᱨᱚᱜᱼᱟ ᱾ ᱢᱤᱢᱤᱫ ᱫᱷᱚᱱ ᱞᱟᱹᱜᱤᱫ ᱮᱴᱟᱜ ᱪᱟᱵᱤ ᱵᱮᱵᱷᱟᱨ ᱢᱮ ᱾", + "propertyKeyRequired": "ᱢᱤᱫᱴᱟᱝ ᱠᱤ ᱥᱮᱞᱮᱫ ᱢᱮ, ᱵᱟᱝᱠᱷᱟᱱ ᱱᱚᱣᱟ ᱜᱚᱱᱚᱝ ᱫᱚ ᱵᱟᱝ ᱥᱮᱵᱷ ᱦᱩᱭᱩᱜᱼᱟ ᱾" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "ᱮᱞᱤᱢᱮᱱᱴ ᱢᱤᱥᱟᱹᱣ ᱢᱮ ᱾", + "message": "ᱟᱢ ᱪᱮᱫ ᱴᱷᱤᱠ ᱜᱮᱭᱟ ᱡᱮ ᱟᱢ \"{{name}}\" ᱢᱤᱥᱟᱹᱣ ᱥᱟᱱᱟᱭᱮᱫ ᱢᱮᱭᱟ ?", + "note": "ᱱᱚᱣᱟ ᱠᱟᱹᱢᱤ ᱫᱚ ᱛᱷᱟᱹᱭᱤ ᱜᱮᱭᱟ ᱟᱨ ᱵᱟᱝ ᱵᱟᱹᱛᱤᱞ ᱜᱟᱱᱚᱜᱼᱟ ᱾", + "confirm": "ᱮᱞᱤᱢᱮᱱᱴ ᱢᱤᱥᱟᱹᱣ ᱢᱮ ᱾", + "conflict": "ᱱᱚᱣᱟ ᱛᱟᱛᱛᱚᱵᱽ ᱫᱚ ᱵᱟᱝ ᱢᱩᱪᱟᱹᱫ ᱜᱟᱱᱚᱜᱼᱟ ᱪᱮᱫᱟᱜ ᱥᱮ ᱱᱚᱣᱟ ᱫᱚ ᱱᱤᱛᱦᱚᱸ ᱢᱤᱫ ᱥᱮ ᱟᱨᱦᱚᱸ ᱵᱮᱵᱷᱟᱨᱚᱜ ᱠᱟᱱᱟ ᱾ ᱯᱩᱭᱞᱩ ᱚᱱᱟ ᱡᱚᱥ ᱠᱚ ᱠᱷᱚᱱ ᱚᱱᱟ ᱫᱚ ᱚᱪᱚᱜ ᱢᱮ ᱾", + "deleteFailed": "ᱠᱤᱪᱷᱩ ᱦᱤᱲᱤᱡ ᱦᱩᱭ ᱟᱠᱟᱱᱟ ᱟᱨ ᱩᱯᱟᱫᱟᱱ ᱫᱚ ᱵᱟᱝ ᱢᱩᱪᱟᱹᱫ ᱫᱟᱲᱮᱭᱟᱜ ᱠᱟᱱᱟ ᱾ ᱫᱟᱭᱟ ᱠᱟᱛᱮᱫ ᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ ᱾" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "ᱡᱟᱦᱟᱱ ᱩᱯᱟᱫᱟᱱ \"{{term}}\" ᱥᱟᱶ ᱵᱟᱝ ᱢᱮᱥᱟᱜᱼᱟ ᱾" }, "purposes": { "add": "ᱩᱫᱽᱫᱮᱥ ᱡᱚᱲᱟᱣ ᱢᱮ", @@ -417,38 +419,38 @@ "typeLabel": "ᱴᱟᱭᱤᱯ", "versionLabel": "ᱵᱷᱚᱨᱥᱚᱱ", "elementsLabel": "ᱮᱞᱤᱢᱮᱱᱴ ᱠᱚ", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "ᱞᱮᱠᱟ ᱞᱟᱹᱠᱛᱤᱜᱼᱟ ᱾", + "typeHelp": "ᱡᱚᱥ ᱨᱮᱭᱟᱜ ᱞᱮᱠᱟ, ᱡᱮᱞᱮᱠᱟ \"ᱯᱚᱞᱤᱥᱤ\" ᱾", + "versionRequired": "ᱟᱹᱨᱩ ᱞᱟᱹᱠᱛᱤ ᱢᱮᱱᱟᱜᱼᱟ ᱾", + "versionHelp": "ᱢᱤᱫᱴᱟᱝ ᱵᱷᱟᱨᱥᱚᱱ ᱩᱯᱨᱩᱢ ᱞᱟᱹᱜᱤᱫ, ᱡᱮᱞᱮᱠᱟ \"v1\"᱾", + "submitting": "ᱵᱮᱱᱟᱣᱚᱜ ᱠᱟᱱᱟ...", + "createFailed": "ᱠᱤᱪᱷᱩ ᱦᱩᱲᱟᱹᱜ ᱦᱩᱭ ᱟᱠᱟᱱᱟ ᱟᱨ ᱡᱚᱥ ᱵᱟᱝ ᱵᱮᱱᱟᱣ ᱫᱟᱲᱮᱭᱟᱜ ᱠᱟᱱᱟ ᱾ ᱫᱟᱭᱟ ᱠᱟᱛᱮᱫ ᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ ᱾" }, "versionForm": { "versionLabel": "ᱵᱷᱚᱨᱥᱚᱱ", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "ᱥᱚᱝᱥᱠᱚᱨᱚᱱ ᱥᱮᱞᱮᱫ ᱢᱮ ᱾", + "versionRequired": "ᱟᱹᱨᱩ ᱞᱟᱹᱠᱛᱤ ᱢᱮᱱᱟᱜᱼᱟ ᱾", + "versionDuplicate": "ᱱᱚᱣᱟ ᱡᱚᱥ ᱨᱮᱭᱟᱜ ᱱᱚᱣᱟ ᱧᱩᱛᱩᱢ ᱛᱮ ᱢᱤᱫᱴᱟᱝ ᱨᱟᱫᱟ ᱢᱮᱱᱟᱜᱼᱟ᱾", + "versionHelp": "ᱢᱤᱫᱴᱟᱝ ᱵᱷᱟᱨᱥᱚᱱ ᱪᱤᱱᱦᱟᱹᱭᱤᱡ, ᱡᱮᱞᱮᱠᱟ \"v2\"᱾", + "setAsLatestLabel": "ᱱᱟᱣᱟᱱ ᱨᱟᱫᱟ ᱞᱮᱠᱟᱛᱮ ᱛᱷᱟᱯᱚᱱ ᱢᱮ ᱾", + "submitting": "ᱵᱮᱱᱟᱣᱚᱜ ᱠᱟᱱᱟ...", + "createFailed": "ᱠᱤᱪᱷᱩ ᱦᱩᱲᱟᱹᱜ ᱦᱩᱭ ᱟᱠᱟᱱᱟ ᱟᱨ ᱟᱹᱨᱩ ᱫᱚ ᱵᱟᱝ ᱵᱮᱱᱟᱣ ᱫᱟᱲᱮᱭᱟᱜ ᱠᱟᱱᱟ ᱾ ᱫᱟᱭᱟ ᱠᱟᱛᱮᱫ ᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ ᱾" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "ᱡᱚᱥ ᱢᱤᱥᱟᱹᱣ ᱢᱮ ᱾", + "message": "ᱟᱢ ᱪᱮᱫ ᱴᱷᱤᱠ ᱜᱮᱭᱟ ᱡᱮ ᱟᱢ \"{{name}}\" ᱢᱤᱥᱟᱹᱣ ᱥᱟᱱᱟᱭᱮᱫ ᱢᱮᱭᱟ ?", + "note": "ᱱᱚᱣᱟ ᱠᱟᱹᱢᱤ ᱫᱚ ᱛᱷᱟᱹᱭᱤ ᱜᱮᱭᱟ ᱟᱨ ᱵᱟᱝ ᱵᱟᱹᱛᱤᱞ ᱜᱟᱱᱚᱜᱼᱟ ᱾", + "confirm": "ᱡᱚᱥ ᱢᱤᱥᱟᱹᱣ ᱢᱮ ᱾", + "conflict": "ᱱᱚᱣᱟ ᱡᱚᱥ ᱫᱚ ᱵᱟᱝ ᱠᱚ ᱢᱩᱪᱟᱹᱫ ᱫᱟᱲᱮᱭᱟᱜᱼᱟ ᱪᱮᱫᱟᱜ ᱥᱮ ᱱᱚᱣᱟ ᱫᱚ ᱱᱤᱛᱦᱚᱸ ᱢᱤᱫ ᱥᱮ ᱟᱭᱢᱟ ᱥᱟᱹᱠᱭᱟᱹᱛ ᱦᱚᱛᱮᱛᱮ ᱞᱟᱹᱭ ᱟᱠᱟᱱᱟ ᱾", + "deleteFailed": "ᱠᱤᱪᱷᱩ ᱦᱩᱲᱟᱹᱜ ᱦᱩᱭ ᱟᱠᱟᱱᱟ ᱟᱨ ᱡᱚᱥ ᱫᱚ ᱵᱟᱝ ᱢᱩᱪᱟᱹᱫ ᱫᱟᱲᱮᱭᱟᱜ ᱠᱟᱱᱟ ᱾ ᱫᱟᱭᱟ ᱠᱟᱛᱮᱫ ᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ ᱾" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "ᱟᱢ ᱪᱮᱫ ᱴᱷᱤᱠ ᱢᱮᱱᱮᱫ ᱢᱮᱭᱟ ᱡᱮ ᱟᱢ \"{{version}}\" ᱨᱮᱭᱟᱜ ᱵᱷᱟᱨᱥᱚᱱ ᱫᱚᱢ ᱢᱤᱥᱟᱹᱣ ᱥᱟᱱᱟᱭᱮᱫ ᱢᱮᱭᱟ ?", + "note": "ᱱᱚᱣᱟ ᱠᱟᱹᱢᱤ ᱫᱚ ᱛᱷᱟᱹᱭᱤ ᱜᱮᱭᱟ ᱟᱨ ᱵᱟᱝ ᱵᱟᱹᱛᱤᱞ ᱜᱟᱱᱚᱜᱼᱟ ᱾", + "deleteFailed": "ᱠᱤᱪᱷᱩ ᱦᱩᱲᱟᱹᱜ ᱦᱩᱭ ᱟᱠᱟᱱᱟ ᱟᱨ ᱵᱷᱟᱨᱥᱚᱱ ᱫᱚ ᱵᱟᱝ ᱵᱟᱹᱛᱤᱞ ᱫᱟᱲᱮᱭᱟᱜ ᱠᱟᱱᱟ ᱾ ᱫᱟᱭᱟ ᱠᱟᱛᱮᱫ ᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ ᱾", + "latestBlocked": "ᱱᱟᱦᱟᱜ ᱨᱟᱫᱟ ᱫᱚ ᱵᱟᱝ ᱢᱤᱪᱷᱟᱹᱣ ᱜᱟᱱᱚᱜᱼᱟ ᱾ ᱮᱴᱟᱜ ᱢᱤᱫᱴᱟᱝ ᱨᱟᱫᱟ ᱫᱚ ᱯᱩᱭᱞᱩ ᱱᱟᱦᱟᱜ ᱞᱮᱠᱟᱛᱮ ᱛᱷᱟᱯᱚᱱ ᱢᱮ ᱾" }, - "emptySearch": "No purposes match this search." + "emptySearch": "ᱱᱚᱣᱟ ᱛᱚᱞᱟᱥ ᱥᱟᱶ ᱡᱟᱦᱟᱱ ᱡᱚᱥ ᱵᱟᱝ ᱢᱮᱞᱚᱜᱼᱟ ᱾" }, "details": { "definition": "ᱢᱮᱱᱮᱛ", @@ -474,7 +476,7 @@ "noPurposeElements": "ᱡᱟᱦᱟᱸᱱᱟᱜ ᱮᱞᱤᱢᱮᱱᱴ ᱵᱟᱝ ᱡᱚᱲᱟᱣ ᱟᱠᱟᱱᱟ।", "noVersions": "ᱡᱟᱦᱟᱸᱱᱟᱜ ᱵᱷᱚᱨᱥᱚᱱ ᱵᱟᱹᱱᱩᱜᱼᱟ।", "versionsLoadFailed": "ᱵᱷᱚᱨᱥᱚᱱ ᱱᱟᱜᱟᱢ ᱞᱳᱰ ᱵᱟᱝ ᱦᱩᱭ ᱞᱮᱱᱟ।", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ᱱᱚᱣᱟ ᱨᱟᱫᱟ ᱫᱚ ᱱᱟᱦᱟᱜ ᱞᱮᱠᱟᱛᱮ ᱵᱟᱝ ᱫᱚᱦᱚ ᱜᱟᱱᱚᱜ ᱠᱟᱱᱟ ᱾ ᱫᱚᱭᱟ ᱠᱟᱛᱮᱫ ᱟᱨᱦᱚᱸ ᱠᱩᱨᱩᱢᱩᱴᱩᱭ ᱢᱮ ᱾" }, "validation": { "duplicateElements": "ᱢᱤᱫᱴᱟᱹᱝ ᱮᱞᱤᱢᱮᱱᱴ ᱢᱤᱫ ᱫᱷᱟᱣ ᱜᱮ ᱥᱮᱞᱮᱫ ᱦᱩᱭ ᱫᱟᱲᱮᱭᱟᱜᱼᱟ।", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "ᱥᱟᱠᱟᱢ ᱯᱤᱪᱷᱤ ᱛᱷᱟᱹᱨᱤ ᱠᱚ", + "previous": "ᱢᱟᱲᱟᱝ ᱨᱮᱱ ᱾", + "next": "ᱛᱟᱭᱚᱢ ᱫᱟᱨᱟᱢ ᱾" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sd/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sd/common.json index ce4f6827..81ee7246 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sd/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/sd/common.json @@ -24,13 +24,13 @@ "ariaLabel": "پرائمري نيويگيشن", "dashboard": "ڊيش بورڊ", "consent": "رضامندي", - "allConsents": "سڀ رضامنديون", - "pendingConsents": "زير التوا رضامنديون", + "allConsents": "My Consents", + "pendingConsents": "My Pending Consents", "catalog": "تعريفون", "purposes": "مقصد", "elements": "عنصر", "administration": "انتظاميه", - "adminConsents": "رضامنديون", + "adminConsents": "All Consents", "nominations": "نامزدگيون", "nomineeActivation": "نامزد ٿيل جي فعاليت", "myComplaints": "منهنجون شڪايتون", @@ -87,9 +87,10 @@ "groupIds": "گروپ IDs", "commaSeparatedUsers": "هڪ کان وڌيڪ يوزر IDs کي ڪاما سان ڌار ڪريو", "active": "فعال فلٽر", - "subjectIdHelp": "Username of the data subject", "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "removeConsentIdForState": "Remove the Consent ID filter to use the state filter.", + "propertyFilterLabel": "Consent property", + "removeConsentIdForSubject": "Remove the Consent ID filter to use the User ID filter." } }, "consentRegistry": { @@ -167,7 +168,8 @@ "elementCount_other": "{{count}} elements", "noAuthorizations": "No authorizations are recorded for this consent.", "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "noPurposes": "No purposes are associated with this consent.", + "noProperties": "No properties are associated with this consent." }, "actions": { "view": "ڏسو", diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ta/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ta/common.json index 7d248c3a..7068b4c6 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ta/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ta/common.json @@ -24,13 +24,13 @@ "ariaLabel": "முதன்மை வழிகாட்டி", "dashboard": "முகப்புப்பலகை", "consent": "சம்மதம்", - "allConsents": "அனைத்து சம்மதங்கள்", - "pendingConsents": "நிலுவையிலுள்ள சம்மதங்கள்", + "allConsents": "என் சம்மதங்கள்", + "pendingConsents": "எனது நிலுவையில் உள்ள ஒப்புதல்கள்", "catalog": "வரையறைகள்", "purposes": "நோக்கங்கள்", "elements": "கூறுகள்", "administration": "நிர்வாகம்", - "adminConsents": "சம்மதங்கள்", + "adminConsents": "அனைத்து ஒப்புதல்களும்", "nominations": "நியமனங்கள்", "nomineeActivation": "நியமன நபர் செயல்படுத்துதல்", "myComplaints": "எனது புகார்கள்", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "வகையின் அடிப்படையில் பிரிக்கப்பட்ட உங்களின் அனைத்து சம்மதங்கள்", "noTypes": "சம்மத வகைகள் எதுவும் இதுவரை கிடைக்கவில்லை.", "viewPending": "நிலுவையிலுள்ள அனைத்து சம்மதங்களையும் பார்", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "சேவை வாரியாக சம்மத முறிவு", + "serviceBreakdownSubtitle": "நீங்கள் கோரும் சேவைகளின் அடிப்படையில் உங்கள் ஒப்புதல்கள் அனைத்தும் தொகுக்கப்பட்டுள்ளன.", + "noServices": "இன்னும் எந்த சேவைகளும் கிடைக்கவில்லை." }, "adminConsents": { "title": "சம்மதங்கள்", @@ -87,9 +87,10 @@ "groupIds": "குழு ஐடிகள்", "commaSeparatedUsers": "பல பயனர் ஐடிகளை கற்புள்ளி (comma) மூலம் பிரிக்கவும்", "active": "செயலில் உள்ள வடிகட்டிகள்", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "சேவை", + "removeConsentIdForState": "மாநில வடிகட்டியைப் பயன்படுத்த சம்மத அடையாள வடிகட்டியை அகற்றவும்.", + "propertyFilterLabel": "சம்மத சொத்து", + "removeConsentIdForSubject": "பயனர் ஐடி வடிகட்டியைப் பயன்படுத்த, சம்மத ஐடி வடிகட்டியை அகற்றவும்." } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "நிகழ்வு வகை", "date": "தேதி", "time": "நேரம்", - "state": "State" + "state": "மாநிலம்" }, "lifecycle": { "tableAriaLabel": "சம்மதச் சுழற்சி", @@ -161,13 +162,14 @@ "required": "கட்டாயம்", "optional": "விருப்பத்தேர்வு" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "சேவை", + "elementCount": "{{count}} உறுப்புகள்", + "elementCount_one": "{{count}} உறுப்பு", + "elementCount_other": "{{count}} உறுப்புகள்", + "noAuthorizations": "இந்த ஒப்புதலுக்கான எந்த அங்கீகாரமும் பதிவு செய்யப்படவில்லை.", + "noElements": "இந்த நோக்கத்துடன் எந்த கூறுகளும் தொடர்புபடுத்தப்படவில்லை.", + "noPurposes": "இந்த ஒப்புதலுடன் எந்த நோக்கங்களும் இணைக்கப்படவில்லை.", + "noProperties": "இந்த ஒப்புதலுடன் எந்த சொத்துக்களும் இணைக்கப்படவில்லை." }, "actions": { "view": "பார்", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} இல் உள்ள {{elementLabel}} க்கான அனுமதியை மாற்று", "loading": "சம்மத விவரங்கள் ஏற்றப்படுகின்றன...", "noMandatory": "இந்தச் சம்மதத்திற்கு எந்தக் கட்டாயத் தேவைகளும் இல்லை.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "சம்மதத்தை அங்கீகரிக்கவும்", + "message": "இந்த சம்மதத்தை நீங்கள் அங்கீகரிக்க விரும்புகிறீர்களா?", + "note": "இந்த ஒப்புதலின் மூலம் கோரப்பட்ட ஒவ்வொரு நோக்கத்திற்கும், உறுப்புக்கும் மானியங்களை அங்கீகரித்தல்." }, "rejection": { "title": "நிராகரிப்பை உறுதிப்படுத்துக", @@ -240,8 +242,8 @@ "endDateAriaLabel": "முடிவு தேதி வடிகட்டி", "clear": "துடை", "clearAriaLabel": "அனைத்து வடிகட்டிகளையும் துடை", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "சேவை மூலம் தேடுங்கள்", + "state": "மாநிலம்" }, "messages": { "loading": "சம்மதங்கள் ஏற்றப்படுகின்றன...", @@ -267,8 +269,8 @@ "updated": "புதுப்பிக்கப்பட்டது", "expiration": "காலாவதி", "actions": "நடவடிக்கைகள்", - "service": "Service", - "state": "State" + "service": "சேவை", + "state": "மாநிலம்" } } }, @@ -292,10 +294,10 @@ "view": "பார்", "viewElement": "{{name}} ஐ பார்", "viewPurpose": "{{name}} ஐ பார்", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "பதிப்பைச் சேர்", + "reset": "மீட்டமை", + "search": "தேடல்", + "setLatest": "சமீபத்தியதாக அமை" }, "fields": { "actions": "நடவடிக்கைகள்", @@ -326,7 +328,7 @@ "schema": "ஸ்கீமா (Schema)", "type": "வகை", "version": "பதிப்பு", - "latestVersion": "Latest version" + "latestVersion": "சமீபத்திய பதிப்பு" }, "help": { "commaSeparatedGroups": "பல குழு ஐடிகளை கற்புள்ளி (comma) மூலம் பிரிக்கவும்", @@ -372,22 +374,22 @@ "nameLabel": "பெயர்", "nameRequired": "பெயர் தேவைப்படுகிறது.", "displayNameLabel": "காட்சிப் பெயர்", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "\"email-address\" போன்ற ஒரு தனித்துவமான இயந்திர அடையாளங்காட்டி.", + "submitting": "உருவாக்குகிறது...", + "duplicateName": "{{name}} என்ற பெயரில் ஏற்கனவே ஒரு உறுப்பு உள்ளது. வேறு பெயரைத் தேர்ந்தெடுக்கவும்.", + "createFailed": "ஏதோ தவறு நடந்துவிட்டது, அந்த உறுப்பை உருவாக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்.", + "propertyDuplicateKey": "இந்த விசை ஒன்றுக்கு மேற்பட்ட முறை பயன்படுத்தப்படுகிறது. ஒவ்வொரு பண்புக்கும் ஒரு வித்தியாசமான விசையைப் பயன்படுத்தவும்.", + "propertyKeyRequired": "ஒரு திறவுகோலைச் சேர்க்கவும், இல்லையெனில் இந்த மதிப்பு சேமிக்கப்படாது." }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "உறுப்பை நீக்கு", + "message": "{{name}}-ஐ நீக்க நீங்கள் உறுதியாக இருக்கிறீர்களா?", + "note": "இந்த செயல் நிரந்தரமானது மற்றும் அதைத் திரும்பப் பெற முடியாது.", + "confirm": "உறுப்பை நீக்கு", + "conflict": "இந்த உறுப்பை நீக்க முடியாது, ஏனெனில் இது இன்னும் ஒன்று அல்லது அதற்கு மேற்பட்ட நோக்கங்களுக்காகப் பயன்படுத்தப்படுகிறது. முதலில் அந்த நோக்கங்களிலிருந்து அதை அகற்றவும்.", + "deleteFailed": "ஏதோ தவறு நடந்துவிட்டது, அந்த உறுப்பை நீக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்." }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "{{term}} உடன் எந்த உறுப்புகளும் பொருந்தவில்லை." }, "purposes": { "add": "நோக்கத்தைச் சேர்", @@ -417,38 +419,38 @@ "typeLabel": "வகை", "versionLabel": "பதிப்பு", "elementsLabel": "கூறுகள்", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "வகைப்படுத்தல் அவசியம்.", + "typeHelp": "நோக்கத்தின் வகையைத் தட்டச்சு செய்யவும், எ.கா.\"கொள்கை\".", + "versionRequired": "பதிப்பு தேவைப்படுகிறது.", + "versionHelp": "ஒரு பதிப்பு அடையாளங்காட்டி, எ.கா. \"v1\".", + "submitting": "உருவாக்குகிறது...", + "createFailed": "ஏதோ தவறு நடந்துவிட்டது, நோக்கத்தை உருவாக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்." }, "versionForm": { "versionLabel": "பதிப்பு", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "பதிப்பைச் சேர்", + "versionRequired": "பதிப்பு தேவைப்படுகிறது.", + "versionDuplicate": "இந்த நோக்கத்திற்கு ஏற்கனவே இந்த பெயரில் ஒரு பதிப்பு உள்ளது.", + "versionHelp": "ஒரு பதிப்பு அடையாளங்காட்டி, எ.கா. \"v2\".", + "setAsLatestLabel": "சமீபத்திய பதிப்பாக அமைக்கவும்", + "submitting": "உருவாக்குகிறது...", + "createFailed": "ஏதோ தவறு நடந்துவிட்டது, பதிப்பை உருவாக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்." }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "நோக்கத்தை நீக்கு", + "message": "{{name}}-ஐ நீக்க நீங்கள் உறுதியாக இருக்கிறீர்களா?", + "note": "இந்த செயல் நிரந்தரமானது மற்றும் அதைத் திரும்பப் பெற முடியாது.", + "confirm": "நோக்கத்தை நீக்கு", + "conflict": "ஒன்று அல்லது அதற்கு மேற்பட்ட ஒப்புதல்களால் இது இன்னும் குறிப்பிடப்படுவதால் இந்த நோக்கத்தை நீக்க முடியாது.", + "deleteFailed": "ஏதோ தவறு நடந்துவிட்டது, நோக்கத்தை நீக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்." }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "{{version}} பதிப்பை நீக்க நீங்கள் உறுதியாக இருக்கிறீர்களா?", + "note": "இந்த செயல் நிரந்தரமானது மற்றும் அதைத் திரும்பப் பெற முடியாது.", + "deleteFailed": "ஏதோ தவறு நடந்துவிட்டது, பதிப்பை நீக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்.", + "latestBlocked": "சமீபத்திய பதிப்பை நீக்க முடியாது. வேறொரு பதிப்பை முதலில் சமீபத்தியதாக அமைக்கவும்." }, - "emptySearch": "No purposes match this search." + "emptySearch": "இந்தத் தேடலுக்கு எந்த நோக்கமும் பொருந்தவில்லை." }, "details": { "definition": "வரையறை", @@ -474,7 +476,7 @@ "noPurposeElements": "இன்னும் எந்த கூறுகளும் சேர்க்கப்படவில்லை. நோக்கத்தை உருவாக்க குறைந்தபட்சம் ஒரு கூறைச் சேர்க்கவும்.", "noVersions": "பதிப்புகள் எதுவும் கிடைக்கவில்லை.", "versionsLoadFailed": "தற்போது பதிப்பு வரலாற்றை ஏற்ற முடியவில்லை.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "இந்தப் பதிப்பை சமீபத்தியதாக அமைக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்." }, "validation": { "duplicateElements": "ஒவ்வொரு கூறும் ஒரு முறை மட்டுமே சேர்க்கப்பட முடியும்.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "பக்கத்திற்கு வரிசைகள்", + "previous": "முந்தையது", + "next": "அடுத்து" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/te/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/te/common.json index 628d3813..18007e2e 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/te/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/te/common.json @@ -24,13 +24,13 @@ "ariaLabel": "ప్రాథమిక నావిగేషన్", "dashboard": "డ్యాష్‌బోర్డ్", "consent": "సమ్మతి", - "allConsents": "అన్ని సమ్మతులు", - "pendingConsents": "పెండింగ్‌లో ఉన్న సమ్మతులు", + "allConsents": "నా అంగీకారాలు", + "pendingConsents": "నా పెండింగ్ అంగీకారాలు", "catalog": "నిర్వచనాలు", "purposes": "ప్రయోజనాలు", "elements": "అంశాలు", "administration": "నిర్వహణ", - "adminConsents": "సమ్మతులు", + "adminConsents": "అన్ని అంగీకారాలు", "nominations": "నామినేషన్లు", "nomineeActivation": "నామినీ యాక్టివేషన్", "myComplaints": "నా ఫిర్యాదులు", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "మీ అన్ని సమ్మతులు రకం వారీగా సమూహం చేయబడ్డాయి", "noTypes": "సమ్మతి రకాలు ఇంకా అందుబాటులో లేవు.", "viewPending": "పెండింగ్‌లో ఉన్న అన్ని సమ్మతులను వీక్షించండి", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "సేవల వారీగా సమ్మతి విచ్ఛిన్నం", + "serviceBreakdownSubtitle": "మీ అభ్యర్థన సేవ ద్వారా వర్గీకరించబడిన మీ సమ్మతి పత్రాలన్నీ.", + "noServices": "ఇంకా సేవలు అందుబాటులో లేవు." }, "adminConsents": { "title": "సమ్మతులు", @@ -87,9 +87,10 @@ "groupIds": "గ్రూప్ IDలు", "commaSeparatedUsers": "బహుళ వినియోగదారు IDలను కామాలతో వేరు చేయండి", "active": "క్రియాశీల ఫిల్టర్‌లు", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "సేవ", + "removeConsentIdForState": "రాష్ట్ర ఫిల్టర్‌ను ఉపయోగించడానికి సమ్మతి ID ఫిల్టర్‌ను తీసివేయండి.", + "propertyFilterLabel": "సమ్మతి ఆస్తి", + "removeConsentIdForSubject": "యూజర్ ఐడి ఫిల్టర్‌ను ఉపయోగించడానికి కన్సెంట్ ఐడి ఫిల్టర్‌ను తీసివేయండి." } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "ఈవెంట్ రకం", "date": "తేదీ", "time": "సమయం", - "state": "State" + "state": "రాష్ట్రం" }, "lifecycle": { "tableAriaLabel": "సమ్మతి జీవితచక్రం", @@ -161,13 +162,14 @@ "required": "తప్పనిసరి", "optional": "ఐచ్ఛికం" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "సేవ", + "elementCount": "{{count}} అంశాలు", + "elementCount_one": "{{count}} మూలకం", + "elementCount_other": "{{count}} అంశాలు", + "noAuthorizations": "ఈ సమ్మతి కోసం ఎటువంటి అనుమతులు నమోదు చేయబడలేదు.", + "noElements": "ఈ ఉద్దేశ్యంతో ఏ అంశాలు అనుబంధించబడలేదు.", + "noPurposes": "ఈ సమ్మతితో ఎటువంటి ఉద్దేశాలు ముడిపడి లేవు.", + "noProperties": "ఈ సమ్మతితో ఎటువంటి ఆస్తులు అనుబంధించబడలేదు." }, "actions": { "view": "వీక్షించు", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}}లో {{elementLabel}} కోసం అనుమతిని టోగుల్ చేయి", "loading": "సమ్మతి వివరాలు లోడ్ అవుతున్నాయి...", "noMandatory": "ఈ సమ్మతి కోసం తప్పనిసరి అవసరాలు ఏవీ లేవు.", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "సమ్మతిని ఆమోదించండి", + "message": "మీరు ఈ సమ్మతిని ఆమోదించాలనుకుంటున్నారని ఖచ్చితంగా అనుకుంటున్నారా?", + "note": "ఈ సమ్మతి ద్వారా అభ్యర్థించిన ప్రతి ఉద్దేశ్యం మరియు అంశానికి గ్రాంట్‌లను ఆమోదిస్తుంది." }, "rejection": { "title": "తిరస్కరణను నిర్ధారించండి", @@ -240,8 +242,8 @@ "endDateAriaLabel": "ముగింపు తేదీ ఫిల్టర్", "clear": "అన్నీ క్లియర్ చేయి", "clearAriaLabel": "అన్ని ఫిల్టర్‌లను క్లియర్ చేయి", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "సేవల ద్వారా వెతకండి", + "state": "రాష్ట్రం" }, "messages": { "loading": "సమ్మతులు లోడ్ అవుతున్నాయి...", @@ -267,8 +269,8 @@ "updated": "నవీకరించబడింది", "expiration": "గడువు ముగింపు", "actions": "చర్యలు", - "service": "Service", - "state": "State" + "service": "సేవ", + "state": "రాష్ట్రం" } } }, @@ -292,10 +294,10 @@ "view": "వీక్షించు", "viewElement": "{{name}} వీక్షించు", "viewPurpose": "{{name}} వీక్షించు", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "వెర్షన్‌ను చేర్చు", + "reset": "పునరుద్ధరించు", + "search": "వెతకండి", + "setLatest": "తాజాదిగా సెట్ చేయండి" }, "fields": { "actions": "చర్యలు", @@ -326,7 +328,7 @@ "schema": "స్కీమా (Schema)", "type": "రకం", "version": "వెర్షన్", - "latestVersion": "Latest version" + "latestVersion": "తాజా వెర్షన్" }, "help": { "commaSeparatedGroups": "బహుళ గ్రూప్ IDలను కామాలతో వేరు చేయండి", @@ -372,22 +374,22 @@ "nameLabel": "పేరు", "nameRequired": "పేరు తప్పనిసరి.", "displayNameLabel": "ప్రదర్శన పేరు", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "ఒక ప్రత్యేకమైన యంత్ర గుర్తింపు, ఉదాహరణకు \"email-address\".", + "submitting": "సృష్టిస్తోంది...", + "duplicateName": "{{name}} పేరుతో ఒక మూలకం ఇప్పటికే ఉంది. వేరే పేరును ఎంచుకోండి.", + "createFailed": "ఏదో తప్పు జరిగింది మరియు మూలకాన్ని సృష్టించలేకపోయాము. దయచేసి మళ్ళీ ప్రయత్నించండి.", + "propertyDuplicateKey": "ఈ కీ ఒకటి కంటే ఎక్కువసార్లు ఉపయోగించబడింది. ప్రతి ఆస్తికి వేర్వేరు కీని ఉపయోగించండి.", + "propertyKeyRequired": "ఒక కీని జోడించండి, లేకపోతే ఈ విలువ సేవ్ చేయబడదు." }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "మూలకాన్ని తొలగించు", + "message": "మీరు నిజంగా \"{{name}}\" ను తొలగించాలనుకుంటున్నారా?", + "note": "ఈ చర్య శాశ్వతమైనది మరియు దీనిని రద్దు చేయలేము.", + "confirm": "మూలకాన్ని తొలగించు", + "conflict": "ఈ మూలకాన్ని తొలగించలేము ఎందుకంటే ఇది ఇంకా ఒకటి లేదా అంతకంటే ఎక్కువ ప్రయోజనాల కోసం ఉపయోగించబడుతోంది. మొదట వాటి నుండి తొలగించండి.", + "deleteFailed": "ఏదో తప్పు జరిగింది మరియు మూలకాన్ని తొలగించలేకపోయాము. దయచేసి మళ్ళీ ప్రయత్నించండి." }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "\"{{term}}\"తో సరిపోయే అంశాలు ఏమీ లేవు." }, "purposes": { "add": "ప్రయోజనాన్ని జోడించు", @@ -417,38 +419,38 @@ "typeLabel": "రకం", "versionLabel": "వెర్షన్", "elementsLabel": "అంశాలు", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "టైప్ అవసరం.", + "typeHelp": "ఉద్దేశం యొక్క రకం, ఉదాహరణకు \"పాలసీ\".", + "versionRequired": "వెర్షన్ అవసరం.", + "versionHelp": "ఒక వెర్షన్ ఐడెంటిఫైయర్, ఉదాహరణకు \"v1\".", + "submitting": "సృష్టిస్తోంది...", + "createFailed": "ఏదో తప్పు జరిగింది మరియు ఉద్దేశ్యం సృష్టించబడలేదు. దయచేసి మళ్ళీ ప్రయత్నించండి." }, "versionForm": { "versionLabel": "వెర్షన్", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "వెర్షన్‌ను చేర్చు", + "versionRequired": "వెర్షన్ అవసరం.", + "versionDuplicate": "ఈ ఉద్దేశ్యం ఇప్పటికే ఈ పేరుతో ఒక వెర్షన్‌ను కలిగి ఉంది.", + "versionHelp": "ఒక వెర్షన్ ఐడెంటిఫైయర్, ఉదాహరణకు \"v2\".", + "setAsLatestLabel": "తాజా వెర్షన్‌గా సెట్ చేయండి", + "submitting": "సృష్టిస్తోంది...", + "createFailed": "ఏదో తప్పు జరిగింది మరియు వెర్షన్‌ను సృష్టించలేకపోయాము. దయచేసి మళ్ళీ ప్రయత్నించండి." }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "ఉద్దేశ్యాన్ని తొలగించు", + "message": "మీరు నిజంగా \"{{name}}\" ను తొలగించాలనుకుంటున్నారా?", + "note": "ఈ చర్య శాశ్వతమైనది మరియు దీనిని రద్దు చేయలేము.", + "confirm": "ఉద్దేశ్యాన్ని తొలగించు", + "conflict": "ఈ ఉద్దేశాన్ని తొలగించలేము ఎందుకంటే ఇది ఇంకా ఒకటి లేదా అంతకంటే ఎక్కువ సమ్మతుల ద్వారా సూచించబడుతుంది.", + "deleteFailed": "ఏదో తప్పు జరిగింది మరియు ఉద్దేశ్యాన్ని తొలగించలేకపోయాము. దయచేసి మళ్ళీ ప్రయత్నించండి." }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "మీరు నిజంగా \"{{version}}\" సంస్కరణను తొలగించాలనుకుంటున్నారా?", + "note": "ఈ చర్య శాశ్వతమైనది మరియు దీనిని రద్దు చేయలేము.", + "deleteFailed": "ఏదో తప్పు జరిగింది మరియు వెర్షన్‌ను తొలగించలేకపోయాము. దయచేసి మళ్ళీ ప్రయత్నించండి.", + "latestBlocked": "తాజా వెర్షన్‌ను తొలగించలేము. మరొక వెర్షన్‌ను మొదట తాజా వెర్షన్‌గా సెట్ చేయండి." }, - "emptySearch": "No purposes match this search." + "emptySearch": "ఈ శోధనకు సరిపోయే ఉద్దేశ్యాలు ఏవీ లేవు." }, "details": { "definition": "నిర్వచనం", @@ -474,7 +476,7 @@ "noPurposeElements": "ఇంకా ఎలాంటి అంశాలు జోడించబడలేదు. ప్రయోజనాన్ని సృష్టించడానికి కనీసం ఒక అంశాన్ని జోడించండి.", "noVersions": "ఎలాంటి వెర్షన్‌లు అందుబాటులో లేవు.", "versionsLoadFailed": "ప్రస్తుతం వెర్షన్ చరిత్రను లోడ్ చేయడం సాధ్యపడలేదు.", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "ఈ వెర్షన్‌ను తాజా వెర్షన్‌గా సెట్ చేయలేకపోయాము. దయచేసి మళ్లీ ప్రయత్నించండి." }, "validation": { "duplicateElements": "ప్రతి అంశం ఒక్కసారి మాత్రమే చేర్చబడాలి.", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "పేజీకి వరుసలు", + "previous": "మునుపటి", + "next": "తరువాత" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ur/common.json b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ur/common.json index 75b4ba5a..32b46e62 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ur/common.json +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/public/i18n/ur/common.json @@ -24,13 +24,13 @@ "ariaLabel": "بنیادی نیویگیشن", "dashboard": "ڈیش بورڈ", "consent": "رضامندی", - "allConsents": "تمام رضامندیاں", - "pendingConsents": "زیر التواء رضامندیاں", + "allConsents": "میری رضامندیاں", + "pendingConsents": "میری زیر التوا منظوریوں", "catalog": "تعریفات", "purposes": "مقاصد", "elements": "عناصر", "administration": "انتظامیہ", - "adminConsents": "رضامندیاں", + "adminConsents": "تمام رضامندیاں", "nominations": "نامزدگیاں", "nomineeActivation": "نامزد فرد کی فعال کاری", "myComplaints": "میری شکایتیں", @@ -72,9 +72,9 @@ "typeBreakdownSubtitle": "قسم کے لحاظ سے آپ کی تمام رضامندیاں", "noTypes": "ابھی تک رضامندی کی کوئی قسم دستیاب نہیں ہے۔", "viewPending": "تمام زیر التواء رضامندیاں دیکھیں", - "serviceBreakdown": "Consent breakdown by service", - "serviceBreakdownSubtitle": "All of your consents grouped by requesting service", - "noServices": "No services are available yet." + "serviceBreakdown": "خدمت کے لحاظ سے رضامندی کی شکست", + "serviceBreakdownSubtitle": "آپ کی تمام رضامندیاں درخواست کردہ سروس کے لحاظ سے گروپ کی گئی ہیں۔", + "noServices": "ابھی تک کوئی سروس دستیاب نہیں ہے۔" }, "adminConsents": { "title": "رضامندیاں", @@ -87,9 +87,10 @@ "groupIds": "گروپ IDs", "commaSeparatedUsers": "متعدد صارف IDs کو کوما (,) سے الگ کریں", "active": "فعال فلٹرز", - "subjectIdHelp": "Username of the data subject", - "serviceId": "Service", - "removeConsentIdForState": "Remove the Consent ID filter to use the state filter." + "serviceId": "خدمت", + "removeConsentIdForState": "ریاستی فلٹر استعمال کرنے کے لیے رضامندی شناختی فلٹر ہٹا دیں۔", + "propertyFilterLabel": "رضامندی کی جائیداد", + "removeConsentIdForSubject": "یوزر آئی ڈی فلٹر استعمال کرنے کے لیے کنسنٹ آئی ڈی فلٹر ہٹا دیں۔" } }, "consentRegistry": { @@ -139,7 +140,7 @@ "eventType": "تقریب کی قسم", "date": "تاریخ", "time": "وقت", - "state": "State" + "state": "ریاست" }, "lifecycle": { "tableAriaLabel": "رضامندی کا لائف سائیکل", @@ -161,13 +162,14 @@ "required": "ضروری", "optional": "اختیاری" }, - "service": "Service", - "elementCount": "{{count}} elements", - "elementCount_one": "{{count}} element", - "elementCount_other": "{{count}} elements", - "noAuthorizations": "No authorizations are recorded for this consent.", - "noElements": "No elements are associated with this purpose.", - "noPurposes": "No purposes are associated with this consent." + "service": "خدمت", + "elementCount": "{{count}} عناصر", + "elementCount_one": "{{count}} عنصر", + "elementCount_other": "{{count}} عناصر", + "noAuthorizations": "اس رضامندی کے لیے کوئی اجازت نامے درج نہیں ہیں۔", + "noElements": "اس مقصد کے ساتھ کوئی عناصر منسلک نہیں ہیں۔", + "noPurposes": "اس رضامندی سے کوئی مقاصد وابستہ نہیں ہیں۔", + "noProperties": "اس رضامندی سے کوئی جائیداد منسلک نہیں ہے۔" }, "actions": { "view": "دیکھیں", @@ -193,9 +195,9 @@ "toggleWithDetails": "{{purposeLabel}} میں {{elementLabel}} کے لیے اجازت کی حالت بدلیں", "loading": "رضامندی کی تفصیلات لوڈ ہو رہی ہیں...", "noMandatory": "اس رضامندی کے لیے کوئی لازمی ضروریات نہیں ہیں۔", - "confirm": "Approve Consent", - "message": "Are you sure you want to approve this consent?", - "note": "Approving grants every purpose and element requested by this consent." + "confirm": "رضامندی منظور کریں۔", + "message": "کیا آپ واقعی اس رضامندی کی منظوری دینا چاہتی ہیں؟", + "note": "اس رضامندی کے ذریعے درخواست کردہ ہر مقصد اور عنصر کے لیے گرانٹس کی منظوری۔" }, "rejection": { "title": "مسترد کرنے کی تصدیق کریں", @@ -240,8 +242,8 @@ "endDateAriaLabel": "آخری تاریخ کا فلٹر", "clear": "سب صاف کریں", "clearAriaLabel": "تمام فلٹرز صاف کریں", - "serviceSearchPlaceholder": "Search by service", - "state": "State" + "serviceSearchPlaceholder": "سروس کے ذریعے تلاش کریں۔", + "state": "ریاست" }, "messages": { "loading": "رضامندیاں لوڈ ہو رہی ہیں...", @@ -267,8 +269,8 @@ "updated": "اپ ڈیٹ شدہ", "expiration": "میعاد ختم ہونے کی تاریخ", "actions": "اقدامات", - "service": "Service", - "state": "State" + "service": "خدمت", + "state": "ریاست" } } }, @@ -292,10 +294,10 @@ "view": "دیکھیں", "viewElement": "{{name}} دیکھیں", "viewPurpose": "{{name}} دیکھیں", - "addVersion": "Add Version", - "reset": "Reset", - "search": "Search", - "setLatest": "Set as latest" + "addVersion": "اضافہ کریں ورژن", + "reset": "دوبارہ ترتیب دیں", + "search": "تلاش کریں", + "setLatest": "تازہ ترین کے طور پر سیٹ کریں۔" }, "fields": { "actions": "اقدامات", @@ -326,7 +328,7 @@ "schema": "اسکیما", "type": "قسم", "version": "ورژن", - "latestVersion": "Latest version" + "latestVersion": "تازہ ترین ورژن" }, "help": { "commaSeparatedGroups": "متعدد گروپ IDs کو کوما (,) سے الگ کریں", @@ -372,22 +374,22 @@ "nameLabel": "نام", "nameRequired": "نام ضروری ہے۔", "displayNameLabel": "ڈسپلے کا نام", - "nameHelp": "A unique machine identifier, for example \"email-address\".", - "submitting": "Creating...", - "duplicateName": "An element named \"{{name}}\" already exists. Choose a different name.", - "createFailed": "Something went wrong and the element could not be created. Please try again.", - "propertyDuplicateKey": "This key is used more than once. Use a different key for each property.", - "propertyKeyRequired": "Add a key, or this value will not be saved." + "nameHelp": "ایک منفرد مشین شناخت کنندہ، مثال کے طور پر \"ای میل-ایڈریس\"۔", + "submitting": "تخلیق ہو رہی ہے...", + "duplicateName": "{{name}} نام کا ایک عنصر پہلے سے موجود ہے۔ ایک مختلف نام منتخب کریں۔", + "createFailed": "کچھ غلط ہوا اور عنصر نہیں بنایا جا سکا۔ براہ کرم دوبارہ کوشش کریں۔", + "propertyDuplicateKey": "یہ کلید ایک سے زیادہ بار استعمال ہوتی ہے۔ ہر پراپرٹی کے لیے ایک مختلف کلید استعمال کریں۔", + "propertyKeyRequired": "ایک کلید شامل کریں، ورنہ یہ قدر محفوظ نہیں ہوگی۔" }, "delete": { - "title": "Delete Element", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Element", - "conflict": "This element can't be deleted because it's still used by one or more purposes. Remove it from those purposes first.", - "deleteFailed": "Something went wrong and the element could not be deleted. Please try again." + "title": "عنصر حذف کریں", + "message": "کیا آپ کو یقین ہے کہ آپ \"{{name}}\" کو حذف کرنا چاہتی ہیں؟", + "note": "یہ عمل مستقل ہے اور اسے کالعدم نہیں کیا جا سکتا۔", + "confirm": "عنصر حذف کریں", + "conflict": "اس عنصر کو حذف نہیں کیا جا سکتا کیونکہ یہ اب بھی ایک یا زیادہ مقاصد کے لیے استعمال ہوتا ہے۔ پہلے اسے ان مقاصد سے ہٹائیں۔", + "deleteFailed": "کچھ غلط ہوا اور عنصر کو حذف نہیں کیا جا سکا۔ براہ کرم دوبارہ کوشش کریں۔" }, - "emptySearch": "No elements match \"{{term}}\"." + "emptySearch": "کوئی بھی عنصر \"{{term}} سے میل نہیں کھاتا۔" }, "purposes": { "add": "مقصد شامل کریں", @@ -417,38 +419,38 @@ "typeLabel": "قسم", "versionLabel": "ورژن", "elementsLabel": "عناصر", - "typeRequired": "Type is required.", - "typeHelp": "Type of the purpose, e.g. \"Policy\".", - "versionRequired": "Version is required.", - "versionHelp": "A version identifier, e.g. \"v1\".", - "submitting": "Creating...", - "createFailed": "Something went wrong and the purpose could not be created. Please try again." + "typeRequired": "ٹائپ کرنا ضروری ہے۔", + "typeHelp": "مقصد کی قسم، مثلاً \"پالیسی\"۔", + "versionRequired": "ورژن درکار ہے۔", + "versionHelp": "ایک ورژن شناخت کنندہ، مثلاً \"v1\"۔", + "submitting": "تخلیق ہو رہی ہے...", + "createFailed": "کچھ غلط ہوا اور مقصد پیدا نہیں کیا جا سکا۔ براہ کرم دوبارہ کوشش کریں۔" }, "versionForm": { "versionLabel": "ورژن", - "title": "Add Version", - "versionRequired": "Version is required.", - "versionDuplicate": "This purpose already has a version with this name.", - "versionHelp": "A version identifier, e.g. \"v2\".", - "setAsLatestLabel": "Set as the latest version", - "submitting": "Creating...", - "createFailed": "Something went wrong and the version could not be created. Please try again." + "title": "اضافہ کریں ورژن", + "versionRequired": "ورژن درکار ہے۔", + "versionDuplicate": "اس مقصد کا پہلے سے ہی اس نام کے ساتھ ایک ورژن موجود ہے۔", + "versionHelp": "ایک ورژن شناخت کنندہ، مثلاً \"v2\"۔", + "setAsLatestLabel": "تازہ ترین ورژن کے طور پر سیٹ کریں۔", + "submitting": "تخلیق ہو رہی ہے...", + "createFailed": "کچھ غلط ہوا اور ورژن نہیں بنایا جا سکا۔ براہ کرم دوبارہ کوشش کریں۔" }, "delete": { - "title": "Delete Purpose", - "message": "Are you sure you want to delete \"{{name}}\"?", - "note": "This action is permanent and cannot be undone.", - "confirm": "Delete Purpose", - "conflict": "This purpose can't be deleted because it's still referenced by one or more consents.", - "deleteFailed": "Something went wrong and the purpose could not be deleted. Please try again." + "title": "مقصد حذف کریں", + "message": "کیا آپ کو یقین ہے کہ آپ \"{{name}}\" کو حذف کرنا چاہتی ہیں؟", + "note": "یہ عمل مستقل ہے اور اسے کالعدم نہیں کیا جا سکتا۔", + "confirm": "مقصد حذف کریں", + "conflict": "اس مقصد کو حذف نہیں کیا جاسکتا کیونکہ اس کا حوالہ اب بھی ایک یا زیادہ رضامندیوں سے دیا جاتا ہے۔", + "deleteFailed": "کچھ غلط ہوا اور مقصد کو حذف نہیں کیا جا سکا۔ براہ کرم دوبارہ کوشش کریں۔" }, "versionDelete": { - "message": "Are you sure you want to delete version \"{{version}}\"?", - "note": "This action is permanent and cannot be undone.", - "deleteFailed": "Something went wrong and the version could not be deleted. Please try again.", - "latestBlocked": "The latest version cannot be deleted. Set another version as latest first." + "message": "کیا آپ واقعی ورژن \"{{version}}\" کو حذف کرنا چاہتی ہیں؟", + "note": "یہ عمل مستقل ہے اور اسے کالعدم نہیں کیا جا سکتا۔", + "deleteFailed": "کچھ غلط ہوا اور ورژن کو حذف نہیں کیا جا سکا۔ براہ کرم دوبارہ کوشش کریں۔", + "latestBlocked": "تازہ ترین ورژن کو حذف نہیں کیا جا سکتا۔ پہلے کسی اور ورژن کو تازہ ترین کے طور پر سیٹ کریں۔" }, - "emptySearch": "No purposes match this search." + "emptySearch": "اس تلاش سے کوئی مقصد مطابقت نہیں رکھتا۔" }, "details": { "definition": "تعریف", @@ -474,7 +476,7 @@ "noPurposeElements": "ابھی تک کوئی عنصر شامل نہیں کیا گیا۔ مقصد بنانے کے لیے کم از کم ایک عنصر شامل کریں۔", "noVersions": "کوئی ورژن دستیاب نہیں ہے۔", "versionsLoadFailed": "اس وقت ورژن ہسٹری لوڈ کرنے میں ناکامی ہوئی۔", - "setLatestFailed": "Unable to set this version as the latest. Please try again." + "setLatestFailed": "اس ورژن کو تازہ ترین کے طور پر سیٹ کرنے سے قاصر ہیں۔ براہ کرم دوبارہ کوشش کریں۔" }, "validation": { "duplicateElements": "ہر عنصر کو صرف ایک بار شامل کیا جا سکتا ہے۔", @@ -938,8 +940,8 @@ } }, "pagination": { - "rowsPerPage": "Rows per page", - "previous": "Previous", - "next": "Next" + "rowsPerPage": "فی صفحہ قطاریں", + "previous": "پچھلا", + "next": "اگلا" } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentFilters.test.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentFilters.test.tsx index 183b286a..cb0b028e 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentFilters.test.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentFilters.test.tsx @@ -52,12 +52,18 @@ describe('administrative consent filters', () => { consentId: ' consent-1 ', subjectId: ' admin ', serviceId: ' dpdp-portal ', + purposeId: ' purpose-1 ', + propertyKey: ' dataCategory ', + propertyValue: ' personal ', }), ).toEqual({ state: 'ACTIVE', consentId: 'consent-1', subjectId: 'admin', serviceId: 'dpdp-portal', + purposeId: 'purpose-1', + propertyKey: 'dataCategory', + propertyValue: 'personal', }) }) @@ -67,31 +73,61 @@ describe('administrative consent filters', () => { expect(getAdminConsentFilters(new URLSearchParams('subjectId=admin')).subjectId).toBe('admin') }) - it('offers only the subject and service advanced filters', () => { + it('searches by User directly from the main row', () => { const onFilterChange = vi.fn() renderFilters(EMPTY_ADMIN_CONSENT_FILTERS, onFilterChange) expect(screen.getByPlaceholderText('Search by consent ID')).toBeInTheDocument() + const subjectId = screen.getByRole('textbox', { name: 'User' }) + expect(subjectId).toBeEnabled() + + fireEvent.change(subjectId, { target: { value: ' admin ' } }) + fireEvent.keyDown(subjectId, { key: 'Enter' }) + + expect(onFilterChange).toHaveBeenCalledWith({ + state: 'All', + consentId: '', + subjectId: 'admin', + serviceId: '', + purposeId: '', + propertyKey: '', + propertyValue: '', + }) + }) + + it('offers service, purpose and a consent-property filter in advanced filters', () => { + const onFilterChange = vi.fn() + renderFilters(EMPTY_ADMIN_CONSENT_FILTERS, onFilterChange) + fireEvent.click(screen.getByRole('button', { name: 'Advanced filters' })) - const subjectId = screen.getByRole('textbox', { name: 'User' }) const serviceId = screen.getByRole('textbox', { name: 'Service' }) - expect(subjectId).toBeEnabled() + const purposeId = screen.getByRole('textbox', { name: 'Purpose' }) + const propertyKey = screen.getByRole('textbox', { name: 'Key' }) + const propertyValue = screen.getByRole('textbox', { name: 'Value' }) expect(serviceId).toBeEnabled() + expect(purposeId).toBeEnabled() + expect(propertyKey).toBeEnabled() + expect(propertyValue).toBeEnabled() + expect(screen.queryByRole('textbox', { name: 'User' })).not.toBeInTheDocument() expect(screen.queryByRole('textbox', { name: /element/i })).not.toBeInTheDocument() expect(screen.queryByRole('textbox', { name: /group/i })).not.toBeInTheDocument() - expect(screen.queryByRole('textbox', { name: /purpose/i })).not.toBeInTheDocument() - fireEvent.change(subjectId, { target: { value: ' admin ' } }) fireEvent.change(serviceId, { target: { value: 'dpdp-portal' } }) + fireEvent.change(purposeId, { target: { value: ' purpose-1 ' } }) + fireEvent.change(propertyKey, { target: { value: ' dataCategory ' } }) + fireEvent.change(propertyValue, { target: { value: ' personal ' } }) fireEvent.click(screen.getByRole('button', { name: 'Apply' })) expect(onFilterChange).toHaveBeenCalledWith({ state: 'All', consentId: '', - subjectId: 'admin', + subjectId: '', serviceId: 'dpdp-portal', + purposeId: 'purpose-1', + propertyKey: 'dataCategory', + propertyValue: 'personal', }) }) @@ -113,8 +149,10 @@ describe('administrative consent filters', () => { renderFilters({ ...EMPTY_ADMIN_CONSENT_FILTERS, consentId: 'consent-123' }) const advancedFiltersButton = screen.getByRole('button', { name: 'Advanced filters' }) + const subjectId = screen.getByRole('textbox', { name: 'User' }) const stateSelect = screen.getByRole('combobox', { name: 'State' }) expect(advancedFiltersButton).toBeDisabled() + expect(subjectId).toBeDisabled() expect(stateSelect).toHaveAttribute('aria-disabled', 'true') fireEvent.mouseOver(advancedFiltersButton.parentElement as HTMLElement) @@ -122,6 +160,11 @@ describe('administrative consent filters', () => { await screen.findByText('Remove the Consent ID filter to use advanced filters.'), ).toBeInTheDocument() + fireEvent.mouseOver(subjectId.closest('[aria-label]') as HTMLElement) + expect( + await screen.findByText('Remove the Consent ID filter to use the User ID filter.'), + ).toBeInTheDocument() + fireEvent.mouseOver(stateSelect.closest('[aria-label]') as HTMLElement) expect( await screen.findByText('Remove the Consent ID filter to use the state filter.'), diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentRegistryPage.test.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentRegistryPage.test.tsx index 7b45a9b5..34b427c0 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentRegistryPage.test.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentRegistryPage.test.tsx @@ -95,6 +95,42 @@ describe('AdminConsentRegistryPage', () => { expect(Object.fromEntries(url.searchParams)).toEqual({ limit: '10' }) }) + it('renders purpose names when the BFF has expanded list rows with detail', async () => { + vi.stubGlobal('fetch', fetchMock) + fetchMock.mockResolvedValue({ + ok: true, + status: 200, + json: async () => ({ + totalResults: 1, + links: [], + Consents: [ + { + id: 'db0759de-c098-4f44-b78d-6718226db8b2', + subjectId: 'admin', + serviceId: 'dpdp-portal-spike', + state: 'ACTIVE', + timestamp: 1785833928316, + purposes: [ + { + id: 'purpose-1', + name: 'marketing-spike', + type: 'CONSENT', + versionId: 'version-1', + version: '1.0.0', + elements: [], + }, + ], + }, + ], + }), + }) + + renderAdminPage() + + expect(await screen.findByText('marketing-spike')).toBeInTheDocument() + expect(screen.getByRole('columnheader', { name: 'Purposes' })).toBeInTheDocument() + }) + it('pages forward with the after cursor taken from links', async () => { vi.stubGlobal('fetch', fetchMock) fetchMock.mockResolvedValue({ diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentsApi.test.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentsApi.test.ts index ce0d29c5..736c820e 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentsApi.test.ts +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AdminConsentsApi.test.ts @@ -18,6 +18,7 @@ import { afterEach, describe, expect, it, vi } from 'vitest' import { + buildConsentPropertyFilter, fetchAdminConsentByID, fetchAdminConsents, revokeAdminConsent, @@ -77,6 +78,32 @@ describe('administrative consent API', () => { }) }) + it('passes purposeId and a custom property filter to the BFF', async () => { + mockJSONResponse({ totalResults: 0, links: [], Consents: [] }) + + await fetchAdminConsents({ + limit: 10, + purposeId: 'purpose-1', + filter: 'properties.dataCategory eq "personal"', + }) + + const [requestUrl] = fetchMock.mock.calls[0] ?? [] + expect(Object.fromEntries(new URL(String(requestUrl)).searchParams)).toEqual({ + limit: '10', + purposeId: 'purpose-1', + filter: 'properties.dataCategory eq "personal"', + }) + }) + + it('builds a properties. eq "" filter only when both key and value are set', () => { + expect(buildConsentPropertyFilter('dataCategory', 'personal')).toBe( + 'properties.dataCategory eq "personal"', + ) + expect(buildConsentPropertyFilter(' region ', ' EU ')).toBe('properties.region eq "EU"') + expect(buildConsentPropertyFilter('dataCategory', '')).toBeUndefined() + expect(buildConsentPropertyFilter('', 'personal')).toBeUndefined() + }) + it('reads next and previous cursors out of the returned links', async () => { const links = [ { diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AppSidebar.test.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AppSidebar.test.tsx index d74aa516..1bbbbbd2 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AppSidebar.test.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/AppSidebar.test.tsx @@ -43,7 +43,10 @@ describe('AppSidebar', () => { - + { expect(screen.getByRole('complementary')).toBeInTheDocument() expect(screen.getByRole('navigation')).toBeInTheDocument() - expect(screen.getByText('Consent')).toBeInTheDocument() + expect(screen.getByText('All Consents')).toBeInTheDocument() expect(screen.getByText('/consents')).toBeInTheDocument() const navigationText = screen.getByRole('navigation').textContent ?? '' expect(navigationText.indexOf('Administration')).toBeLessThan( navigationText.indexOf('Definitions'), ) - fireEvent.click(screen.getByText('Pending Consents')) + fireEvent.click(screen.getByText('My Pending Consents')) expect(screen.getByText('/consents?state=PENDING')).toBeInTheDocument() @@ -93,7 +96,7 @@ describe('AppSidebar', () => { ) expect(screen.getByText('Purposes')).toBeInTheDocument() - expect(screen.queryByText('Consent')).not.toBeInTheDocument() + expect(screen.queryByText('Consents')).not.toBeInTheDocument() expect(screen.queryByText('Dashboard')).not.toBeInTheDocument() expect(screen.queryByText('Elements')).not.toBeInTheDocument() expect(screen.queryByText('Administration')).not.toBeInTheDocument() @@ -123,10 +126,52 @@ describe('AppSidebar', () => { ) expect(screen.getByText('Administration')).toBeInTheDocument() - expect(screen.getByText('Consents')).toBeInTheDocument() - expect(screen.queryByText('Consent')).not.toBeInTheDocument() - expect(screen.queryByText('All Consents')).not.toBeInTheDocument() + expect(screen.getByText('All Consents')).toBeInTheDocument() + expect(screen.queryByText('Consents')).not.toBeInTheDocument() + expect(screen.queryByText('My Consents')).not.toBeInTheDocument() expect(screen.queryByText('Dashboard')).not.toBeInTheDocument() expect(screen.getByText('/administration/consents')).toBeInTheDocument() }) + + it('hides self-service consents for admins when hideSelfConsentsForAdmins is true', () => { + render( + + + + + + + + + , + ) + + expect(screen.getByText('All Consents')).toBeInTheDocument() + expect(screen.queryByText('My Consents')).not.toBeInTheDocument() + expect(screen.queryByText('My Pending Consents')).not.toBeInTheDocument() + expect(screen.queryByText('Consents')).not.toBeInTheDocument() + }) + + it('still shows self-service consents for a non-admin even when hideSelfConsentsForAdmins is true', () => { + render( + + + + + + + + + , + ) + + expect(screen.getByText('My Consents')).toBeInTheDocument() + expect(screen.getByText('My Pending Consents')).toBeInTheDocument() + }) }) diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentDetailsPage.test.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentDetailsPage.test.tsx index 07e29975..90de1837 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentDetailsPage.test.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentDetailsPage.test.tsx @@ -151,6 +151,26 @@ describe('ConsentDetailsPage content', () => { expect(screen.getByText('dpdp-portal')).toBeInTheDocument() }) + it('renders consent properties in a key/value table', async () => { + renderConsentDetailsPage('ACTIVE', Object.values(PORTAL_SCOPES), { + properties: { dataCategory: 'financial', region: 'EU' }, + }) + + expect(await screen.findByRole('heading', { name: 'Properties' })).toBeInTheDocument() + expect(screen.getByText('dataCategory')).toBeInTheDocument() + expect(screen.getByText('financial')).toBeInTheDocument() + expect(screen.getByText('region')).toBeInTheDocument() + expect(screen.getByText('EU')).toBeInTheDocument() + }) + + it('shows an empty state when a consent has no properties', async () => { + renderConsentDetailsPage('ACTIVE') + + expect( + await screen.findByText('No properties are associated with this consent.'), + ).toBeInTheDocument() + }) + it('lists authorizations by username with their state', async () => { renderConsentDetailsPage('ACTIVE') diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentRegistryPage.test.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentRegistryPage.test.tsx index 7d168fa8..c2bba3ac 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentRegistryPage.test.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/ConsentRegistryPage.test.tsx @@ -16,7 +16,7 @@ * under the License. */ -import { cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react' +import { cleanup, fireEvent, render, screen, waitFor, within } from '@testing-library/react' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { AcrylicOrangeTheme, CssBaseline, OxygenUIThemeProvider } from '@wso2/oxygen-ui' import { I18nextProvider } from 'react-i18next' @@ -115,7 +115,7 @@ describe('ConsentRegistryPage', () => { renderConsentRegistryPage(createQueryClient()) - expect(await screen.findByRole('heading', { name: 'All Consents' })).toBeInTheDocument() + expect(await screen.findByRole('heading', { name: 'My Consents' })).toBeInTheDocument() expect(screen.getByLabelText('Consent filters')).toBeInTheDocument() expect(screen.getByPlaceholderText('Search by service')).toBeInTheDocument() expect(screen.getByRole('combobox', { name: 'State' })).toBeInTheDocument() @@ -227,6 +227,19 @@ describe('ConsentRegistryPage', () => { }) }) + it('shows the pending title and breadcrumb when filtered to pending consents', async () => { + mockConsentSearch([]) + + renderConsentRegistryPage(createQueryClient(), '/consents?state=PENDING') + + expect(await screen.findByRole('heading', { name: 'My Pending Consents' })).toBeInTheDocument() + const breadcrumbs = screen.getByRole('navigation', { name: 'Breadcrumb' }) + expect(within(breadcrumbs).getByText('My Pending Consents')).toHaveAttribute( + 'aria-current', + 'page', + ) + }) + it('ignores the removed CREATED status in the URL', async () => { mockConsentSearch([]) diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/CurrentUserApi.test.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/CurrentUserApi.test.ts index 901d0394..433f44b7 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/CurrentUserApi.test.ts +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/CurrentUserApi.test.ts @@ -36,12 +36,14 @@ describe('current-user API', () => { userId: 'user-1', organizationId: 'org-1', scopes: [PORTAL_SCOPES.CONSENTS_READ_SELF], + hideSelfConsentsForAdmins: true, }) await expect(fetchCurrentUser()).resolves.toEqual({ userId: 'user-1', organizationId: 'org-1', scopes: [PORTAL_SCOPES.CONSENTS_READ_SELF], + hideSelfConsentsForAdmins: true, }) expect(apiClientMocks.apiRequest).toHaveBeenCalledWith('/me', { method: 'GET' }) }) @@ -51,6 +53,17 @@ describe('current-user API', () => { userId: 'user-1', organizationId: '', scopes: ['portal:unknown'], + hideSelfConsentsForAdmins: true, + }) + + await expect(fetchCurrentUser()).rejects.toThrow('invalid current-user response') + }) + + it('rejects a response missing the hideSelfConsentsForAdmins flag', async () => { + apiClientMocks.apiRequest.mockResolvedValue({ + userId: 'user-1', + organizationId: 'org-1', + scopes: [PORTAL_SCOPES.CONSENTS_READ_SELF], }) await expect(fetchCurrentUser()).rejects.toThrow('invalid current-user response') diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/MainLayout.test.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/MainLayout.test.tsx index de850f47..8afae2da 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/MainLayout.test.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/MainLayout.test.tsx @@ -121,7 +121,7 @@ describe('MainLayout', () => { 'href', '/administration/consents', ) - expect(within(breadcrumbs).getByText('Consents')).toHaveAttribute('aria-current', 'page') + expect(within(breadcrumbs).getByText('All Consents')).toHaveAttribute('aria-current', 'page') }) it('decodes administrative consent IDs in breadcrumbs', () => { @@ -129,7 +129,7 @@ describe('MainLayout', () => { const breadcrumbs = screen.getByRole('navigation', { name: 'Breadcrumb' }) expect(within(breadcrumbs).getByRole('link', { name: 'Administration' })).toBeInTheDocument() - expect(within(breadcrumbs).getByRole('link', { name: 'Consents' })).toHaveAttribute( + expect(within(breadcrumbs).getByRole('link', { name: 'All Consents' })).toHaveAttribute( 'href', '/administration/consents', ) @@ -138,4 +138,21 @@ describe('MainLayout', () => { 'page', ) }) + + it('shows My Consents for the self-service registry without a state filter', () => { + renderHeaderBreadcrumbs('/consents') + + const breadcrumbs = screen.getByRole('navigation', { name: 'Breadcrumb' }) + expect(within(breadcrumbs).getByText('My Consents')).toHaveAttribute('aria-current', 'page') + }) + + it('shows My Pending Consents for the self-service registry filtered to pending', () => { + renderHeaderBreadcrumbs('/consents?state=PENDING') + + const breadcrumbs = screen.getByRole('navigation', { name: 'Breadcrumb' }) + expect(within(breadcrumbs).getByText('My Pending Consents')).toHaveAttribute( + 'aria-current', + 'page', + ) + }) }) diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/TestAuthorizationProvider.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/TestAuthorizationProvider.tsx index fb331974..bf60a5f5 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/TestAuthorizationProvider.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/__tests__/TestAuthorizationProvider.tsx @@ -23,19 +23,30 @@ import type { PortalScope } from '../utils/portalScopes' interface TestAuthorizationProviderProps { children: ReactNode scopes: PortalScope[] + hideSelfConsentsForAdmins?: boolean } function TestAuthorizationProvider({ children, scopes, + hideSelfConsentsForAdmins, }: TestAuthorizationProviderProps): React.JSX.Element { return ( {children} ) } +TestAuthorizationProvider.defaultProps = { + hideSelfConsentsForAdmins: false, +} + export default TestAuthorizationProvider diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/main-layout/HeaderBreadcrumbs.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/main-layout/HeaderBreadcrumbs.tsx index 109593ac..a1dcc8fc 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/main-layout/HeaderBreadcrumbs.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/main-layout/HeaderBreadcrumbs.tsx @@ -41,8 +41,10 @@ function safeDecodeURIComponent(value: string): string { function buildBreadcrumbItems( pathname: string, + search: string, homeLabel: string, consentsLabel: string, + pendingConsentsLabel: string, purposesLabel: string, elementsLabel: string, administrationLabel: string, @@ -110,6 +112,8 @@ function buildBreadcrumbItems( } if (pathname.startsWith('/consents')) { + const isPending = new URLSearchParams(search).get('state') === 'PENDING' + return [ { label: homeLabel, @@ -117,7 +121,7 @@ function buildBreadcrumbItems( isCurrent: false, }, { - label: consentsLabel, + label: isPending ? pendingConsentsLabel : consentsLabel, path: '/consents', isCurrent: true, }, @@ -172,8 +176,10 @@ function HeaderBreadcrumbs({ currentLabel }: HeaderBreadcrumbsProps): React.JSX. const breadcrumbItems = buildBreadcrumbItems( location.pathname, + location.search, t('layout.home'), t('sidebar.allConsents'), + t('sidebar.pendingConsents'), t('sidebar.purposes'), t('sidebar.elements'), t('sidebar.administration'), diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/sidebar/AppSidebar.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/sidebar/AppSidebar.tsx index 7f9e7915..0f598bc8 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/sidebar/AppSidebar.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/components/layout/sidebar/AppSidebar.tsx @@ -123,10 +123,17 @@ function AppSidebar({ collapsed }: AppSidebarProps): React.JSX.Element { const { t } = useTranslation('common') const navigate = useNavigate() const location = useLocation() - const { hasScope } = useAuthorization() + const { currentUser, hasScope } = useAuthorization() + + // An admin's own consents are still reachable directly by URL -- this only + // declutters the sidebar, it is not an access control boundary. + const hideSelfConsents = + currentUser.hideSelfConsentsForAdmins && hasScope(PORTAL_SCOPES.CONSENTS_READ_ANY) const dashboardItems = DASHBOARD_ITEMS.filter((item) => hasScope(item.requiredScope)) - const consentItems = CONSENT_ITEMS.filter((item) => hasScope(item.requiredScope)) + const consentItems = hideSelfConsents + ? [] + : CONSENT_ITEMS.filter((item) => hasScope(item.requiredScope)) const catalogItems = CATALOG_ITEMS.filter((item) => hasScope(item.requiredScope)) const administrationItems = ADMINISTRATION_ITEMS.filter((item) => hasScope(item.requiredScope)) const visibleItems = [...dashboardItems, ...consentItems, ...catalogItems, ...administrationItems] diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/AdminConsentRegistryPage.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/AdminConsentRegistryPage.tsx index 9a9f7f4c..8c2085c3 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/AdminConsentRegistryPage.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/AdminConsentRegistryPage.tsx @@ -100,19 +100,50 @@ export default function AdminConsentRegistryPage(): React.JSX.Element { setSearchParams(toSearchParams(nextFilters, nextCursor, nextRowsPerPage), { replace: true }) } - const activeFilters = Object.entries(filters).filter(([key, value]) => { - if (key === 'state') return value !== 'All' - return Boolean(value) - }) as Array<[keyof AdminConsentRegistryFilters, string]> - - const filterLabels: Record = { - state: t('consentRegistry.filters.state'), - consentId: t('consentRegistry.details.consentId'), - subjectId: t('consentRegistry.details.table.user'), - serviceId: t('adminConsents.filters.serviceId'), + interface ActiveFilterChip { + key: string + label: string + value: string } - const removeFilter = (key: keyof AdminConsentRegistryFilters): void => { + const activeFilters: ActiveFilterChip[] = [ + filters.state !== 'All' + ? { key: 'state', label: t('consentRegistry.filters.state'), value: filters.state } + : undefined, + filters.consentId + ? { + key: 'consentId', + label: t('consentRegistry.details.consentId'), + value: filters.consentId, + } + : undefined, + filters.subjectId + ? { + key: 'subjectId', + label: t('consentRegistry.details.table.user'), + value: filters.subjectId, + } + : undefined, + filters.serviceId + ? { key: 'serviceId', label: t('adminConsents.filters.serviceId'), value: filters.serviceId } + : undefined, + filters.purposeId + ? { key: 'purposeId', label: t('catalog.fields.purpose'), value: filters.purposeId } + : undefined, + filters.propertyKey && filters.propertyValue + ? { + key: 'property', + label: t('adminConsents.filters.propertyFilterLabel'), + value: `${filters.propertyKey} = ${filters.propertyValue}`, + } + : undefined, + ].filter((chip): chip is ActiveFilterChip => Boolean(chip)) + + const removeFilter = (key: string): void => { + if (key === 'property') { + updateParams({ ...filters, propertyKey: '', propertyValue: '' }) + return + } updateParams({ ...filters, [key]: key === 'state' ? 'All' : '', @@ -141,13 +172,13 @@ export default function AdminConsentRegistryPage(): React.JSX.Element { {t('adminConsents.filters.active')} - {activeFilters.map(([key, value]) => ( + {activeFilters.map((chip) => ( removeFilter(key)} + label={`${chip.label}: ${chip.value}`} + onDelete={() => removeFilter(chip.key)} /> ))} {advancedFilterCount > 0 ? ( ) : null} - + + + + + setDraft({ ...draft, subjectId: event.target.value })} + onKeyDown={(event) => { + if (event.key === 'Enter') applyFilters(draft) + }} + /> + + + @@ -163,7 +176,7 @@ export default function AdminConsentFilters({ onChange={(event) => applyFilters({ ...filters, - consentId: draft.consentId, + ...draft, state: event.target.value as AdminConsentRegistryFilters['state'], }) } @@ -205,19 +218,42 @@ export default function AdminConsentFilters({ setDraft({ ...draft, subjectId: event.target.value })} + label={t('adminConsents.filters.serviceId')} + value={draft.serviceId} + onChange={(event) => setDraft({ ...draft, serviceId: event.target.value })} /> setDraft({ ...draft, serviceId: event.target.value })} + label={t('catalog.fields.purpose')} + helperText={t('catalog.fields.purposeId')} + value={draft.purposeId} + onChange={(event) => setDraft({ ...draft, purposeId: event.target.value })} /> + + + + {t('adminConsents.filters.propertyFilterLabel')} + + + setDraft({ ...draft, propertyKey: event.target.value })} + /> + setDraft({ ...draft, propertyValue: event.target.value })} + /> + + + purpose.name), } } @@ -75,6 +77,8 @@ function toListParams( subjectId: filters.subjectId || undefined, serviceId: filters.serviceId || undefined, state: filters.state === 'All' ? undefined : filters.state, + purposeId: filters.purposeId || undefined, + filter: buildConsentPropertyFilter(filters.propertyKey, filters.propertyValue), } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/utils/adminConsentFilters.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/utils/adminConsentFilters.ts index 8f43d854..a67a61a1 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/utils/adminConsentFilters.ts +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/admin-consents/utils/adminConsentFilters.ts @@ -24,6 +24,9 @@ export const EMPTY_ADMIN_CONSENT_FILTERS: AdminConsentRegistryFilters = { consentId: '', subjectId: '', serviceId: '', + purposeId: '', + propertyKey: '', + propertyValue: '', } export function normalizeAdminConsentFilters( @@ -34,6 +37,9 @@ export function normalizeAdminConsentFilters( consentId: filters.consentId.trim(), subjectId: filters.subjectId.trim(), serviceId: filters.serviceId.trim(), + purposeId: filters.purposeId.trim(), + propertyKey: filters.propertyKey.trim(), + propertyValue: filters.propertyValue.trim(), } } @@ -45,5 +51,8 @@ export function getAdminConsentFilters(searchParams: URLSearchParams): AdminCons consentId: searchParams.get('consentId') ?? '', subjectId: searchParams.get('subjectId') ?? '', serviceId: searchParams.get('serviceId') ?? '', + purposeId: searchParams.get('purposeId') ?? '', + propertyKey: searchParams.get('propertyKey') ?? '', + propertyValue: searchParams.get('propertyValue') ?? '', }) } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/auth/api/currentUserApi.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/auth/api/currentUserApi.ts index 0283ef01..c518ae74 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/auth/api/currentUserApi.ts +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/auth/api/currentUserApi.ts @@ -31,6 +31,7 @@ function parseCurrentUser(value: unknown): CurrentUser { !value.userId.trim() || typeof value.organizationId !== 'string' || !value.organizationId.trim() || + typeof value.hideSelfConsentsForAdmins !== 'boolean' || !Array.isArray(value.scopes) || !value.scopes.every(isPortalScope) ) { @@ -41,6 +42,7 @@ function parseCurrentUser(value: unknown): CurrentUser { userId: value.userId, organizationId: value.organizationId, scopes: value.scopes, + hideSelfConsentsForAdmins: value.hideSelfConsentsForAdmins, } } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/catalog/api/catalogApi.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/catalog/api/catalogApi.ts index 2edfa5cf..434fb6d4 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/catalog/api/catalogApi.ts +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/catalog/api/catalogApi.ts @@ -31,6 +31,7 @@ import type { PurposeVersionSummary, } from '../../../types/catalog' import { apiRequest, apiRequestNoContent } from '../../../utils/apiClient' +import { escapeFilterValue } from '../../../utils/filterGrammar' const jsonHeaders = { 'Content-Type': 'application/json' } @@ -42,11 +43,6 @@ function toCursorQuery(params: CursorPageParams): Record"` filter for the Elements API. Values are quoted * so a search term containing spaces or quotes stays a single value rather diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentDetailsPage.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentDetailsPage.tsx index 271b9e77..d6442062 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentDetailsPage.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentDetailsPage.tsx @@ -38,6 +38,7 @@ import ConsentRejectionDialog from './components/ConsentRejectionDialog' import ConsentRevocationDialog from './components/ConsentRevocationDialog' import ConsentAuthorizationsSection from './components/details/ConsentAuthorizationsSection' import ConsentMetadataCard from './components/details/ConsentMetadataCard' +import ConsentPropertiesSection from './components/details/ConsentPropertiesSection' import ConsentPurposesSection from './components/details/ConsentPurposesSection' import { useApproveConsentMutation, @@ -71,7 +72,7 @@ function ConsentDetailsLoading(): React.JSX.Element { - {['metadata', 'purposes', 'authorizations'].map((section) => ( + {['metadata', 'properties', 'purposes', 'authorizations'].map((section) => ( } sx={{ pb: 1 }} /> @@ -214,6 +215,7 @@ function ConsentDetailsPage({ variant = 'self' }: ConsentDetailsPageProps): Reac + diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentRegistryPage.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentRegistryPage.tsx index c2da45b3..60ec1955 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentRegistryPage.tsx +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/ConsentRegistryPage.tsx @@ -127,7 +127,7 @@ function ConsentRegistryPage(): React.JSX.Element { - {t('consentRegistry.title')} + {filters.state === 'PENDING' ? t('sidebar.pendingConsents') : t('sidebar.allConsents')} diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/components/details/ConsentPropertiesSection.tsx b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/components/details/ConsentPropertiesSection.tsx new file mode 100644 index 00000000..9e7528ab --- /dev/null +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/features/consent-registry/components/details/ConsentPropertiesSection.tsx @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { + Box, + Card, + CardContent, + CardHeader, + Divider, + Table, + TableBody, + TableCell, + TableContainer, + TableHead, + TableRow, + Typography, +} from '@wso2/oxygen-ui' +import { useTranslation } from 'react-i18next' + +interface ConsentPropertiesSectionProps { + properties?: Record +} + +function ConsentPropertiesSection({ + properties, +}: ConsentPropertiesSectionProps): React.JSX.Element { + const { t } = useTranslation('common') + const propertyEntries = Object.entries(properties ?? {}) + + return ( + + + {t('catalog.fields.properties')} + + } + sx={{ pb: 1 }} + /> + + {propertyEntries.length > 0 ? ( + + + + + + {t('catalog.fields.propertyKey')} + + {t('catalog.fields.propertyValue')} + + + + {propertyEntries.map(([key, value]) => ( + + + {key} + + {value} + + ))} + +
+
+ ) : ( + + + {t('consentRegistry.details.noProperties')} + + + )} +
+ ) +} + +ConsentPropertiesSection.defaultProps = { + properties: undefined, +} + +export default ConsentPropertiesSection diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/i18n/resources/en/common.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/i18n/resources/en/common.ts new file mode 100644 index 00000000..e69de29b diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/auth.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/auth.ts index f1e650bc..34348ddd 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/auth.ts +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/auth.ts @@ -22,4 +22,5 @@ export interface CurrentUser { userId: string organizationId: string scopes: PortalScope[] + hideSelfConsentsForAdmins: boolean } diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/consent.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/consent.ts index 972784c2..e10949e3 100644 --- a/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/consent.ts +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/types/consent.ts @@ -73,13 +73,20 @@ export interface ConsentDetail { properties?: Record } -/** Consents returned by the administrative list endpoint carry no purposes. */ +/** + * Consents returned by the administrative list endpoint. + * + * The Identity Server's raw list rows carry no purposes; the BFF expands + * each row with a detail lookup before this reaches the SPA, so `purposes` + * is present in practice even though the upstream summary lacks it. + */ export interface ConsentSummary { id: string subjectId: string serviceId: string state: ConsentState | string timestamp: number + purposes?: ConsentPurpose[] } /** @@ -104,6 +111,9 @@ export interface ConsentRegistryFilters { export interface AdminConsentRegistryFilters extends ConsentRegistryFilters { consentId: string subjectId: string + purposeId: string + propertyKey: string + propertyValue: string } /** @@ -138,6 +148,8 @@ export interface AdminConsentListQueryParams { subjectId?: string serviceId?: string state?: string + purposeId?: string + filter?: string } export interface AdminConsentListResponse { diff --git a/dpdp-accelerator/react-apps/consent-portal/frontend/src/utils/filterGrammar.ts b/dpdp-accelerator/react-apps/consent-portal/frontend/src/utils/filterGrammar.ts new file mode 100644 index 00000000..3320361c --- /dev/null +++ b/dpdp-accelerator/react-apps/consent-portal/frontend/src/utils/filterGrammar.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** + * Quotes and escapes a value for the Identity Server's SCIM-style `filter` + * query parameter, shared by the Elements, Purposes and Consents list APIs. + * Quoting keeps a value containing spaces or quotes as a single filter + * token rather than letting it be parsed as separate filter grammar. + */ +export function escapeFilterValue(value: string): string { + return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"') +} diff --git a/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/AdminApiServlet.java b/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/AdminApiServlet.java index 4b40f6ed..dded2f00 100644 --- a/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/AdminApiServlet.java +++ b/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/AdminApiServlet.java @@ -18,6 +18,8 @@ package org.wso2.dpdp.accelerator.portal.webapp.servlet; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -25,6 +27,9 @@ import org.wso2.dpdp.accelerator.portal.webapp.util.HttpUtil; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; import java.util.regex.Pattern; import javax.servlet.annotation.WebServlet; @@ -89,6 +94,11 @@ private void dispatch(HttpServletRequest request, HttpServletResponse response, + (query == null || query.isEmpty() ? "" : "?" + query); try { + if ("GET".equals(method) && ("/consents".equals(upstreamPath) || "/consents/".equals(upstreamPath))) { + listConsents(response, client, target); + return; + } + IdentityServerClient.Result result; switch (method) { case "GET": @@ -127,6 +137,50 @@ private void dispatch(HttpServletRequest request, HttpServletResponse response, } } + /** + * The administrative consent list returns bare summaries with no purposes, + * unlike the self-service list which already expands each row. Each row on + * the page is expanded here with a concurrent detail lookup, mirroring + * {@code MyConsentsServlet#listConsents}, so purpose names show up in the + * admin list too. + */ + private void listConsents(HttpServletResponse response, IdentityServerClient client, String target) + throws IOException, InterruptedException { + + IdentityServerClient.Result listResult = client.get(target); + if (!listResult.isSuccess()) { + relayError(listResult, response); + return; + } + + ObjectNode body = (ObjectNode) HttpUtil.mapper().readTree(listResult.getBody()); + ArrayNode consents = body.withArray("Consents"); + if (consents.isEmpty()) { + relay(listResult, response); + return; + } + + List> lookups = new ArrayList<>(); + for (JsonNode consent : consents) { + lookups.add(client.getAsync( + IdentityServerClient.CONSENT_MGT_V2_API + "/consents/" + consent.path("id").asText())); + } + + ArrayNode enriched = HttpUtil.mapper().createArrayNode(); + for (int i = 0; i < lookups.size(); i++) { + IdentityServerClient.Result detail = lookups.get(i).join(); + if (detail.isSuccess()) { + enriched.add(HttpUtil.mapper().readTree(detail.getBody())); + } else { + // Fall back to the summary so one failed lookup cannot blank the page. + LOG.warn("Consent detail lookup failed with status " + detail.getStatus()); + enriched.add(consents.get(i)); + } + } + body.set("Consents", enriched); + HttpUtil.sendJson(response, HttpServletResponse.SC_OK, body); + } + /** * Maps a portal API path to its consent management v2 path, or returns null * when the Identity Server has no equivalent. diff --git a/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/MeServlet.java b/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/MeServlet.java index 075c7715..caee5dce 100644 --- a/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/MeServlet.java +++ b/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/servlet/MeServlet.java @@ -72,6 +72,7 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t ObjectNode body = HttpUtil.mapper().createObjectNode(); body.put("userId", user.getUserId()); body.put("organizationId", user.getOrganizationId() == null ? "carbon.super" : user.getOrganizationId()); + body.put("hideSelfConsentsForAdmins", config.isSelfConsentsHiddenForAdmins()); ArrayNode scopes = body.putArray("scopes"); ScopeMapper.toPortalScopes(user.getScopes()).forEach(scopes::add); HttpUtil.sendJson(response, HttpServletResponse.SC_OK, body); diff --git a/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/util/PortalConfig.java b/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/util/PortalConfig.java index 734de99c..f20ccc81 100644 --- a/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/util/PortalConfig.java +++ b/dpdp-accelerator/react-apps/consent-portal/src/main/java/org/wso2/dpdp/accelerator/portal/webapp/util/PortalConfig.java @@ -48,6 +48,7 @@ public final class PortalConfig { public static final String IDENTITY_SERVER_INTERNAL_BASE_URL = "identity.server.internal.base.url"; public static final String OAUTH_CLIENT_ID = "oauth.client.id"; public static final String OAUTH_CLIENT_SECRET = "oauth.client.secret"; + public static final String HIDE_SELF_CONSENTS_FOR_ADMINS = "hide.self.consents.for.admins"; public static final String OAUTH_SCOPES = "oauth.scopes"; public static final String COOKIE_SECURE = "cookie.secure"; public static final String ORG_ID_CLAIM = "org.id.claim"; @@ -116,6 +117,17 @@ public String getClientSecret() { return get(OAUTH_CLIENT_SECRET); } + /** + * Whether users who can see the administrative consent view should have + * the self-service "My Consents" / "My Pending Consents" navigation + * hidden. Defaults to true: an admin's own consents are still reachable + * directly, this only declutters the sidebar. + */ + public boolean isSelfConsentsHiddenForAdmins() { + + return Boolean.parseBoolean(get(HIDE_SELF_CONSENTS_FOR_ADMINS, "true")); + } + public String getScopes() { return get(OAUTH_SCOPES, "openid internal_login"); diff --git a/dpdp-accelerator/react-apps/consent-portal/web.xml b/dpdp-accelerator/react-apps/consent-portal/web.xml index 15eb69d5..3cf2e0e1 100644 --- a/dpdp-accelerator/react-apps/consent-portal/web.xml +++ b/dpdp-accelerator/react-apps/consent-portal/web.xml @@ -40,6 +40,10 @@ oauth.client.secret + + hide.self.consents.for.admins + true + oauth.scopes openid profile internal_login internal_consent_mgt_consent_view internal_consent_mgt_consent_create internal_consent_mgt_consent_update internal_consent_mgt_purpose_view internal_consent_mgt_purpose_create internal_consent_mgt_purpose_update internal_consent_mgt_purpose_delete internal_consent_mgt_element_view internal_consent_mgt_element_create internal_consent_mgt_element_delete