Merge pull request #2547 from MohanadOO/master

Improvments related to Arabic Translations & Right To Left Direction Styles
This commit is contained in:
Mike Cao 2024-03-01 14:48:28 -08:00 committed by GitHub
commit 011dea41c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 97 additions and 82 deletions

View File

@ -32,7 +32,7 @@
"label.add-member": [ "label.add-member": [
{ {
"type": 0, "type": 0,
"value": "Add member" "value": "أضِف عضو"
} }
], ],
"label.add-website": [ "label.add-website": [
@ -44,7 +44,7 @@
"label.administrator": [ "label.administrator": [
{ {
"type": 0, "type": 0,
"value": "Administrator" "value": "مدير"
} }
], ],
"label.after": [ "label.after": [
@ -215,6 +215,12 @@
"value": "أُنشئت" "value": "أُنشئت"
} }
], ],
"label.created-by": [
{
"type": 0,
"value": "أُنشئ من قبل"
}
],
"label.current-password": [ "label.current-password": [
{ {
"type": 0, "type": 0,
@ -272,7 +278,7 @@
"label.delete-report": [ "label.delete-report": [
{ {
"type": 0, "type": 0,
"value": "Delete report" "value": "احذف التقرير"
} }
], ],
"label.delete-team": [ "label.delete-team": [
@ -332,7 +338,7 @@
"label.does-not-contain": [ "label.does-not-contain": [
{ {
"type": 0, "type": 0,
"value": "Does not contain" "value": "لا يحتوي"
} }
], ],
"label.domain": [ "label.domain": [
@ -362,7 +368,7 @@
"label.edit-member": [ "label.edit-member": [
{ {
"type": 0, "type": 0,
"value": "Edit member" "value": "عدّل العضو"
} }
], ],
"label.enable-share-url": [ "label.enable-share-url": [
@ -380,7 +386,7 @@
"label.event-data": [ "label.event-data": [
{ {
"type": 0, "type": 0,
"value": "Event data" "value": "تاريخ الحدث"
} }
], ],
"label.events": [ "label.events": [
@ -588,7 +594,7 @@
"label.manage": [ "label.manage": [
{ {
"type": 0, "type": 0,
"value": "Manage" "value": "التحكم"
} }
], ],
"label.max": [ "label.max": [
@ -600,7 +606,7 @@
"label.member": [ "label.member": [
{ {
"type": 0, "type": 0,
"value": "Member" "value": "عضو"
} }
], ],
"label.members": [ "label.members": [
@ -630,7 +636,7 @@
"label.my-account": [ "label.my-account": [
{ {
"type": 0, "type": 0,
"value": "My account" "value": "حسابي"
} }
], ],
"label.my-websites": [ "label.my-websites": [
@ -694,7 +700,7 @@
"label.ok": [ "label.ok": [
{ {
"type": 0, "type": 0,
"value": "OK" "value": "نعم"
} }
], ],
"label.os": [ "label.os": [
@ -842,7 +848,7 @@
"label.remove-member": [ "label.remove-member": [
{ {
"type": 0, "type": 0,
"value": "Remove member" "value": "احذف عضو"
} }
], ],
"label.reports": [ "label.reports": [
@ -914,7 +920,7 @@
"label.select": [ "label.select": [
{ {
"type": 0, "type": 0,
"value": "Select" "value": "اختر"
} }
], ],
"label.select-date": [ "label.select-date": [
@ -926,7 +932,7 @@
"label.select-role": [ "label.select-role": [
{ {
"type": 0, "type": 0,
"value": "Select role" "value": "حدد الدور"
} }
], ],
"label.select-website": [ "label.select-website": [
@ -1094,7 +1100,7 @@
"label.transfer-website": [ "label.transfer-website": [
{ {
"type": 0, "type": 0,
"value": "Transfer website" "value": "انقل الموقع"
} }
], ],
"label.true": [ "label.true": [
@ -1232,7 +1238,7 @@
"message.action-confirmation": [ "message.action-confirmation": [
{ {
"type": 0, "type": 0,
"value": "Type " "value": "اكتب "
}, },
{ {
"type": 1, "type": 1,
@ -1240,7 +1246,7 @@
}, },
{ {
"type": 0, "type": 0,
"value": " in the box below to confirm." "value": " في المربع أدناه للتأكيد."
} }
], ],
"message.active-users": [ "message.active-users": [
@ -1308,7 +1314,7 @@
"message.confirm-remove": [ "message.confirm-remove": [
{ {
"type": 0, "type": 0,
"value": "Are you sure you want to remove " "value": "هل انت متأكد من حذف "
}, },
{ {
"type": 1, "type": 1,
@ -1336,7 +1342,7 @@
"message.delete-team-warning": [ "message.delete-team-warning": [
{ {
"type": 0, "type": 0,
"value": "Deleting a team will also delete all team websites." "value": "حذف فريق سيؤدي إلى حذف جميع مواقع الفريق"
} }
], ],
"message.delete-website-warning": [ "message.delete-website-warning": [
@ -1532,25 +1538,25 @@
"message.transfer-team-website-to-user": [ "message.transfer-team-website-to-user": [
{ {
"type": 0, "type": 0,
"value": "Transfer this website to your account?" "value": "نقل هذا الموقع إلى حسابك؟"
} }
], ],
"message.transfer-user-website-to-team": [ "message.transfer-user-website-to-team": [
{ {
"type": 0, "type": 0,
"value": "Select the team to transfer this website to." "value": "اختر الفريق الذي تريد نقل الموقع إليه."
} }
], ],
"message.transfer-website": [ "message.transfer-website": [
{ {
"type": 0, "type": 0,
"value": "Transfer website ownership to your account or another team." "value": "نقل ملكية الموقع لحسابك أو فريق أخر."
} }
], ],
"message.triggered-event": [ "message.triggered-event": [
{ {
"type": 0, "type": 0,
"value": "Triggered event" "value": "أُطلق الحدث"
} }
], ],
"message.user-deleted": [ "message.user-deleted": [
@ -1562,7 +1568,7 @@
"message.viewed-page": [ "message.viewed-page": [
{ {
"type": 0, "type": 0,
"value": "Viewed page" "value": "شوهدت الصفحة"
} }
], ],
"message.visitor-log": [ "message.visitor-log": [
@ -1602,7 +1608,7 @@
"message.visitors-dropped-off": [ "message.visitors-dropped-off": [
{ {
"type": 0, "type": 0,
"value": "Visitors droppped off" "value": "أنخفض عدد الزوار"
} }
] ]
} }

View File

@ -1,5 +1,5 @@
.body { .body {
padding-left: 20px; padding-inline-start: 20px;
grid-row: 2/3; grid-row: 2/3;
grid-column: 2 / 3; grid-column: 2 / 3;
} }

View File

@ -1,7 +1,7 @@
.menu { .menu {
width: 300px; width: 300px;
padding-right: 20px; padding-inline-end: 20px;
border-right: 1px solid var(--base300); border-inline-end: 1px solid var(--base300);
grid-row: 2 / 3; grid-row: 2 / 3;
grid-column: 1 / 2; grid-column: 1 / 2;
} }

View File

@ -63,7 +63,7 @@
.value { .value {
color: var(--base50); color: var(--base50);
margin-right: 20px; margin-inline-end: 20px;
} }
.track { .track {

View File

@ -13,5 +13,5 @@
.popup { .popup {
margin-top: -10px; margin-top: -10px;
margin-left: 30px; margin-inline-start: 30px;
} }

View File

@ -7,5 +7,5 @@
.tag { .tag {
text-align: center; text-align: center;
margin-bottom: 10px; margin-bottom: 10px;
margin-right: 20px; margin-inline-end: 20px;
} }

View File

@ -58,6 +58,6 @@
gap: 20px; gap: 20px;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding-right: 0; padding-inline-end: 0;
} }
} }

View File

@ -12,7 +12,7 @@ import ReferrersTable from 'components/metrics/ReferrersTable';
import ScreenTable from 'components/metrics/ScreenTable'; import ScreenTable from 'components/metrics/ScreenTable';
import EventsTable from 'components/metrics/EventsTable'; import EventsTable from 'components/metrics/EventsTable';
import SideNav from 'components/layout/SideNav'; import SideNav from 'components/layout/SideNav';
import { useNavigation, useMessages } from 'components/hooks'; import { useNavigation, useMessages, useLocale } from 'components/hooks';
import LinkButton from 'components/common/LinkButton'; import LinkButton from 'components/common/LinkButton';
import styles from './WebsiteExpandedView.module.css'; import styles from './WebsiteExpandedView.module.css';
@ -39,6 +39,7 @@ export default function WebsiteExpandedView({
websiteId: string; websiteId: string;
domainName?: string; domainName?: string;
}) { }) {
const { dir } = useLocale();
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
const { const {
router, router,
@ -122,7 +123,7 @@ export default function WebsiteExpandedView({
<div className={styles.layout}> <div className={styles.layout}>
<div className={styles.menu}> <div className={styles.menu}>
<LinkButton href={pathname} className={styles.back} variant="quiet" scroll={false}> <LinkButton href={pathname} className={styles.back} variant="quiet" scroll={false}>
<Icon rotate={180}> <Icon rotate={dir === 'rtl' ? 0 : 180}>
<Icons.ArrowRight /> <Icons.ArrowRight />
</Icon> </Icon>
<Text>{formatMessage(labels.back)}</Text> <Text>{formatMessage(labels.back)}</Text>

View File

@ -27,7 +27,7 @@
} }
.icon { .icon {
margin-right: 10px; margin-inline-end: 10px;
} }
.time { .time {

View File

@ -5,6 +5,7 @@ import { ReactBasicsProvider } from 'react-basics';
import ErrorBoundary from 'components/common/ErrorBoundary'; import ErrorBoundary from 'components/common/ErrorBoundary';
import { useLocale } from 'components/hooks'; import { useLocale } from 'components/hooks';
import 'chartjs-adapter-date-fns'; import 'chartjs-adapter-date-fns';
import { useEffect } from 'react';
const client = new QueryClient({ const client = new QueryClient({
defaultOptions: { defaultOptions: {
@ -16,7 +17,13 @@ const client = new QueryClient({
}); });
function MessagesProvider({ children }) { function MessagesProvider({ children }) {
const { locale, messages } = useLocale(); const { locale, messages, dir } = useLocale();
useEffect(() => {
document.documentElement.setAttribute('dir', dir);
document.documentElement.setAttribute('lang', locale);
}, [locale, dir]);
return ( return (
<IntlProvider locale={locale} messages={messages[locale]} onError={() => null}> <IntlProvider locale={locale} messages={messages[locale]} onError={() => null}>
{children} {children}

View File

@ -11,5 +11,5 @@
} }
.icon { .icon {
margin-right: 10px; margin-inline-end: 10px;
} }

View File

@ -35,5 +35,5 @@ a.item.selected,
.submenu a.item { .submenu a.item {
color: var(--base600); color: var(--base600);
margin-left: 40px; margin-inline-start: 40px;
} }

View File

@ -6,7 +6,7 @@
z-index: var(--z-index-popup); z-index: var(--z-index-popup);
border-radius: 5px; border-radius: 5px;
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
margin-left: 10px; margin-inline-start: 10px;
} }
.item { .item {

View File

@ -18,7 +18,7 @@
font-size: 11px; font-size: 11px;
color: var(--base600); color: var(--base600);
text-align: right; text-align: right;
margin-right: 10px; margin-inline-end: 10px;
} }
.name { .name {

View File

@ -13,12 +13,11 @@
} }
.buttons button:first-child { .buttons button:first-child {
border-top-right-radius: 0; border-start-end-radius: 0;
border-bottom-right-radius: 0; border-end-end-radius: 0;
} }
.buttons button:last-child { .buttons button:last-child {
border-top-left-radius: 0; border-start-start-radius: 0;
border-bottom-left-radius: 0; border-end-start-radius: 0;
border-left: 1px solid var(--base400) !important;
} }

View File

@ -1,4 +1,4 @@
import { useDateRange } from 'components/hooks'; import { useDateRange, useLocale } from 'components/hooks';
import { isAfter } from 'date-fns'; import { isAfter } from 'date-fns';
import { getOffsetDateRange } from 'lib/date'; import { getOffsetDateRange } from 'lib/date';
import { Button, Icon, Icons } from 'react-basics'; import { Button, Icon, Icons } from 'react-basics';
@ -7,6 +7,7 @@ import styles from './WebsiteDateFilter.module.css';
import { DateRange } from 'lib/types'; import { DateRange } from 'lib/types';
export function WebsiteDateFilter({ websiteId }: { websiteId: string }) { export function WebsiteDateFilter({ websiteId }: { websiteId: string }) {
const { dir } = useLocale();
const [dateRange, setDateRange] = useDateRange(websiteId); const [dateRange, setDateRange] = useDateRange(websiteId);
const { value, startDate, endDate, offset } = dateRange; const { value, startDate, endDate, offset } = dateRange;
const disableForward = const disableForward =
@ -25,12 +26,12 @@ export function WebsiteDateFilter({ websiteId }: { websiteId: string }) {
{value !== 'all' && ( {value !== 'all' && (
<div className={styles.buttons}> <div className={styles.buttons}>
<Button onClick={() => handleIncrement(-1)}> <Button onClick={() => handleIncrement(-1)}>
<Icon rotate={90}> <Icon rotate={dir === 'rtl' ? 270 : 90}>
<Icons.ChevronDown /> <Icons.ChevronDown />
</Icon> </Icon>
</Button> </Button>
<Button onClick={() => handleIncrement(1)} disabled={disableForward}> <Button onClick={() => handleIncrement(1)} disabled={disableForward}>
<Icon rotate={270}> <Icon rotate={dir === 'rtl' ? 90 : 270}>
<Icons.ChevronDown /> <Icons.ChevronDown />
</Icon> </Icon>
</Button> </Button>

View File

@ -7,7 +7,7 @@
.menu { .menu {
width: 240px; width: 240px;
padding-top: 34px; padding-top: 34px;
padding-right: 20px; padding-inline-end: 20px;
} }
.content { .content {

View File

@ -29,12 +29,12 @@
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
border-right: 2px solid var(--base200); border-inline-end: 2px solid var(--base200);
padding: 1rem 2rem; padding: 1rem 2rem;
gap: var(--size500); gap: var(--size500);
font-weight: 600; font-weight: 600;
width: 200px; width: 200px;
margin-right: -2px; margin-inline-end: -2px;
} }
a.item { a.item {
@ -43,7 +43,7 @@ a.item {
.item.selected { .item.selected {
color: var(--base900); color: var(--base900);
border-right-color: var(--primary400); border-inline-end-color: var(--primary400);
background: var(--blue100); background: var(--blue100);
} }

View File

@ -29,7 +29,7 @@
.icon { .icon {
color: var(--base700); color: var(--base700);
margin-right: 1rem; margin-inline-end: 1rem;
} }
.actions { .actions {

View File

@ -1,7 +1,7 @@
.container { .container {
display: flex; display: flex;
align-items: center; align-items: center;
margin-left: 20px; margin-inline-start: 20px;
} }
.text { .text {
@ -13,5 +13,5 @@
.value { .value {
font-weight: 600; font-weight: 600;
margin-right: 4px; margin-inline-end: 4px;
} }

View File

@ -14,9 +14,9 @@
} }
.calendars > div + div { .calendars > div + div {
margin-left: 20px; margin-inline-start: 20px;
padding-left: 20px; padding-inline-start: 20px;
border-left: 1px solid var(--base300); border-inline-start: 1px solid var(--base300);
} }
.filter { .filter {
@ -41,7 +41,7 @@
.calendars > div + div { .calendars > div + div {
padding: 0; padding: 0;
margin-left: 0; margin-inline-start: 0;
margin-top: 20px; margin-top: 20px;
border: 0; border: 0;
} }

View File

@ -76,7 +76,7 @@
position: relative; position: relative;
width: 50px; width: 50px;
color: var(--base600); color: var(--base600);
border-left: 1px solid var(--base600); border-inline-start: 1px solid var(--base600);
padding-inline-start: 10px; padding-inline-start: 10px;
z-index: 1; z-index: 1;
} }

View File

@ -4,9 +4,9 @@
"label.activity-log": "سجل الأحداث", "label.activity-log": "سجل الأحداث",
"label.add": "أضِف", "label.add": "أضِف",
"label.add-description": "أضِف وصف", "label.add-description": "أضِف وصف",
"label.add-member": "Add member", "label.add-member": "أضِف عضو",
"label.add-website": "إضافة موقع", "label.add-website": "إضافة موقع",
"label.administrator": "Administrator", "label.administrator": "مدير",
"label.after": "يعد", "label.after": "يعد",
"label.all": "الكل", "label.all": "الكل",
"label.all-time": "كل الوقت", "label.all-time": "كل الوقت",
@ -35,6 +35,7 @@
"label.create-team": "أنشِئ فريق", "label.create-team": "أنشِئ فريق",
"label.create-user": "أنشِئ مستخدم", "label.create-user": "أنشِئ مستخدم",
"label.created": "أُنشئت", "label.created": "أُنشئت",
"label.created-by": "أُنشئ من قبل",
"label.current-password": "كلمة المرور الحالية", "label.current-password": "كلمة المرور الحالية",
"label.custom-range": "فترة مخصّصة", "label.custom-range": "فترة مخصّصة",
"label.dashboard": "الشاشة الرئيسية", "label.dashboard": "الشاشة الرئيسية",
@ -44,7 +45,7 @@
"label.day": "يوم", "label.day": "يوم",
"label.default-date-range": "الفترة المخصّصة الافتراضية", "label.default-date-range": "الفترة المخصّصة الافتراضية",
"label.delete": "حذف", "label.delete": "حذف",
"label.delete-report": "Delete report", "label.delete-report": "احذف التقرير",
"label.delete-team": "حذف الفريق", "label.delete-team": "حذف الفريق",
"label.delete-user": "جذف مستخدم", "label.delete-user": "جذف مستخدم",
"label.delete-website": "حذف الموقع", "label.delete-website": "حذف الموقع",
@ -54,15 +55,15 @@
"label.device": "الجهاز", "label.device": "الجهاز",
"label.devices": "الأجهزة", "label.devices": "الأجهزة",
"label.dismiss": "تجاهل", "label.dismiss": "تجاهل",
"label.does-not-contain": "Does not contain", "label.does-not-contain": "لا يحتوي",
"label.domain": "النطاق", "label.domain": "النطاق",
"label.dropoff": "إنزال", "label.dropoff": "إنزال",
"label.edit": "عدّل", "label.edit": "عدّل",
"label.edit-dashboard": "عدّل لوحة التحكم", "label.edit-dashboard": "عدّل لوحة التحكم",
"label.edit-member": "Edit member", "label.edit-member": "عدّل العضو",
"label.enable-share-url": "فعّل مشاركة الرابط", "label.enable-share-url": "فعّل مشاركة الرابط",
"label.event": "الحدث", "label.event": "الحدث",
"label.event-data": "Event data", "label.event-data": "تاريخ الحدث",
"label.events": "الأحداث", "label.events": "الأحداث",
"label.false": "خطأ", "label.false": "خطأ",
"label.field": "الحقل", "label.field": "الحقل",
@ -94,20 +95,20 @@
"label.less-than-equals": "أقل مِن أو يساوي", "label.less-than-equals": "أقل مِن أو يساوي",
"label.login": "تسجيل الدخول", "label.login": "تسجيل الدخول",
"label.logout": "تسجيل الخروج", "label.logout": "تسجيل الخروج",
"label.manage": "Manage", "label.manage": "التحكم",
"label.max": "الحد الأقصى", "label.max": "الحد الأقصى",
"label.member": "Member", "label.member": "عضو",
"label.members": "الأعضاء", "label.members": "الأعضاء",
"label.min": "الحد الأدنى", "label.min": "الحد الأدنى",
"label.mobile": "جوال", "label.mobile": "جوال",
"label.more": "المزيد", "label.more": "المزيد",
"label.my-account": "My account", "label.my-account": "حسابي",
"label.my-websites": "مواقعي", "label.my-websites": "مواقعي",
"label.name": "الاسم", "label.name": "الاسم",
"label.new-password": "كلمة مرور جديدة", "label.new-password": "كلمة مرور جديدة",
"label.none": "غير معرّف", "label.none": "غير معرّف",
"label.number-of-records": "{x} {x, plural, one {record} other {records}}", "label.number-of-records": "{x} {x, plural, one {record} other {records}}",
"label.ok": "OK", "label.ok": "نعم",
"label.os": "نظام التشغيل", "label.os": "نظام التشغيل",
"label.overview": "نظرة عامة", "label.overview": "نظرة عامة",
"label.owner": "المالك", "label.owner": "المالك",
@ -129,7 +130,7 @@
"label.region": "المنطقة", "label.region": "المنطقة",
"label.regions": "المناطق", "label.regions": "المناطق",
"label.remove": "أزِل", "label.remove": "أزِل",
"label.remove-member": "Remove member", "label.remove-member": "احذف عضو",
"label.reports": "التقارير", "label.reports": "التقارير",
"label.required": "اجباري", "label.required": "اجباري",
"label.reset": "اعادة تعيين", "label.reset": "اعادة تعيين",
@ -141,9 +142,9 @@
"label.save": "حفظ", "label.save": "حفظ",
"label.screens": "الشاشات", "label.screens": "الشاشات",
"label.search": "بحث", "label.search": "بحث",
"label.select": "Select", "label.select": "اختر",
"label.select-date": "حدد التاريخ", "label.select-date": "حدد التاريخ",
"label.select-role": "Select role", "label.select-role": "حدد الدور",
"label.select-website": "حدد موقع", "label.select-website": "حدد موقع",
"label.sessions": "الزيارات", "label.sessions": "الزيارات",
"label.settings": "الإعدادات", "label.settings": "الإعدادات",
@ -171,7 +172,7 @@
"label.total-records": "إجمالي السجلات", "label.total-records": "إجمالي السجلات",
"label.tracking-code": "كود التتبع", "label.tracking-code": "كود التتبع",
"label.transfer": "Transfer", "label.transfer": "Transfer",
"label.transfer-website": "Transfer website", "label.transfer-website": "انقل الموقع",
"label.true": "حقيقي", "label.true": "حقيقي",
"label.type": "النوع", "label.type": "النوع",
"label.unique": "فريد", "label.unique": "فريد",
@ -194,13 +195,13 @@
"label.websites": "المواقع", "label.websites": "المواقع",
"label.window": "النافذة", "label.window": "النافذة",
"label.yesterday": "الأمس", "label.yesterday": "الأمس",
"message.action-confirmation": "Type {confirmation} in the box below to confirm.", "message.action-confirmation": "اكتب {confirmation} في المربع أدناه للتأكيد.",
"message.active-users": "{x} حاليا {x, plural, one {زائر واحد} other {زوار}}", "message.active-users": "{x} حاليا {x, plural, one {زائر واحد} other {زوار}}",
"message.confirm-delete": "هل أنت متأكد من حذف {target}?", "message.confirm-delete": "هل أنت متأكد من حذف {target}?",
"message.confirm-leave": "هل أنت متأكد من مغادرة {target}?", "message.confirm-leave": "هل أنت متأكد من مغادرة {target}?",
"message.confirm-remove": "Are you sure you want to remove {target}?", "message.confirm-remove": "هل انت متأكد من حذف {target}?",
"message.confirm-reset": "هل أنت متأكد من اعادة تعيين الإحصائيات لـ {target}؟", "message.confirm-reset": "هل أنت متأكد من اعادة تعيين الإحصائيات لـ {target}؟",
"message.delete-team-warning": "Deleting a team will also delete all team websites.", "message.delete-team-warning": "حذف فريق سيؤدي إلى حذف جميع مواقع الفريق",
"message.delete-website-warning": "سيتم حذف كافة بيانات الموقع.", "message.delete-website-warning": "سيتم حذف كافة بيانات الموقع.",
"message.error": "حدث خطأ ما.", "message.error": "حدث خطأ ما.",
"message.event-log": "{event} في {url}", "message.event-log": "{event} في {url}",
@ -226,12 +227,12 @@
"message.team-not-found": "لم يتم العثور على الفريق", "message.team-not-found": "لم يتم العثور على الفريق",
"message.team-websites-info": "يمكن مشاهدة الموقع من اي عضو في الفريق.", "message.team-websites-info": "يمكن مشاهدة الموقع من اي عضو في الفريق.",
"message.tracking-code": "كود التتبع", "message.tracking-code": "كود التتبع",
"message.transfer-team-website-to-user": "Transfer this website to your account?", "message.transfer-team-website-to-user": "نقل هذا الموقع إلى حسابك؟",
"message.transfer-user-website-to-team": "Select the team to transfer this website to.", "message.transfer-user-website-to-team": "اختر الفريق الذي تريد نقل الموقع إليه.",
"message.transfer-website": "Transfer website ownership to your account or another team.", "message.transfer-website": "نقل ملكية الموقع لحسابك أو فريق أخر.",
"message.triggered-event": "Triggered event", "message.triggered-event": "أُطلق الحدث",
"message.user-deleted": "تم حذف المستخدم.", "message.user-deleted": "تم حذف المستخدم.",
"message.viewed-page": "Viewed page", "message.viewed-page": "شوهدت الصفحة",
"message.visitor-log": "زائر من {country} يستخدم {browser} على {os} {device}", "message.visitor-log": "زائر من {country} يستخدم {browser} على {os} {device}",
"message.visitors-dropped-off": "Visitors droppped off" "message.visitors-dropped-off": "أنخفض عدد الزوار"
} }