Browse Source

feat: implement marriage domain types, localization, and new pages for banned and accepted status management.

staging
parent
commit
846af924d0
  1. 1
      src/app/[lang]/banned/page.tsx
  2. 195
      src/app/banned/banned-client.tsx
  3. 5
      src/app/banned/page.tsx
  4. 8
      src/app/request-accepted/request-accepted-client.test.tsx
  5. 15
      src/app/request-accepted/request-accepted-client.tsx
  6. 2
      src/components/Componentes/navigation-button.tsx
  7. 5
      src/components/Componentes/subscription-required-sheet.tsx
  8. 5
      src/components/Componentes/support-sheet.tsx
  9. 9
      src/hooks/marriage/types.ts
  10. 4
      src/lib/get-submit-path.ts
  11. 9
      src/translations/locales/ar.json
  12. 33
      src/translations/locales/en.json
  13. 37
      src/translations/locales/fa.json
  14. 6
      src/translations/path_to_english.json

1
src/app/[lang]/banned/page.tsx

@ -0,0 +1 @@
export { default } from "@/app/banned/page";

195
src/app/banned/banned-client.tsx

@ -0,0 +1,195 @@
"use client";
import React from "react";
import { useRouter } from "next/navigation";
import { useHardwareBackHandler } from "@/hooks/use-hardware-back-handler";
import { useHabibWebReady } from "@/hooks/use-habib-web-ready";
import { PageBackground } from "@/components/Componentes/page-background";
import PageHeader from "@/components/Componentes/page-header";
import { openDirectSupportContact } from "@/components/Componentes/support-access";
import { useMarriageProfileQuery } from "@/hooks/marriage/use-profile-main";
import { useI18n } from "@/translations/provider";
function ShieldAlertIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
<line x1="12" y1="8" x2="12" y2="12" strokeWidth="2.4" />
<circle cx="12" cy="16" r="1" fill="currentColor" />
</svg>
);
}
function LockIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.2" strokeLinecap="round" strokeLinejoin="round" {...props}>
<rect x="3" y="11" width="18" height="11" rx="2" ry="2" />
<path d="M7 11V7a5 5 0 0 1 10 0v4" />
</svg>
);
}
function InfoIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
<circle cx="12" cy="12" r="10" />
<line x1="12" y1="16" x2="12" y2="12" strokeWidth="2.2" />
<circle cx="12" cy="8" r="1" fill="currentColor" />
</svg>
);
}
function AlertTriangleIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" />
<line x1="12" y1="9" x2="12" y2="13" />
<line x1="12" y1="17" x2="12.01" y2="17" />
</svg>
);
}
function HeadsetIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
<path d="M3 18v-6a9 9 0 0 1 18 0v6" />
<path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z" />
</svg>
);
}
function ArrowRightIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round" {...props}>
<line x1="5" y1="12" x2="19" y2="12" />
<polyline points="12 5 19 12 12 19" />
</svg>
);
}
export default function BannedClient() {
const { dictionary: t } = useI18n();
const router = useRouter();
const { data: profile } = useMarriageProfileQuery({
refetchInterval: 5000,
});
useHardwareBackHandler(() => {
// Hardware back closes the service in Flutter
return false;
});
useHabibWebReady(true);
const banReasonKey = profile?.ban_reason || profile?.ban_info?.reason;
const dict = t as Record<string, string>;
const translatedBanReason = banReasonKey ? (dict[banReasonKey] || banReasonKey) : null;
return (
<>
<PageBackground />
<PageHeader
profile={profile}
sticky
leftButton={{
icon: "back",
onClick: () => {
if (typeof window !== "undefined" && (window as any).HabibApp) {
(window as any).HabibApp.postMessage(
JSON.stringify({ action: "close_service" }),
);
} else {
router.back();
}
},
}}
rightButton={{
icon: "support",
onClick: openDirectSupportContact,
}}
/>
<main className="relative z-10 flex min-h-[calc(100dvh-56px-max(12px,calc(var(--safe-top)+4px)))] flex-col justify-between px-5 pb-6 pt-2 max-w-md mx-auto w-full">
{/* Top/Center Content Section */}
<section className="flex flex-1 flex-col items-center pt-8 sm:pt-12 w-full">
{/* Circular Glowing Orb Illustration (Properly Boxed & Scaled) */}
<div className="relative flex size-32 sm:size-36 items-center justify-center shrink-0">
{/* Outer Orbit Lines */}
<div className="absolute inset-0 rounded-full border border-pink-300/40 pointer-events-none" />
<div className="absolute inset-3 sm:inset-4 rounded-full border border-dashed border-pink-200/40 pointer-events-none" />
{/* Decorative Floating Dots */}
<div className="absolute top-2 left-5 size-2 rounded-full bg-rose-400/70" />
<div className="absolute top-6 right-3 size-1.5 rounded-full bg-pink-300/80" />
<div className="absolute bottom-4 left-6 size-1.5 rounded-full bg-rose-300/70" />
<div className="absolute bottom-3 right-6 size-2 rounded-full bg-rose-400/70" />
{/* Diffuse Soft Pink Glow */}
<div className="absolute size-24 sm:size-28 rounded-full bg-[#E03950]/15 blur-xl pointer-events-none" />
{/* Main Central Orb */}
<div className="relative flex size-18 sm:size-20 items-center justify-center rounded-full bg-gradient-to-tr from-[#D91B42] via-[#F43F5E] to-[#FB7185] text-white shadow-[0_10px_24px_rgba(225,29,72,0.3)] ring-4 ring-rose-100/80">
{/* Subtle top specular sheen */}
<div className="absolute inset-0.5 rounded-full bg-gradient-to-b from-white/30 to-transparent pointer-events-none" />
<ShieldAlertIcon className="size-8 sm:size-9 stroke-[1.8] text-white drop-shadow-xs" />
</div>
{/* Overlapping Lock Badge */}
<div className="absolute -bottom-0.5 -right-0.5 flex size-6.5 sm:size-7 items-center justify-center rounded-full bg-gradient-to-tr from-[#9F1239] via-[#E11D48] to-[#F43F5E] text-white shadow-md ring-2.5 ring-white">
<LockIcon className="size-3.5 sm:size-3.5 text-white" />
</div>
</div>
{/* Single Clear Heading (High Contrast, Standard Spacing) */}
<h1 className="mt-6 text-[18px] sm:text-[20px] font-black text-[#171717] tracking-normal leading-snug text-center">
{t["Account Suspended"] || t["ACCOUNT SUSPENDED"] || "دسترسی حساب کاربری محدود شده است"}
</h1>
{/* Standard Habib Warning/Alert Box Style */}
<aside className="mt-5 w-full rounded-[20px] border border-[#FDA4AF]/60 bg-[#FFF5F6] p-4 text-start shadow-[0_4px_16px_rgba(244,63,94,0.05)]">
<div className="flex items-start gap-3 sm:gap-3.5">
{/* Warning Icon Badge */}
<div className="flex size-10 shrink-0 items-center justify-center rounded-full bg-[#FFE4E8] text-[#E03950]">
<InfoIcon className="size-5 stroke-[2.2]" />
</div>
{/* Text Content */}
<div className="space-y-2.5 flex-1 min-w-0 pt-0.5">
<p className="text-[13px] text-[#4B5563] leading-[1.6] font-medium">
{t["Account Suspended Notice"] ||
"بر اساس قوانین و بررسی‌های نظارتی سامانه، دسترسی حساب کاربری شما به بخش خدمات موقتاً مسدود گردیده است. برای کسب اطلاعات بیشتر، پیگیری و رفع ابهام، لطفاً با مشاوران در ارتباط باشید."}
</p>
{/* Specific Ban Reason Badge */}
{translatedBanReason && (
<div className="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-xl bg-white/95 border border-[#FECDD3] text-[#BE123C] text-[11px] sm:text-xs font-bold shadow-3xs">
<AlertTriangleIcon className="size-3.5 shrink-0 text-[#E03950]" />
<span>
<strong className="font-extrabold">{t["Ban Reason"] || "دلیل محدودیت:"}</strong>{" "}
{translatedBanReason}
</span>
</div>
)}
</div>
</div>
</aside>
</section>
{/* Footer Action Button (Matching Habib Frontend Primary Button Style) */}
<div className="mt-auto pt-8 pb-2 w-full">
<button
type="button"
onClick={openDirectSupportContact}
className="w-full h-[52px] rounded-2xl bg-gradient-to-r from-[#FE6F82] via-[#F43F5E] to-[#E03950] text-white text-[15px] font-bold shadow-lg shadow-[#E03950]/25 hover:shadow-xl hover:shadow-[#E03950]/35 active:scale-[0.98] transition-all flex items-center justify-center gap-2.5 px-6 cursor-pointer"
>
<HeadsetIcon className="size-5 shrink-0" />
<span>{t["Contact Advisors"] || t["Contact Support"] || "تماس با مشاوران"}</span>
<ArrowRightIcon className="size-4.5 shrink-0 rtl:rotate-180" />
</button>
</div>
</main>
</>
);
}

5
src/app/banned/page.tsx

@ -0,0 +1,5 @@
import BannedClient from "./banned-client";
export default function BannedPage() {
return <BannedClient />;
}

8
src/app/request-accepted/request-accepted-client.test.tsx

@ -307,10 +307,10 @@ describe("RequestAcceptedClient", () => {
expect(screen.getByText(/acquaintance concluded/i)).toBeInTheDocument(); expect(screen.getByText(/acquaintance concluded/i)).toBeInTheDocument();
expect( expect(
screen.getByText( screen.getByText(
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps.",
), ),
).toBeInTheDocument(); ).toBeInTheDocument();
expect(screen.getByText("Contact Support")).toBeInTheDocument();
expect(screen.getByText("Contact Advisors")).toBeInTheDocument();
expect(screen.getByText("View all detail")).toBeInTheDocument(); expect(screen.getByText("View all detail")).toBeInTheDocument();
expect(screen.queryByText("Share Result")).not.toBeInTheDocument(); expect(screen.queryByText("Share Result")).not.toBeInTheDocument();
}); });
@ -405,10 +405,10 @@ describe("RequestAcceptedClient", () => {
expect(screen.getByText(/acquaintance concluded/i)).toBeInTheDocument(); expect(screen.getByText(/acquaintance concluded/i)).toBeInTheDocument();
expect( expect(
screen.getByText( screen.getByText(
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps.",
), ),
).toBeInTheDocument(); ).toBeInTheDocument();
expect(screen.getByText("Contact Support")).toBeInTheDocument();
expect(screen.getByText("Contact Advisors")).toBeInTheDocument();
expect(screen.getByText("View all detail")).toBeInTheDocument(); expect(screen.getByText("View all detail")).toBeInTheDocument();
expect(screen.queryByText("Share Result")).not.toBeInTheDocument(); expect(screen.queryByText("Share Result")).not.toBeInTheDocument();
}); });

15
src/app/request-accepted/request-accepted-client.tsx

@ -821,6 +821,9 @@ export default function RequestAcceptedClient() {
<div className="w-full border border-[#E2E8F0] bg-white/90 backdrop-blur-sm rounded-[20px] mt-6 px-5 py-5 text-center shadow-sm max-w-[340px] flex flex-col items-center justify-center min-h-[90px]"> <div className="w-full border border-[#E2E8F0] bg-white/90 backdrop-blur-sm rounded-[20px] mt-6 px-5 py-5 text-center shadow-sm max-w-[340px] flex flex-col items-center justify-center min-h-[90px]">
<p className="text-[#475569] text-[14px] font-medium leading-relaxed"> <p className="text-[#475569] text-[14px] font-medium leading-relaxed">
{ {
t[
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps."
] ||
t[ t[
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps." "This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps."
] ]
@ -854,7 +857,8 @@ export default function RequestAcceptedClient() {
</div> </div>
) : noContactReportedSuccess ? ( ) : noContactReportedSuccess ? (
<p className="mt-4 max-w-[340px] text-[14.5px] leading-[1.6] font-semibold text-[#10B981]"> <p className="mt-4 max-w-[340px] text-[14.5px] leading-[1.6] font-semibold text-[#10B981]">
{t["Your report has been submitted to support."]}
{t["Your report has been submitted to advisors."] ||
t["Your report has been submitted to support."]}
</p> </p>
) : ( ) : (
<p className="mt-5 max-w-[340px] text-[15px] leading-[1.6] font-medium text-[#777777]"> <p className="mt-5 max-w-[340px] text-[15px] leading-[1.6] font-medium text-[#777777]">
@ -889,7 +893,7 @@ export default function RequestAcceptedClient() {
onClick={() => openDirectSupportContact()} onClick={() => openDirectSupportContact()}
className="flex-1 h-[50px] px-3 rounded-[14px] bg-gradient-to-r from-[#FF6687] to-[#FF456C] text-white font-bold text-[14px] flex items-center justify-center shadow-[0_8px_16px_rgba(255,69,108,0.25)] transition-transform active:scale-[0.98] cursor-pointer hover:opacity-95" className="flex-1 h-[50px] px-3 rounded-[14px] bg-gradient-to-r from-[#FF6687] to-[#FF456C] text-white font-bold text-[14px] flex items-center justify-center shadow-[0_8px_16px_rgba(255,69,108,0.25)] transition-transform active:scale-[0.98] cursor-pointer hover:opacity-95"
> >
{t["Contact Support"] || "Contact Support"}
{t["Contact Advisors"] || t["Contact Support"] || "Contact Advisors"}
</button> </button>
</div> </div>
) : caseStatus === "contacted" || isFemaleContactConfirmed ? ( ) : caseStatus === "contacted" || isFemaleContactConfirmed ? (
@ -947,8 +951,11 @@ export default function RequestAcceptedClient() {
</h3> </h3>
<p className="text-[#64748B] text-[13.5px] leading-relaxed"> <p className="text-[#64748B] text-[13.5px] leading-relaxed">
{t[ {t[
"Thank you for your feedback. Our support team will investigate the matter and notify you of the result. Please wait patiently during the review; our support will contact you."
]}
"Thank you for your feedback. Our advisors will investigate the matter and notify you of the result. Please wait patiently during the review; our advisors will contact you."
] ||
t[
"Thank you for your feedback. Our support team will investigate the matter and notify you of the result. Please wait patiently during the review; our support will contact you."
]}
</p> </p>
</div> </div>

2
src/components/Componentes/navigation-button.tsx

@ -345,7 +345,7 @@ export function NavigationButton({
className="flex w-full items-center gap-3 px-3.5 py-2.5 rounded-[12px] text-start font-medium text-[13.5px] text-[#1F2937] hover:bg-[#F3F4F6] active:bg-[#E5E7EB] transition-colors cursor-pointer border-0 bg-transparent" className="flex w-full items-center gap-3 px-3.5 py-2.5 rounded-[12px] text-start font-medium text-[13.5px] text-[#1F2937] hover:bg-[#F3F4F6] active:bg-[#E5E7EB] transition-colors cursor-pointer border-0 bg-transparent"
> >
<UiIcon name="support" className="size-5 shrink-0 text-[#4B5563]" /> <UiIcon name="support" className="size-5 shrink-0 text-[#4B5563]" />
<span className="truncate">{t["Support"] || "Support"}</span>
<span className="truncate">{t["Advisors"] || t["Support"] || "Advisors"}</span>
</button> </button>
</div> </div>
)} )}

5
src/components/Componentes/subscription-required-sheet.tsx

@ -86,9 +86,12 @@ export function SubscriptionRequiredSheet({
<div className="rounded-[12px] border border-[#FF4F67] bg-[#FFECEF] px-3.5 py-2.5 text-center"> <div className="rounded-[12px] border border-[#FF4F67] bg-[#FFECEF] px-3.5 py-2.5 text-center">
<p className="text-xs leading-[1.45] font-semibold text-[#FF4F67]"> <p className="text-xs leading-[1.45] font-semibold text-[#FF4F67]">
{t[ {t[
"To view profiles, a subscription is required. This helps cover our advisory and matching services and applies only to male users"
] ||
t[
"To view profiles, a subscription is required. This helps cover our support and matching services and applies only to male users" "To view profiles, a subscription is required. This helps cover our support and matching services and applies only to male users"
] || ] ||
"To view profiles, a subscription is required. This helps cover our support and matching services and applies only to male users"}
"To view profiles, a subscription is required. This helps cover our advisory and matching services and applies only to male users"}
</p> </p>
</div> </div>
</div> </div>

5
src/components/Componentes/support-sheet.tsx

@ -140,11 +140,14 @@ export function SupportSheet({ isOpen, onClose }: SupportSheetProps) {
{/* Text Content */} {/* Text Content */}
<div className="flex flex-col items-start gap-[14px] w-full"> <div className="flex flex-col items-start gap-[14px] w-full">
<h3 className="w-full font-bold text-[16px] leading-[20px] text-[#111111] text-center"> <h3 className="w-full font-bold text-[16px] leading-[20px] text-[#111111] text-center">
{t["Contact Support"]}
{t["Contact Advisors"] || t["Contact Support"]}
</h3> </h3>
<p className="w-full font-normal text-[14px] leading-[20px] text-[#747474] text-center"> <p className="w-full font-normal text-[14px] leading-[20px] text-[#747474] text-center">
{ {
t[
"If you encounter any issues, please feel free to contact our advisors in WhatsApp"
] ||
t[ t[
"If you encounter any issues, please feel free to contact our support specialists in WhatsApp" "If you encounter any issues, please feel free to contact our support specialists in WhatsApp"
] ]

9
src/hooks/marriage/types.ts

@ -12,7 +12,8 @@ export type MarriageProfileStatus =
| "waiting" | "waiting"
| "in_case" | "in_case"
| "suspended" | "suspended"
| "matched";
| "matched"
| "banned";
export type MarriageCaseStatus = export type MarriageCaseStatus =
| "introduced" | "introduced"
@ -130,6 +131,12 @@ export type MarriageProfile = {
custom_note?: string; custom_note?: string;
created_at: string; created_at: string;
} | null; } | null;
ban_reason?: string | null;
ban_info?: {
reason: string;
banned_at?: string;
previous_status?: string;
} | null;
}; };
export type MarriageProfileResponse = MarriageProfile; export type MarriageProfileResponse = MarriageProfile;

4
src/lib/get-submit-path.ts

@ -23,6 +23,10 @@ export function getSubmitPath(
return "/intro"; return "/intro";
} }
if (profile.status === "banned") {
return "/banned";
}
const activeCase = profile.active_case; const activeCase = profile.active_case;
if (activeCase) { if (activeCase) {

9
src/translations/locales/ar.json

@ -127,7 +127,8 @@
"Contact Detail": "تفاصيل الاتصال", "Contact Detail": "تفاصيل الاتصال",
"Contact Information Released": "تم إصدار معلومات الاتصال", "Contact Information Released": "تم إصدار معلومات الاتصال",
"Contact Received": "تم استلام الاتصال", "Contact Received": "تم استلام الاتصال",
"Contact Support": "اتصل بالدعم",
"Contact Support": "تواصل مع المستشارين",
"Contact Advisors": "تواصل مع المستشارين",
"Contact details and residence.": "تفاصيل الاتصال والإقامة.", "Contact details and residence.": "تفاصيل الاتصال والإقامة.",
"Contact details are shared only after your approval.": "تتم مشاركة تفاصيل الاتصال فقط بعد موافقتك.", "Contact details are shared only after your approval.": "تتم مشاركة تفاصيل الاتصال فقط بعد موافقتك.",
"Contact info released": "تم إصدار معلومات الاتصال", "Contact info released": "تم إصدار معلومات الاتصال",
@ -2089,10 +2090,12 @@
"Direct Contact Number (Candidate)": "رقم الاتصال المباشر (المرشحة)", "Direct Contact Number (Candidate)": "رقم الاتصال المباشر (المرشحة)",
"We did not reach the agreement needed to continue acquaintance and decided not to proceed": "لم نصل إلى التوافق اللازم لمواصلة التعارف وقررنا عدم الاستمرار.", "We did not reach the agreement needed to continue acquaintance and decided not to proceed": "لم نصل إلى التوافق اللازم لمواصلة التعارف وقررنا عدم الاستمرار.",
"Acquaintance Concluded": "انتهاء مرحلة التعارف", "Acquaintance Concluded": "انتهاء مرحلة التعارف",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.": "لم يصل هذا التعارف إلى نتيجة وتم إيقاف المسار. لمزيد من المعلومات حول الخطوات التالية، يرجى التواصل مع الدعم.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.": "لم يصل هذا التعارف إلى نتيجة وتم إيقاف المسار. لمزيد من المعلومات حول الخطوات التالية، يرجى التواصل مع المستشارين.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps.": "لم يصل هذا التعارف إلى نتيجة وتم إيقاف المسار. لمزيد من المعلومات حول الخطوات التالية، يرجى التواصل مع المستشارين.",
"Report Registered": "تم تسجيل البلاغ", "Report Registered": "تم تسجيل البلاغ",
"View all detail": "عرض كافة التفاصيل", "View all detail": "عرض كافة التفاصيل",
"Your report has been submitted to support.": "تم إرسال بلاغك بنجاح إلى فريق الدعم.",
"Your report has been submitted to support.": "تم إرسال بلاغك بنجاح إلى المستشارين.",
"Your report has been submitted to advisors.": "تم إرسال بلاغك بنجاح إلى المستشارين.",
"This option will become active 48 hours after contact details are shared.": "سيكون هذا الخيار متاحاً بعد مرور 48 ساعة على مشاركة بيانات الاتصال.", "This option will become active 48 hours after contact details are shared.": "سيكون هذا الخيار متاحاً بعد مرور 48 ساعة على مشاركة بيانات الاتصال.",
"The 'Share Result' option will become active after 48 hours.": "سيكون خيار «تسجيل النتيجة» متاحاً بعد مرور 48 ساعة." "The 'Share Result' option will become active after 48 hours.": "سيكون خيار «تسجيل النتيجة» متاحاً بعد مرور 48 ساعة."
} }

33
src/translations/locales/en.json

@ -129,7 +129,8 @@
"Contact Detail": "Contact Detail", "Contact Detail": "Contact Detail",
"Contact Information Released": "Contact Information Released", "Contact Information Released": "Contact Information Released",
"Contact Received": "Contact Received", "Contact Received": "Contact Received",
"Contact Support": "Contact Support",
"Contact Support": "Contact Advisors",
"Contact Advisors": "Contact Advisors",
"Contact details and residence.": "Contact details and residence.", "Contact details and residence.": "Contact details and residence.",
"Contact details are shared only after your approval.": "Contact details are shared only after your approval.", "Contact details are shared only after your approval.": "Contact details are shared only after your approval.",
"Contact info released": "Contact info released", "Contact info released": "Contact info released",
@ -291,7 +292,8 @@
"Identity & Demographics": "Identity & Demographics", "Identity & Demographics": "Identity & Demographics",
"Identity Verification and Documents": "Identity Verification and Documents", "Identity Verification and Documents": "Identity Verification and Documents",
"Identity Verification:": "Identity Verification:", "Identity Verification:": "Identity Verification:",
"If you encounter any issues, please feel free to contact our support specialists in WhatsApp": "If you encounter any issues, please feel free to contact our support specialists in WhatsApp",
"If you encounter any issues, please feel free to contact our support specialists in WhatsApp": "If you encounter any issues, please feel free to contact our advisors in WhatsApp",
"If you encounter any issues, please feel free to contact our advisors in WhatsApp": "If you encounter any issues, please feel free to contact our advisors in WhatsApp",
"If you have any special conditions regarding work, income, renting, home buying, migration, or future place of residence, please explain briefly.": "If you have any special conditions regarding work, income, renting, home buying, migration, or future place of residence, please explain briefly.", "If you have any special conditions regarding work, income, renting, home buying, migration, or future place of residence, please explain briefly.": "If you have any special conditions regarding work, income, renting, home buying, migration, or future place of residence, please explain briefly.",
"If you proceed, we will notify the other party, and upon their approval, you can view each other's contact information.": "If you proceed, we will notify the other party, and upon their approval, you can view each other's contact information.", "If you proceed, we will notify the other party, and upon their approval, you can view each other's contact information.": "If you proceed, we will notify the other party, and upon their approval, you can view each other's contact information.",
"Important Note": "Important Note", "Important Note": "Important Note",
@ -617,7 +619,8 @@
"Submit Woman": "Submit Woman", "Submit Woman": "Submit Woman",
"Subscription": "Subscription", "Subscription": "Subscription",
"Subscription Status": "Subscription Status", "Subscription Status": "Subscription Status",
"Support": "Support",
"Support": "Advisors",
"Advisors": "Advisors",
"Supporter of the current government, but a difference in view is not a red line.": "Supporter of the current government, but a difference in view is not a red line.", "Supporter of the current government, but a difference in view is not a red line.": "Supporter of the current government, but a difference in view is not a red line.",
"Supporter of the current government; serious opposition from my spouse is a red line.": "Supporter of the current government; serious opposition from my spouse is a red line.", "Supporter of the current government; serious opposition from my spouse is a red line.": "Supporter of the current government; serious opposition from my spouse is a red line.",
"Sweden": "Sweden", "Sweden": "Sweden",
@ -636,7 +639,8 @@
"Temporary conditions": "Temporary conditions", "Temporary conditions": "Temporary conditions",
"Temporary with family okay": "Temporary with family okay", "Temporary with family okay": "Temporary with family okay",
"Thank you for giving us feedback, we would be very happy if you also let us know the final result.": "Thank you for giving us feedback, we would be very happy if you also let us know the final result.", "Thank you for giving us feedback, we would be very happy if you also let us know the final result.": "Thank you for giving us feedback, we would be very happy if you also let us know the final result.",
"Thank you for your feedback. Our support team will investigate the matter and notify you of the result. Please wait patiently during the review; our support will contact you.": "Thank you for your feedback. Our support team will investigate the matter and notify you of the result. Please wait patiently during the review; our support will contact you.",
"Thank you for your feedback. Our support team will investigate the matter and notify you of the result. Please wait patiently during the review; our support will contact you.": "Thank you for your feedback. Our advisors will investigate the matter and notify you of the result. Please wait patiently during the review; our advisors will contact you.",
"Thank you for your feedback. Our advisors will investigate the matter and notify you of the result. Please wait patiently during the review; our advisors will contact you.": "Thank you for your feedback. Our advisors will investigate the matter and notify you of the result. Please wait patiently during the review; our advisors will contact you.",
"Thank you for your feedback. To complete the process, please submit the final outcome of this introduction/contact so that the final status can be determined. If the final status is not yet determined, you can stay in this state until it is finalized.": "Thank you for your feedback. To complete the process, please submit the final outcome of this introduction/contact so that the final status can be determined. If the final status is not yet determined, you can stay in this state until it is finalized.", "Thank you for your feedback. To complete the process, please submit the final outcome of this introduction/contact so that the final status can be determined. If the final status is not yet determined, you can stay in this state until it is finalized.": "Thank you for your feedback. To complete the process, please submit the final outcome of this introduction/contact so that the final status can be determined. If the final status is not yet determined, you can stay in this state until it is finalized.",
"The call may start 10-15 minutes earlier or later than scheduled.": "The call may start 10-15 minutes earlier or later than scheduled.", "The call may start 10-15 minutes earlier or later than scheduled.": "The call may start 10-15 minutes earlier or later than scheduled.",
"The selected candidate will contact your family shortly.": "The selected candidate will contact your family shortly.", "The selected candidate will contact your family shortly.": "The selected candidate will contact your family shortly.",
@ -698,13 +702,15 @@
"View profile": "View profile", "View profile": "View profile",
"View all detail": "View all detail", "View all detail": "View all detail",
"Report Registered": "Report Registered", "Report Registered": "Report Registered",
"Your report has been submitted to support.": "Your report has been submitted to support.",
"Your report has been submitted to support.": "Your report has been submitted to advisors.",
"Your report has been submitted to advisors.": "Your report has been submitted to advisors.",
"Watch Video": "Watch Video", "Watch Video": "Watch Video",
"We are in the acquaintance/proposal process and nothing is finalized yet": "We are in the acquaintance/proposal process and nothing is finalized yet", "We are in the acquaintance/proposal process and nothing is finalized yet": "We are in the acquaintance/proposal process and nothing is finalized yet",
"We did not reach an agreement": "We did not reach an agreement", "We did not reach an agreement": "We did not reach an agreement",
"We did not reach the agreement needed to continue acquaintance and decided not to proceed": "We did not reach the agreement needed to continue acquaintance and decided not to proceed", "We did not reach the agreement needed to continue acquaintance and decided not to proceed": "We did not reach the agreement needed to continue acquaintance and decided not to proceed",
"Acquaintance Concluded": "Acquaintance Concluded", "Acquaintance Concluded": "Acquaintance Concluded",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.": "This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.": "This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps.": "This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps.",
"We have come together with the goal of creating a secure and confidential path for \"permanent marriage\" among Muslims": "We have come together with the goal of creating a secure and confidential path for \"permanent marriage\" among Muslims", "We have come together with the goal of creating a secure and confidential path for \"permanent marriage\" among Muslims": "We have come together with the goal of creating a secure and confidential path for \"permanent marriage\" among Muslims",
"We hope the acquaintance process is going well. Please let us know if you want to continue the acquaintance process or if the match has been canceled.": "We hope the acquaintance process is going well. Please let us know if you want to continue the acquaintance process or if the match has been canceled.", "We hope the acquaintance process is going well. Please let us know if you want to continue the acquaintance process or if the match has been canceled.": "We hope the acquaintance process is going well. Please let us know if you want to continue the acquaintance process or if the match has been canceled.",
"We provide a safe and respectful environment at every step.": "We provide a safe and respectful environment at every step.", "We provide a safe and respectful environment at every step.": "We provide a safe and respectful environment at every step.",
@ -2070,5 +2076,18 @@
"Representative's Phone": "Representative's Phone", "Representative's Phone": "Representative's Phone",
"Direct Contact Number (Candidate)": "Direct Contact Number (Candidate)", "Direct Contact Number (Candidate)": "Direct Contact Number (Candidate)",
"This option will become active 48 hours after contact details are shared.": "This option will become active 48 hours after contact details are shared.", "This option will become active 48 hours after contact details are shared.": "This option will become active 48 hours after contact details are shared.",
"The 'Share Result' option will become active after 48 hours.": "The 'Share Result' option will become active after 48 hours."
"The 'Share Result' option will become active after 48 hours.": "The 'Share Result' option will become active after 48 hours.",
"ACCOUNT SUSPENDED": "ACCOUNT SUSPENDED",
"Account Suspended": "Account Suspended",
"Account Suspended Notice": "In accordance with platform guidelines and supervisory review, access to your account services has been suspended. For further details or inquiries, please contact our advisors.",
"Any legal dispute must first be pursued through application support. If no agreement is reached, the competent authority will be the courts of the city where the application is registered.": "Any legal dispute must first be pursued through application advisors. If no agreement is reached, the competent authority will be the courts of the city where the application is registered.",
"Any legal dispute must first be pursued through application advisors. If no agreement is reached, the competent authority will be the courts of the city where the application is registered.": "Any legal dispute must first be pursued through application advisors. If no agreement is reached, the competent authority will be the courts of the city where the application is registered.",
"Ban Reason": "Suspension Reason:",
"Profile editing is temporarily disabled": "Profile editing is disabled during account suspension.",
"inappropriate_behavior": "Violation of ethical conduct & respectful behavior",
"false_information": "Providing inaccurate or false identity information",
"unserious_intent": "Lack of serious intention regarding marriage",
"harassment_complaint": "Reports or complaints regarding inappropriate conduct",
"commercial_activity": "Commercial, promotional, or non-marriage activities",
"admin_discretion": "Administrative and supervisory team discretion"
} }

37
src/translations/locales/fa.json

@ -129,7 +129,8 @@
"Contact Detail": "جزئیات تماس", "Contact Detail": "جزئیات تماس",
"Contact Information Released": "اطلاعات تماس آزاد شد", "Contact Information Released": "اطلاعات تماس آزاد شد",
"Contact Received": "تماس دریافت شد", "Contact Received": "تماس دریافت شد",
"Contact Support": "ارتباط با پشتیبانی",
"Contact Support": "ارتباط با مشاوران",
"Contact Advisors": "ارتباط با مشاوران",
"Contact details and residence.": "اطلاعات تماس و سکونت.", "Contact details and residence.": "اطلاعات تماس و سکونت.",
"Contact details are shared only after your approval.": "اطلاعات تماس شما فقط پس از تأیید خودتان به اشتراک گذاشته می‌شود.", "Contact details are shared only after your approval.": "اطلاعات تماس شما فقط پس از تأیید خودتان به اشتراک گذاشته می‌شود.",
"Contact info released": "اطلاعات تماس آزاد شد", "Contact info released": "اطلاعات تماس آزاد شد",
@ -291,7 +292,8 @@
"Identity & Demographics": "هویت و مشخصات فردی", "Identity & Demographics": "هویت و مشخصات فردی",
"Identity Verification and Documents": "بخش ۹: بارگذاری مدارک، احراز هویت و تصاویر", "Identity Verification and Documents": "بخش ۹: بارگذاری مدارک، احراز هویت و تصاویر",
"Identity Verification:": "احراز هویت:", "Identity Verification:": "احراز هویت:",
"If you encounter any issues, please feel free to contact our support specialists in WhatsApp": "اگر مشکلی دارید، لطفاً با تیم پشتیبانی ما در واتس‌اپ تماس بگیرید",
"If you encounter any issues, please feel free to contact our support specialists in WhatsApp": "اگر مشکلی دارید، لطفاً با مشاوران ما در واتس‌اپ در ارتباط باشید",
"If you encounter any issues, please feel free to contact our advisors in WhatsApp": "اگر مشکلی دارید، لطفاً با مشاوران ما در واتس‌اپ در ارتباط باشید",
"If you have any special conditions regarding work, income, renting, home buying, migration, or future place of residence, please explain briefly.": "اگر شرایط خاصی درباره کار، درآمد، اجاره، خرید خانه، مهاجرت یا محل زندگی آینده دارید، کوتاه توضیح دهید.", "If you have any special conditions regarding work, income, renting, home buying, migration, or future place of residence, please explain briefly.": "اگر شرایط خاصی درباره کار، درآمد، اجاره، خرید خانه، مهاجرت یا محل زندگی آینده دارید، کوتاه توضیح دهید.",
"If you proceed, we will notify the other party, and upon their approval, you can view each other's contact information.": "اگر فرآیند را ادامه دهید ما به طرف مقابل اعلام می‌کنیم و پس از تأیید ایشان، می‌توانید اطلاعات ارتباطی یکدیگر را مشاهده کنید.", "If you proceed, we will notify the other party, and upon their approval, you can view each other's contact information.": "اگر فرآیند را ادامه دهید ما به طرف مقابل اعلام می‌کنیم و پس از تأیید ایشان، می‌توانید اطلاعات ارتباطی یکدیگر را مشاهده کنید.",
"Important Note": "نکته مهم", "Important Note": "نکته مهم",
@ -617,7 +619,8 @@
"Submit Woman": "ثبت‌نام خانم", "Submit Woman": "ثبت‌نام خانم",
"Subscription": "اشتراک", "Subscription": "اشتراک",
"Subscription Status": "وضعیت اشتراک", "Subscription Status": "وضعیت اشتراک",
"Support": "پشتیبانی",
"Support": "مشاوران",
"Advisors": "مشاوران",
"Supporter of the current government, but a difference in view is not a red line.": "موافق و حامی نظام فعلی، اما تفاوت دیدگاه همسرم خط قرمز نیست.", "Supporter of the current government, but a difference in view is not a red line.": "موافق و حامی نظام فعلی، اما تفاوت دیدگاه همسرم خط قرمز نیست.",
"Supporter of the current government; serious opposition from my spouse is a red line.": "موافق و حامی نظام فعلی؛ مخالفت جدی همسرم خط قرمز است.", "Supporter of the current government; serious opposition from my spouse is a red line.": "موافق و حامی نظام فعلی؛ مخالفت جدی همسرم خط قرمز است.",
"Sweden": "سوئد", "Sweden": "سوئد",
@ -636,7 +639,8 @@
"Temporary conditions": "فعلاً شرایط موقت دارم.", "Temporary conditions": "فعلاً شرایط موقت دارم.",
"Temporary with family okay": "زندگی موقت با خانواده در ابتدای ازدواج قابل قبول است.", "Temporary with family okay": "زندگی موقت با خانواده در ابتدای ازدواج قابل قبول است.",
"Thank you for giving us feedback, we would be very happy if you also let us know the final result.": "ممنون از اینکه به ما فیدبک دادید، بسیار خوشحال میشویم نتیجه نهایی را نیز به ما اعلام کنید", "Thank you for giving us feedback, we would be very happy if you also let us know the final result.": "ممنون از اینکه به ما فیدبک دادید، بسیار خوشحال میشویم نتیجه نهایی را نیز به ما اعلام کنید",
"Thank you for your feedback. Our support team will investigate the matter and notify you of the result. Please wait patiently during the review; our support will contact you.": "ممنون از بازخورد شما و تیم پشتیبانی ما در اسرع وقت موضوع رو بررسی و به اطلاع شما میرسونن",
"Thank you for your feedback. Our support team will investigate the matter and notify you of the result. Please wait patiently during the review; our support will contact you.": "ممنون از بازخورد شما؛ مشاوران ما در اسرع وقت موضوع را بررسی و به اطلاع شما می‌رسانند",
"Thank you for your feedback. Our advisors will investigate the matter and notify you of the result. Please wait patiently during the review; our advisors will contact you.": "ممنون از بازخورد شما؛ مشاوران ما در اسرع وقت موضوع را بررسی و به اطلاع شما می‌رسانند",
"Thank you for your feedback. To complete the process, please submit the final outcome of this introduction/contact so that the final status can be determined. If the final status is not yet determined, you can stay in this state until it is finalized.": "از ثبت بازخورد شما متشکریم. برای تکمیل فرآیند، لطفاً نتیجه نهایی این معرفی/ارتباط را مشخص کنید تا وضعیت پرونده نهایی شود. در صورتی که هنوز وضعیت نهایی مشخص نشده، می‌توانید تا زمان مشخص شدن در همین وضعیت باقی بمانید.", "Thank you for your feedback. To complete the process, please submit the final outcome of this introduction/contact so that the final status can be determined. If the final status is not yet determined, you can stay in this state until it is finalized.": "از ثبت بازخورد شما متشکریم. برای تکمیل فرآیند، لطفاً نتیجه نهایی این معرفی/ارتباط را مشخص کنید تا وضعیت پرونده نهایی شود. در صورتی که هنوز وضعیت نهایی مشخص نشده، می‌توانید تا زمان مشخص شدن در همین وضعیت باقی بمانید.",
"The call may start 10-15 minutes earlier or later than scheduled.": "تماس ممکن است ۱۰ الی ۱۵ دقیقه زودتر یا دیرتر از زمان تعیین‌شده برقرار شود.", "The call may start 10-15 minutes earlier or later than scheduled.": "تماس ممکن است ۱۰ الی ۱۵ دقیقه زودتر یا دیرتر از زمان تعیین‌شده برقرار شود.",
"The selected candidate will contact your family shortly.": "گزینه انتخاب‌شده به‌زودی با خانواده شما تماس می‌گیرد.", "The selected candidate will contact your family shortly.": "گزینه انتخاب‌شده به‌زودی با خانواده شما تماس می‌گیرد.",
@ -698,13 +702,15 @@
"View profile": "مشاهده پروفایل", "View profile": "مشاهده پروفایل",
"View all detail": "مشاهده تمام جزئیات", "View all detail": "مشاهده تمام جزئیات",
"Report Registered": "گزارش ثبت شد", "Report Registered": "گزارش ثبت شد",
"Your report has been submitted to support.": "گزارش شما با موفقیت برای پشتیبانی ارسال شد.",
"Your report has been submitted to support.": "گزارش شما با موفقیت برای مشاوران ارسال شد.",
"Your report has been submitted to advisors.": "گزارش شما با موفقیت برای مشاوران ارسال شد.",
"Watch Video": "مشاهده ویدیو", "Watch Video": "مشاهده ویدیو",
"We are in the acquaintance/proposal process and nothing is finalized yet": "در مسیر آشنایی و خواستگاری هستیم و هنوز هیچی نهایی نشده", "We are in the acquaintance/proposal process and nothing is finalized yet": "در مسیر آشنایی و خواستگاری هستیم و هنوز هیچی نهایی نشده",
"We did not reach an agreement": "به تفاهم نرسیدیم", "We did not reach an agreement": "به تفاهم نرسیدیم",
"We did not reach the agreement needed to continue acquaintance and decided not to proceed": "به تفاهم لازم برای ادامه آشنایی نرسیدیم و تصمیم گرفتیم مسیر را ادامه ندهیم.", "We did not reach the agreement needed to continue acquaintance and decided not to proceed": "به تفاهم لازم برای ادامه آشنایی نرسیدیم و تصمیم گرفتیم مسیر را ادامه ندهیم.",
"Acquaintance Concluded": "پایان فرآیند آشنایی", "Acquaintance Concluded": "پایان فرآیند آشنایی",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.": "این آشنایی به نتیجه نرسیده و ادامه مسیر متوقف شده است. برای اطلاع از مراحل بعدی لطفاً با پشتیبانی تماس بگیرید.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact support for information on the next steps.": "این آشنایی به نتیجه نرسیده و ادامه مسیر متوقف شده است. برای اطلاع از مراحل بعدی لطفاً با مشاوران در ارتباط باشید.",
"This acquaintance has not reached a conclusion and the process has been stopped. Please contact advisors for information on the next steps.": "این آشنایی به نتیجه نرسیده و ادامه مسیر متوقف شده است. برای اطلاع از مراحل بعدی لطفاً با مشاوران در ارتباط باشید.",
"We have come together with the goal of creating a secure and confidential path for \"permanent marriage\" among Muslims": "ما با هدف ایجاد مسیری امن و محرمانه برای ازدواج دائم میان مسلمانان کنار هم آمده‌ایم", "We have come together with the goal of creating a secure and confidential path for \"permanent marriage\" among Muslims": "ما با هدف ایجاد مسیری امن و محرمانه برای ازدواج دائم میان مسلمانان کنار هم آمده‌ایم",
"We hope the acquaintance process is going well. Please let us know if you want to continue the acquaintance process or if the match has been canceled.": "امیدواریم فرآیند آشنایی شما به خوبی پیش برود. لطفاً مشخص کنید که آیا همچنان در حال ادامه فرآیند آشنایی هستید یا این معرفی کنسل شده است؟", "We hope the acquaintance process is going well. Please let us know if you want to continue the acquaintance process or if the match has been canceled.": "امیدواریم فرآیند آشنایی شما به خوبی پیش برود. لطفاً مشخص کنید که آیا همچنان در حال ادامه فرآیند آشنایی هستید یا این معرفی کنسل شده است؟",
"We provide a safe and respectful environment at every step.": "ما در هر مرحله فضایی امن و محترمانه را فراهم می‌کنیم.", "We provide a safe and respectful environment at every step.": "ما در هر مرحله فضایی امن و محترمانه را فراهم می‌کنیم.",
@ -824,7 +830,8 @@
"Buy Habib Coins": "خرید سکه حبیب", "Buy Habib Coins": "خرید سکه حبیب",
"Subscription required": "اشتراک الزامی است", "Subscription required": "اشتراک الزامی است",
"To view profiles, you need a subscription. Each subscription includes up to {count} matches.": "برای مشاهده پروفایل‌ها، نیاز به اشتراک دارید. هر اشتراک شامل حداکثر {count} همسان‌یابی است.", "To view profiles, you need a subscription. Each subscription includes up to {count} matches.": "برای مشاهده پروفایل‌ها، نیاز به اشتراک دارید. هر اشتراک شامل حداکثر {count} همسان‌یابی است.",
"To view profiles, a subscription is required. This helps cover our support and matching services and applies only to male users": "برای مشاهده پروفایل‌ها، اشتراک الزامی است. این هزینه صرف خدمات پشتیبانی و همسان‌یابی می‌شود و فقط شامل کاربران مرد است",
"To view profiles, a subscription is required. This helps cover our support and matching services and applies only to male users": "برای مشاهده پروفایل‌ها، اشتراک الزامی است. این هزینه صرف خدمات مشاوره و همسان‌یابی می‌شود و فقط شامل کاربران مرد است",
"To view profiles, a subscription is required. This helps cover our advisory and matching services and applies only to male users": "برای مشاهده پروفایل‌ها، اشتراک الزامی است. این هزینه صرف خدمات مشاوره و همسان‌یابی می‌شود و فقط شامل کاربران مرد است",
"{count} case introductions remaining of your subscription.": "{count} معرفی از اعتبار اشتراک شما باقی مانده است.", "{count} case introductions remaining of your subscription.": "{count} معرفی از اعتبار اشتراک شما باقی مانده است.",
"{days} days and {count} case introductions remaining of your subscription.": "{days} روز و {count} معرفی از اعتبار اشتراک شما باقی مانده است.", "{days} days and {count} case introductions remaining of your subscription.": "{days} روز و {count} معرفی از اعتبار اشتراک شما باقی مانده است.",
"You do not have enough Habib Coins": "شما حبیب کوین کافی ندارید", "You do not have enough Habib Coins": "شما حبیب کوین کافی ندارید",
@ -2022,7 +2029,8 @@
"Cooperation with Law Enforcement": "همکاری با مراجع قانونی", "Cooperation with Law Enforcement": "همکاری با مراجع قانونی",
"In the event of cybercrimes, fraud, or threats, the application will refer the necessary information to judicial and law enforcement authorities.": "در صورت وقوع جرایم سایبری، کلاهبرداری یا تهدید، برنامه اطلاعات لازم را به مراجع قضایی و انتظامی ارجاع خواهد داد.", "In the event of cybercrimes, fraud, or threats, the application will refer the necessary information to judicial and law enforcement authorities.": "در صورت وقوع جرایم سایبری، کلاهبرداری یا تهدید، برنامه اطلاعات لازم را به مراجع قضایی و انتظامی ارجاع خواهد داد.",
"Dispute Resolution": "حل اختلاف", "Dispute Resolution": "حل اختلاف",
"Any legal dispute must first be pursued through application support. If no agreement is reached, the competent authority will be the courts of the city where the application is registered.": "هرگونه اختلاف حقوقی ابتدا باید از طریق پشتیبانی برنامه پیگیری شود. در صورت عدم حصول توافق، مرجع صالح دادگاه‌های شهر محل ثبت برنامه خواهند بود.",
"Any legal dispute must first be pursued through application support. If no agreement is reached, the competent authority will be the courts of the city where the application is registered.": "هرگونه اختلاف حقوقی ابتدا باید از طریق مشاوران برنامه پیگیری شود. در صورت عدم حصول توافق، مرجع صالح دادگاه‌های شهر محل ثبت برنامه خواهند بود.",
"Any legal dispute must first be pursued through application advisors. If no agreement is reached, the competent authority will be the courts of the city where the application is registered.": "هرگونه اختلاف حقوقی ابتدا باید از طریق مشاوران برنامه پیگیری شود. در صورت عدم حصول توافق، مرجع صالح دادگاه‌های شهر محل ثبت برنامه خواهند بود.",
"7. Disclaimer and In-Person Meetings": "۷. حدود مسئولیت و دیدارهای حضوری", "7. Disclaimer and In-Person Meetings": "۷. حدود مسئولیت و دیدارهای حضوری",
"Role of the Application": "نقش برنامه", "Role of the Application": "نقش برنامه",
"This platform is only a facilitator for initial communication and does not replace family background research, counseling, and pre-marital investigations.": "این پلتفرم تنها تسهیل‌کننده ارتباط اولیه است و جایگزین تحقیق خانوادگی، مشاوره و بررسی‌های پیش از ازدواج نیست.", "This platform is only a facilitator for initial communication and does not replace family background research, counseling, and pre-marital investigations.": "این پلتفرم تنها تسهیل‌کننده ارتباط اولیه است و جایگزین تحقیق خانوادگی، مشاوره و بررسی‌های پیش از ازدواج نیست.",
@ -2090,5 +2098,16 @@
"Representative's Phone": "شماره تماس رابط", "Representative's Phone": "شماره تماس رابط",
"Direct Contact Number (Candidate)": "شماره مستقیم خانم", "Direct Contact Number (Candidate)": "شماره مستقیم خانم",
"This option will become active 48 hours after contact details are shared.": "این گزینه ۴۸ ساعت پس از آزادسازی اطلاعات تماس فعال می‌شود.", "This option will become active 48 hours after contact details are shared.": "این گزینه ۴۸ ساعت پس از آزادسازی اطلاعات تماس فعال می‌شود.",
"The 'Share Result' option will become active after 48 hours.": "گزینه «ثبت نتیجه نهایی» بعد از ۴۸ ساعت فعال خواهد شد."
"The 'Share Result' option will become active after 48 hours.": "گزینه «ثبت نتیجه نهایی» بعد از ۴۸ ساعت فعال خواهد شد.",
"ACCOUNT SUSPENDED": "دسترسی شما محدود شده است",
"Account Suspended": "دسترسی شما محدود شده است",
"Account Suspended Notice": "بر اساس قوانین و موازین سامانه، دسترسی حساب کاربری شما به بخش خدمات موقتاً مسدود گردیده است. برای بررسی موضوع و پیگیری، با مشاوران ما در ارتباط باشید.",
"Ban Reason": "دلیل محدودیت:",
"Profile editing is temporarily disabled": "امکان ویرایش اطلاعات حساب در زمان محدودیت وجود ندارد.",
"inappropriate_behavior": "عدم رعایت شئونات اخلاقی و رفتار محترمانه",
"false_information": "ثبت مشخصات یا اطلاعات هویتی غیرواقعی",
"unserious_intent": "عدم جدیت در امر ازدواج و نقض اهداف سامانه",
"harassment_complaint": "گزارش نارضایتی یا ایجاد مزاحمت برای سایر کاربران",
"commercial_activity": "فعالیت تجاری، تبلیغاتی یا مقاصد غیرمرتبط",
"admin_discretion": "صلاحدید و تصمیم کارشناسی مدیریت سامانه"
} }

6
src/translations/path_to_english.json

@ -5,7 +5,7 @@
"common.continue": "Continue", "common.continue": "Continue",
"common.cancel": "Cancel", "common.cancel": "Cancel",
"common.confirm": "Confirm", "common.confirm": "Confirm",
"common.support": "Support",
"common.support": "Advisors",
"common.back": "Back", "common.back": "Back",
"common.required": "Required", "common.required": "Required",
"common.estimateTime": "Estimate time", "common.estimateTime": "Estimate time",
@ -23,8 +23,8 @@
"common.itemsPerPage": "Items Per Page", "common.itemsPerPage": "Items Per Page",
"common.other": "Other", "common.other": "Other",
"common.consultation": "Consultation", "common.consultation": "Consultation",
"common.supportTitle": "Contact Support",
"common.supportDescription": "If you encounter any issues, please feel free to contact our support specialists in WhatsApp",
"common.supportTitle": "Contact Advisors",
"common.supportDescription": "If you encounter any issues, please feel free to contact our advisors in WhatsApp",
"common.supportSwipeText": "Contact", "common.supportSwipeText": "Contact",
"common.subscription": "Subscription", "common.subscription": "Subscription",
"common.subscriptionActive": "Your subscription is active", "common.subscriptionActive": "Your subscription is active",

Loading…
Cancel
Save