Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -3,12 +3,11 @@ import { useState } from 'react';
|
||||
import MobileMenu from './MobileMenu';
|
||||
import Icons from 'components/icons';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
|
||||
export function HamburgerButton() {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const [active, setActive] = useState(false);
|
||||
const { cloudMode } = useConfig();
|
||||
const cloudMode = Boolean(process.env.cloudMode);
|
||||
|
||||
const menuItems = [
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@ export function SettingsTable({
|
||||
onPageSizeChange,
|
||||
filterValue,
|
||||
}) {
|
||||
const { formatMessage, messages } = useMessages();
|
||||
const { formatMessage, labels, messages } = useMessages();
|
||||
const [filter, setFilter] = useState(filterValue);
|
||||
const { data: value, page, count, pageSize } = data;
|
||||
|
||||
@@ -42,7 +42,7 @@ export function SettingsTable({
|
||||
delay={1000}
|
||||
value={filter}
|
||||
autoFocus={true}
|
||||
placeholder="Search"
|
||||
placeholder={formatMessage(labels.search)}
|
||||
style={{ maxWidth: '300px', marginBottom: '10px' }}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { useEffect, useCallback, useState } from 'react';
|
||||
import { createPortal } from 'react-dom';
|
||||
import { Button, Row, Column } from 'react-basics';
|
||||
import { setItem } from 'next-basics';
|
||||
import useStore, { checkVersion } from 'store/version';
|
||||
@@ -44,7 +45,7 @@ export function UpdateNotice({ user, config }) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
return createPortal(
|
||||
<Row className={styles.notice}>
|
||||
<Column variant="two" className={styles.message}>
|
||||
{formatMessage(messages.newVersionAvailable, { version: `v${latest}` })}
|
||||
@@ -55,7 +56,8 @@ export function UpdateNotice({ user, config }) {
|
||||
</Button>
|
||||
<Button onClick={handleDismissClick}>{formatMessage(labels.dismiss)}</Button>
|
||||
</Column>
|
||||
</Row>
|
||||
</Row>,
|
||||
document.body,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
position: absolute;
|
||||
max-width: 800px;
|
||||
gap: 20px;
|
||||
margin: 20px auto;
|
||||
justify-self: center;
|
||||
margin: 80px auto;
|
||||
align-self: center;
|
||||
background: var(--base50);
|
||||
padding: 20px;
|
||||
border: 1px solid var(--base300);
|
||||
border-radius: var(--border-radius);
|
||||
z-index: var(--z-index-popup);
|
||||
box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.message {
|
||||
|
||||
@@ -8,6 +8,7 @@ import { ISO_COUNTRIES, MAP_FILE } from 'lib/constants';
|
||||
import useTheme from 'components/hooks/useTheme';
|
||||
import useCountryNames from 'components/hooks/useCountryNames';
|
||||
import useLocale from 'components/hooks/useLocale';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import { formatLongNumber } from 'lib/format';
|
||||
import { percentFilter } from 'lib/filters';
|
||||
import styles from './WorldMap.module.css';
|
||||
@@ -17,7 +18,9 @@ export function WorldMap({ data, className }) {
|
||||
const [tooltip, setTooltipPopup] = useState();
|
||||
const { theme, colors } = useTheme();
|
||||
const { locale } = useLocale();
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const countryNames = useCountryNames(locale);
|
||||
const visitorsLabel = formatMessage(labels.visitors).toLocaleLowerCase(locale);
|
||||
const metrics = useMemo(() => (data ? percentFilter(data) : []), [data]);
|
||||
|
||||
function getFillColor(code) {
|
||||
@@ -40,7 +43,7 @@ export function WorldMap({ data, className }) {
|
||||
function handleHover(code) {
|
||||
if (code === 'AQ') return;
|
||||
const country = metrics?.find(({ x }) => x === code);
|
||||
setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} visitors`);
|
||||
setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} ${visitorsLabel}`);
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -7,15 +7,16 @@ let loading = false;
|
||||
export function useConfig() {
|
||||
const { config } = useStore();
|
||||
const { get } = useApi();
|
||||
const configUrl = process.env.configUrl;
|
||||
|
||||
async function loadConfig() {
|
||||
const data = await get('/config');
|
||||
const data = await get(configUrl);
|
||||
loading = false;
|
||||
setConfig(data);
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (!config && !loading) {
|
||||
if (!config && !loading && configUrl) {
|
||||
loading = true;
|
||||
loadConfig();
|
||||
}
|
||||
|
||||
@@ -2,18 +2,20 @@ import { produce } from 'immer';
|
||||
import { useCallback, useEffect, useState } from 'react';
|
||||
import { useTimezone } from './useTimezone';
|
||||
import useApi from './useApi';
|
||||
|
||||
const baseParameters = {
|
||||
name: 'Untitled',
|
||||
description: '',
|
||||
parameters: {},
|
||||
};
|
||||
import useMessages from './useMessages';
|
||||
|
||||
export function useReport(reportId, defaultParameters) {
|
||||
const [report, setReport] = useState(null);
|
||||
const [isRunning, setIsRunning] = useState(false);
|
||||
const { get, post } = useApi();
|
||||
const [timezone] = useTimezone();
|
||||
const { formatMessage, labels } = useMessages();
|
||||
|
||||
const baseParameters = {
|
||||
name: formatMessage(labels.untitled),
|
||||
description: '',
|
||||
parameters: {},
|
||||
};
|
||||
|
||||
const loadReport = async id => {
|
||||
const data = await get(`/reports/${id}`);
|
||||
|
||||
@@ -3,16 +3,16 @@ import { useRouter } from 'next/router';
|
||||
import Icons from 'components/icons';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import useUser from 'components/hooks/useUser';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
import styles from './ProfileButton.module.css';
|
||||
import useLocale from 'components/hooks/useLocale';
|
||||
import { CURRENT_VERSION } from 'lib/constants';
|
||||
import styles from './ProfileButton.module.css';
|
||||
|
||||
export function ProfileButton() {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const { user } = useUser();
|
||||
const { cloudMode } = useConfig();
|
||||
const router = useRouter();
|
||||
const { dir } = useLocale();
|
||||
const cloudMode = Boolean(process.env.cloudMode);
|
||||
|
||||
const handleSelect = key => {
|
||||
if (key === 'profile') {
|
||||
@@ -52,6 +52,7 @@ export function ProfileButton() {
|
||||
<Text>{formatMessage(labels.logout)}</Text>
|
||||
</Item>
|
||||
)}
|
||||
<div className={styles.version}>{`v${CURRENT_VERSION}`}</div>
|
||||
</Menu>
|
||||
</Popup>
|
||||
</PopupTrigger>
|
||||
|
||||
@@ -8,3 +8,11 @@
|
||||
gap: 12px;
|
||||
background: var(--base50);
|
||||
}
|
||||
|
||||
.version {
|
||||
font-family: monospace;
|
||||
font-size: 11px;
|
||||
color: var(--base600);
|
||||
text-align: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ export function AppLayout({ title, children }) {
|
||||
const { user } = useRequireLogin();
|
||||
const config = useConfig();
|
||||
|
||||
if (!user || !config) {
|
||||
if (!user || !config || config?.uiDisabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
import { Icon, Text, Row, Column } from 'react-basics';
|
||||
import Link from 'next/link';
|
||||
import { useRouter } from 'next/router';
|
||||
import classNames from 'classnames';
|
||||
import Icons from 'components/icons';
|
||||
import ThemeButton from 'components/input/ThemeButton';
|
||||
import LanguageButton from 'components/input/LanguageButton';
|
||||
import ProfileButton from 'components/input/ProfileButton';
|
||||
import styles from './NavBar.module.css';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import { useRouter } from 'next/router';
|
||||
import HamburgerButton from '../common/HamburgerButton';
|
||||
import HamburgerButton from 'components/common/HamburgerButton';
|
||||
import styles from './NavBar.module.css';
|
||||
|
||||
export function NavBar() {
|
||||
const { pathname } = useRouter();
|
||||
const { cloudMode } = useConfig();
|
||||
const { formatMessage, labels } = useMessages();
|
||||
|
||||
const links = [
|
||||
{ label: formatMessage(labels.dashboard), url: '/dashboard' },
|
||||
{ label: formatMessage(labels.websites), url: '/websites' },
|
||||
{ label: formatMessage(labels.reports), url: '/reports' },
|
||||
!cloudMode && { label: formatMessage(labels.settings), url: '/settings' },
|
||||
{ label: formatMessage(labels.settings), url: '/settings' },
|
||||
].filter(n => n);
|
||||
|
||||
return (
|
||||
|
||||
@@ -37,10 +37,6 @@
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.actions {
|
||||
flex-basis: 100%;
|
||||
order: -1;
|
||||
|
||||
@@ -3,14 +3,13 @@ import { useRouter } from 'next/router';
|
||||
import SideNav from './SideNav';
|
||||
import useUser from 'components/hooks/useUser';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
import styles from './SettingsLayout.module.css';
|
||||
|
||||
export function SettingsLayout({ children }) {
|
||||
const { user } = useUser();
|
||||
const { pathname } = useRouter();
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const { cloudMode } = useConfig();
|
||||
const cloudMode = Boolean(process.env.cloudMode);
|
||||
|
||||
const items = [
|
||||
{ key: 'websites', label: formatMessage(labels.websites), url: '/settings/websites' },
|
||||
|
||||
@@ -13,4 +13,8 @@
|
||||
.menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,6 +129,10 @@ export const labels = defineMessages({
|
||||
reports: { id: 'label.reports', defaultMessage: 'Reports' },
|
||||
eventData: { id: 'label.event-data', defaultMessage: 'Event data' },
|
||||
funnel: { id: 'label.funnel', defaultMessage: 'Funnel' },
|
||||
funnelDescription: {
|
||||
id: 'label.funnel-description',
|
||||
defaultMessage: 'Understand the conversion and drop-off rate of users.',
|
||||
},
|
||||
url: { id: 'label.url', defaultMessage: 'URL' },
|
||||
urls: { id: 'label.urls', defaultMessage: 'URLs' },
|
||||
add: { id: 'label.add', defaultMessage: 'Add' },
|
||||
@@ -167,7 +171,15 @@ export const labels = defineMessages({
|
||||
overview: { id: 'label.overview', defaultMessage: 'Overview' },
|
||||
totalRecords: { id: 'label.total-records', defaultMessage: 'Total records' },
|
||||
insights: { id: 'label.insights', defaultMessage: 'Insights' },
|
||||
insightsDescription: {
|
||||
id: 'label.insights-description',
|
||||
defaultMessage: 'Dive deeper into your data by using segments and filters.',
|
||||
},
|
||||
retention: { id: 'label.retention', defaultMessage: 'Retention' },
|
||||
retentionDescription: {
|
||||
id: 'label.retention-description',
|
||||
defaultMessage: 'Measure your website stickiness by tracking how often users return.',
|
||||
},
|
||||
dropoff: { id: 'label.dropoff', defaultMessage: 'Dropoff' },
|
||||
referrer: { id: 'label.referrer', defaultMessage: 'Referrer' },
|
||||
country: { id: 'label.country', defaultMessage: 'Country' },
|
||||
@@ -179,6 +191,8 @@ export const labels = defineMessages({
|
||||
day: { id: 'label.day', defaultMessage: 'Day' },
|
||||
date: { id: 'label.date', defaultMessage: 'Date' },
|
||||
pageOf: { id: 'label.page-of', defaultMessage: 'Page {current} of {total}' },
|
||||
create: { id: 'label.create', defaultMessage: 'Create' },
|
||||
search: { id: 'label.search', defaultMessage: 'Search' },
|
||||
});
|
||||
|
||||
export const messages = defineMessages({
|
||||
|
||||
@@ -22,9 +22,7 @@ export function CitiesTable({ websiteId, ...props }) {
|
||||
<FilterLink id="city" value={city} label={renderLabel(city, country)}>
|
||||
{country && (
|
||||
<img
|
||||
src={`${basePath}/images/flags/${
|
||||
country?.split?.('-')?.[0]?.toLowerCase() || 'xx'
|
||||
}.png`}
|
||||
src={`${basePath}/images/flags/${country?.toLowerCase() || 'xx'}.png`}
|
||||
alt={country}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -54,21 +54,18 @@ export function MetricsTable({
|
||||
city,
|
||||
},
|
||||
],
|
||||
() =>
|
||||
get(`/websites/${websiteId}/metrics`, {
|
||||
() => {
|
||||
const filters = { url, title, referrer, os, browser, device, country, region, city };
|
||||
|
||||
filters[type] = undefined;
|
||||
|
||||
return get(`/websites/${websiteId}/metrics`, {
|
||||
type,
|
||||
startAt: +startDate,
|
||||
endAt: +endDate,
|
||||
url,
|
||||
title,
|
||||
referrer,
|
||||
os,
|
||||
browser,
|
||||
device,
|
||||
country,
|
||||
region,
|
||||
city,
|
||||
}),
|
||||
...filters,
|
||||
});
|
||||
},
|
||||
{ onSuccess: onDataLoad, retryDelay: delay || DEFAULT_ANIMATION_DURATION },
|
||||
);
|
||||
|
||||
|
||||
@@ -13,17 +13,15 @@ export function RegionsTable({ websiteId, ...props }) {
|
||||
const countryNames = useCountryNames(locale);
|
||||
const { basePath } = useRouter();
|
||||
|
||||
const renderLabel = x => {
|
||||
return regions[x] ? `${regions[x]}, ${countryNames[x.split('-')[0]]}` : x;
|
||||
const renderLabel = (code, country) => {
|
||||
const region = code.includes('-') ? code : `${country}-${code}`;
|
||||
return regions[region] ? `${regions[region]}, ${countryNames[country]}` : region;
|
||||
};
|
||||
|
||||
const renderLink = ({ x: code }) => {
|
||||
const renderLink = ({ x: code, country }) => {
|
||||
return (
|
||||
<FilterLink id="region" className={locale} value={code} label={renderLabel(code)}>
|
||||
<img
|
||||
src={`${basePath}/images/flags/${code?.split('-')?.[0]?.toLowerCase() || 'xx'}.png`}
|
||||
alt={code}
|
||||
/>
|
||||
<FilterLink id="region" className={locale} value={code} label={renderLabel(code, country)}>
|
||||
<img src={`${basePath}/images/flags/${country?.toLowerCase() || 'xx'}.png`} alt={code} />
|
||||
</FilterLink>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { useState } from 'react';
|
||||
import { Button, Icon, Icons, Text, Flexbox } from 'react-basics';
|
||||
import { Button, Icon, Icons, Text } from 'react-basics';
|
||||
import Link from 'next/link';
|
||||
import Page from 'components/layout/Page';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import Pager from 'components/common/Pager';
|
||||
import WebsiteChartList from 'components/pages/websites/WebsiteChartList';
|
||||
import DashboardSettingsButton from 'components/pages/dashboard/DashboardSettingsButton';
|
||||
import DashboardEdit from 'components/pages/dashboard/DashboardEdit';
|
||||
@@ -11,23 +11,24 @@ import useApi from 'components/hooks/useApi';
|
||||
import useDashboard from 'store/dashboard';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import useLocale from 'components/hooks/useLocale';
|
||||
import useApiFilter from 'components/hooks/useApiFilter';
|
||||
|
||||
export function Dashboard() {
|
||||
const { formatMessage, labels, messages } = useMessages();
|
||||
const dashboard = useDashboard();
|
||||
const { showCharts, limit, editing } = dashboard;
|
||||
const [max, setMax] = useState(limit);
|
||||
const { get, useQuery } = useApi();
|
||||
const { data, isLoading, error } = useQuery(['websites'], () =>
|
||||
get('/websites', { includeTeams: 1 }),
|
||||
);
|
||||
const hasData = data && data?.data.length !== 0;
|
||||
|
||||
const { showCharts, editing } = useDashboard();
|
||||
const { dir } = useLocale();
|
||||
|
||||
function handleMore() {
|
||||
setMax(max + limit);
|
||||
}
|
||||
const { get, useQuery } = useApi();
|
||||
const { page, handlePageChange } = useApiFilter();
|
||||
const pageSize = 10;
|
||||
const {
|
||||
data: result,
|
||||
isLoading,
|
||||
error,
|
||||
} = useQuery(['websites', page, pageSize], () =>
|
||||
get('/websites', { includeTeams: 1, page, pageSize }),
|
||||
);
|
||||
const { data, count } = result || {};
|
||||
const hasData = data && data?.length !== 0;
|
||||
|
||||
return (
|
||||
<Page loading={isLoading} error={error}>
|
||||
@@ -48,19 +49,17 @@ export function Dashboard() {
|
||||
)}
|
||||
{hasData && (
|
||||
<>
|
||||
{editing && <DashboardEdit websites={data?.data} />}
|
||||
{editing && <DashboardEdit />}
|
||||
{!editing && (
|
||||
<WebsiteChartList websites={data?.data} showCharts={showCharts} limit={max} />
|
||||
)}
|
||||
{max < data.length && (
|
||||
<Flexbox justifyContent="center">
|
||||
<Button onClick={handleMore}>
|
||||
<Icon rotate={dir === 'rtl' ? 180 : 0}>
|
||||
<Icons.More />
|
||||
</Icon>
|
||||
<Text>{formatMessage(labels.more)}</Text>
|
||||
</Button>
|
||||
</Flexbox>
|
||||
<>
|
||||
<WebsiteChartList websites={data} showCharts={showCharts} limit={pageSize} />
|
||||
<Pager
|
||||
page={page}
|
||||
pageSize={pageSize}
|
||||
count={count}
|
||||
onPageChange={handlePageChange}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
@@ -5,23 +5,33 @@ import { Button } from 'react-basics';
|
||||
import { firstBy } from 'thenby';
|
||||
import useDashboard, { saveDashboard } from 'store/dashboard';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import useApi from 'components/hooks/useApi';
|
||||
import styles from './DashboardEdit.module.css';
|
||||
import Page from 'components/layout/Page';
|
||||
|
||||
const dragId = 'dashboard-website-ordering';
|
||||
|
||||
export function DashboardEdit({ websites }) {
|
||||
export function DashboardEdit() {
|
||||
const settings = useDashboard();
|
||||
const { websiteOrder } = settings;
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const [order, setOrder] = useState(websiteOrder || []);
|
||||
const { get, useQuery } = useApi();
|
||||
const {
|
||||
data: result,
|
||||
isLoading,
|
||||
error,
|
||||
} = useQuery(['websites'], () => get('/websites', { includeTeams: 1 }));
|
||||
const { data: websites } = result || {};
|
||||
|
||||
const ordered = useMemo(
|
||||
() =>
|
||||
websites
|
||||
const ordered = useMemo(() => {
|
||||
if (websites) {
|
||||
return websites
|
||||
.map(website => ({ ...website, order: order.indexOf(website.id) }))
|
||||
.sort(firstBy('order')),
|
||||
[websites, order],
|
||||
);
|
||||
.sort(firstBy('order'));
|
||||
}
|
||||
return [];
|
||||
}, [websites, order]);
|
||||
|
||||
function handleWebsiteDrag({ destination, source }) {
|
||||
if (!destination || destination.index === source.index) return;
|
||||
@@ -49,7 +59,7 @@ export function DashboardEdit({ websites }) {
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Page loading={isLoading} error={error}>
|
||||
<div className={styles.buttons}>
|
||||
<Button onClick={handleSave} variant="action" size="small">
|
||||
{formatMessage(labels.save)}
|
||||
@@ -95,7 +105,7 @@ export function DashboardEdit({ websites }) {
|
||||
</Droppable>
|
||||
</DragDropContext>
|
||||
</div>
|
||||
</>
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ export default function FieldFilterForm({
|
||||
type,
|
||||
values,
|
||||
onSelect,
|
||||
includeOnlyEquals,
|
||||
allowFilterSelect = true,
|
||||
}) {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const [filter, setFilter] = useState('eq');
|
||||
@@ -34,7 +34,7 @@ export default function FieldFilterForm({
|
||||
<Form>
|
||||
<FormRow label={label} className={styles.filter}>
|
||||
<Flexbox gap={10}>
|
||||
{!includeOnlyEquals && (
|
||||
{allowFilterSelect && (
|
||||
<Dropdown
|
||||
className={styles.dropdown}
|
||||
items={filters}
|
||||
|
||||
@@ -18,7 +18,7 @@ function useValues(websiteId, type) {
|
||||
return { data, error, isLoading };
|
||||
}
|
||||
|
||||
export default function FilterSelectForm({ websiteId, items, onSelect, includeOnlyEquals }) {
|
||||
export default function FilterSelectForm({ websiteId, items, onSelect, allowFilterSelect }) {
|
||||
const [field, setField] = useState();
|
||||
const { data, isLoading } = useValues(websiteId, field?.name);
|
||||
|
||||
@@ -37,7 +37,7 @@ export default function FilterSelectForm({ websiteId, items, onSelect, includeOn
|
||||
type={field?.type}
|
||||
values={data}
|
||||
onSelect={onSelect}
|
||||
includeOnlyEquals={includeOnlyEquals}
|
||||
allowFilterSelect={allowFilterSelect}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ export function ReportHeader({ icon }) {
|
||||
|
||||
const { name, description, parameters } = report || {};
|
||||
const { websiteId, dateRange } = parameters || {};
|
||||
const defaultName = formatMessage(labels.untitled);
|
||||
|
||||
const handleSave = async () => {
|
||||
if (!report.id) {
|
||||
@@ -39,7 +40,7 @@ export function ReportHeader({ icon }) {
|
||||
};
|
||||
|
||||
const handleNameChange = name => {
|
||||
updateReport({ name: name || 'Untitled' });
|
||||
updateReport({ name: name || defaultName });
|
||||
};
|
||||
|
||||
const handleDescriptionChange = description => {
|
||||
@@ -54,7 +55,7 @@ export function ReportHeader({ icon }) {
|
||||
key={name}
|
||||
name="name"
|
||||
value={name}
|
||||
placeholder={formatMessage(labels.untitled)}
|
||||
placeholder={defaultName}
|
||||
onCommit={handleNameChange}
|
||||
/>
|
||||
</>
|
||||
|
||||
@@ -9,6 +9,8 @@ import styles from './ReportTemplates.module.css';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
||||
function ReportItem({ title, description, url, icon }) {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
|
||||
return (
|
||||
<div className={styles.report}>
|
||||
<div className={styles.title}>
|
||||
@@ -22,7 +24,7 @@ function ReportItem({ title, description, url, icon }) {
|
||||
<Icon>
|
||||
<Icons.Plus />
|
||||
</Icon>
|
||||
<Text>Create</Text>
|
||||
<Text>{formatMessage(labels.create)}</Text>
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
@@ -36,19 +38,19 @@ export function ReportTemplates({ showHeader = true }) {
|
||||
const reports = [
|
||||
{
|
||||
title: formatMessage(labels.insights),
|
||||
description: 'Dive deeper into your data by using segments and filters.',
|
||||
description: formatMessage(labels.insightsDescription),
|
||||
url: '/reports/insights',
|
||||
icon: <Lightbulb />,
|
||||
},
|
||||
{
|
||||
title: formatMessage(labels.funnel),
|
||||
description: 'Understand the conversion and drop-off rate of users.',
|
||||
description: formatMessage(labels.funnelDescription),
|
||||
url: '/reports/funnel',
|
||||
icon: <Funnel />,
|
||||
},
|
||||
{
|
||||
title: formatMessage(labels.retention),
|
||||
description: 'Measure you website stickiness by tracking how often users return.',
|
||||
description: formatMessage(labels.retentionDescription),
|
||||
url: '/reports/retention',
|
||||
icon: <Magnet />,
|
||||
},
|
||||
|
||||
@@ -5,6 +5,7 @@ import { useMessages } from 'components/hooks';
|
||||
import useUser from 'components/hooks/useUser';
|
||||
import { useState } from 'react';
|
||||
import { Button, Flexbox, Icon, Icons, Modal, Text } from 'react-basics';
|
||||
import { REPORT_TYPES } from 'lib/constants';
|
||||
|
||||
export function ReportsTable({
|
||||
data = [],
|
||||
@@ -34,6 +35,15 @@ export function ReportsTable({
|
||||
{ name: 'action', label: ' ' },
|
||||
];
|
||||
|
||||
const cellRender = (row, data, key) => {
|
||||
if (key === 'type') {
|
||||
return formatMessage(
|
||||
labels[Object.keys(REPORT_TYPES).find(key => REPORT_TYPES[key] === row.type)],
|
||||
);
|
||||
}
|
||||
return data[key];
|
||||
};
|
||||
|
||||
const handleConfirm = () => {
|
||||
onDelete(report.id);
|
||||
};
|
||||
@@ -42,6 +52,7 @@ export function ReportsTable({
|
||||
<>
|
||||
<SettingsTable
|
||||
columns={columns}
|
||||
cellRender={cellRender}
|
||||
data={data}
|
||||
showSearch={true}
|
||||
showPaging={true}
|
||||
|
||||
@@ -134,7 +134,7 @@ export function EventDataParameters() {
|
||||
);
|
||||
})}
|
||||
<FormButtons>
|
||||
<SubmitButton variant="primary" disabled={!queryEnabled} loading={isRunning}>
|
||||
<SubmitButton variant="primary" disabled={!queryEnabled} isLoading={isRunning}>
|
||||
{formatMessage(labels.runQuery)}
|
||||
</SubmitButton>
|
||||
</FormButtons>
|
||||
|
||||
@@ -80,7 +80,7 @@ export function FunnelParameters() {
|
||||
<ParameterList items={urls} onRemove={handleRemoveUrl} />
|
||||
</FormRow>
|
||||
<FormButtons>
|
||||
<SubmitButton variant="primary" disabled={queryDisabled} loading={isRunning}>
|
||||
<SubmitButton variant="primary" disabled={queryDisabled} isLoading={isRunning}>
|
||||
{formatMessage(labels.runQuery)}
|
||||
</SubmitButton>
|
||||
</FormButtons>
|
||||
|
||||
@@ -137,7 +137,7 @@ export function InsightsParameters() {
|
||||
);
|
||||
})}
|
||||
<FormButtons>
|
||||
<SubmitButton variant="primary" disabled={!queryEnabled} loading={isRunning}>
|
||||
<SubmitButton variant="primary" disabled={!queryEnabled} isLoading={isRunning}>
|
||||
{formatMessage(labels.runQuery)}
|
||||
</SubmitButton>
|
||||
</FormButtons>
|
||||
|
||||
@@ -35,7 +35,7 @@ export function RetentionParameters() {
|
||||
<MonthSelect date={startDate} onChange={handleDateChange} />
|
||||
</FormRow>
|
||||
<FormButtons>
|
||||
<SubmitButton variant="primary" disabled={queryDisabled} loading={isRunning}>
|
||||
<SubmitButton variant="primary" disabled={queryDisabled} isLoading={isRunning}>
|
||||
{formatMessage(labels.runQuery)}
|
||||
</SubmitButton>
|
||||
</FormButtons>
|
||||
|
||||
@@ -3,11 +3,13 @@ import classNames from 'classnames';
|
||||
import { ReportContext } from '../Report';
|
||||
import EmptyPlaceholder from 'components/common/EmptyPlaceholder';
|
||||
import { useMessages } from 'components/hooks';
|
||||
import { useLocale } from 'components/hooks';
|
||||
import { formatDate } from 'lib/date';
|
||||
import styles from './RetentionTable.module.css';
|
||||
|
||||
export function RetentionTable() {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const { locale } = useLocale();
|
||||
const { report } = useContext(ReportContext);
|
||||
const { data } = report || {};
|
||||
|
||||
@@ -51,7 +53,7 @@ export function RetentionTable() {
|
||||
{rows.map(({ date, visitors, records }, rowIndex) => {
|
||||
return (
|
||||
<div key={rowIndex} className={styles.row}>
|
||||
<div className={styles.date}>{formatDate(`${date} 00:00:00`, 'PP')}</div>
|
||||
<div className={styles.date}>{formatDate(`${date} 00:00:00`, 'PP', locale)}</div>
|
||||
<div className={styles.visitors}>{visitors}</div>
|
||||
{days.map(day => {
|
||||
if (totalDays - rowIndex < day) {
|
||||
|
||||
@@ -6,13 +6,12 @@ import ThemeSetting from 'components/pages/settings/profile/ThemeSetting';
|
||||
import PasswordChangeButton from './PasswordChangeButton';
|
||||
import useUser from 'components/hooks/useUser';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
import { ROLES } from 'lib/constants';
|
||||
|
||||
export function ProfileDetails() {
|
||||
const { user } = useUser();
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const { cloudMode } = useConfig();
|
||||
const cloudMode = Boolean(process.env.cloudMode);
|
||||
|
||||
if (!user) {
|
||||
return null;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { Breadcrumbs, Item, Tabs, useToasts } from 'react-basics';
|
||||
import Link from 'next/link';
|
||||
import { Item, Tabs, useToasts } from 'react-basics';
|
||||
import Page from 'components/layout/Page';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import { ROLES } from 'lib/constants';
|
||||
@@ -44,16 +43,7 @@ export function TeamSettings({ teamId }) {
|
||||
|
||||
return (
|
||||
<Page loading={isLoading || !values}>
|
||||
<PageHeader
|
||||
title={
|
||||
<Breadcrumbs>
|
||||
<Item>
|
||||
<Link href="/settings/teams">{formatMessage(labels.teams)}</Link>
|
||||
</Item>
|
||||
<Item>{values?.name}</Item>
|
||||
</Breadcrumbs>
|
||||
}
|
||||
/>
|
||||
<PageHeader title={values?.name} />
|
||||
<Tabs selectedKey={tab} onSelect={setTab} style={{ marginBottom: 30 }}>
|
||||
<Item key="details">{formatMessage(labels.details)}</Item>
|
||||
<Item key="members">{formatMessage(labels.members)}</Item>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { Breadcrumbs, Item, Tabs, useToasts } from 'react-basics';
|
||||
import Link from 'next/link';
|
||||
import { Item, Tabs, useToasts } from 'react-basics';
|
||||
import UserEditForm from 'components/pages/settings/users/UserEditForm';
|
||||
import Page from 'components/layout/Page';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
@@ -44,16 +43,7 @@ export function UserSettings({ userId }) {
|
||||
|
||||
return (
|
||||
<Page loading={isLoading || !values}>
|
||||
<PageHeader
|
||||
title={
|
||||
<Breadcrumbs>
|
||||
<Item>
|
||||
<Link href="/settings/users">{formatMessage(labels.users)}</Link>
|
||||
</Item>
|
||||
<Item>{values?.username}</Item>
|
||||
</Breadcrumbs>
|
||||
}
|
||||
/>
|
||||
<PageHeader title={values?.username} />
|
||||
<Tabs selectedKey={tab} onSelect={setTab} style={{ marginBottom: 30, fontSize: 14 }}>
|
||||
<Item key="details">{formatMessage(labels.details)}</Item>
|
||||
<Item key="websites">{formatMessage(labels.websites)}</Item>
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
import { TextArea } from 'react-basics';
|
||||
import useMessages from 'components/hooks/useMessages';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
import { useRouter } from 'next/router';
|
||||
|
||||
export function TrackingCode({ websiteId }) {
|
||||
const { formatMessage, messages } = useMessages();
|
||||
const { basePath, trackerScriptName } = useConfig();
|
||||
const { basePath } = useRouter();
|
||||
const config = useConfig();
|
||||
|
||||
const trackerScriptName =
|
||||
config?.trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js';
|
||||
|
||||
const url = trackerScriptName?.startsWith('http')
|
||||
? trackerScriptName
|
||||
: `${location.origin}${basePath}/${
|
||||
trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js'
|
||||
}`;
|
||||
: `${process.env.analyticsUrl || location.origin}${basePath}/${trackerScriptName}`;
|
||||
|
||||
const code = `<script async src="${url}" data-website-id="${websiteId}"></script>`;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { Breadcrumbs, Item, Tabs, useToasts, Button, Text, Icon, Icons } from 'react-basics';
|
||||
import { Item, Tabs, useToasts, Button, Text, Icon, Icons } from 'react-basics';
|
||||
import { useRouter } from 'next/router';
|
||||
import Link from 'next/link';
|
||||
import Page from 'components/layout/Page';
|
||||
@@ -49,16 +49,7 @@ export function WebsiteSettings({ websiteId, openExternal = false }) {
|
||||
|
||||
return (
|
||||
<Page loading={isLoading || !values}>
|
||||
<PageHeader
|
||||
title={
|
||||
<Breadcrumbs>
|
||||
<Item>
|
||||
<Link href="/settings/websites">{formatMessage(labels.websites)}</Link>
|
||||
</Item>
|
||||
<Item>{values?.name}</Item>
|
||||
</Breadcrumbs>
|
||||
}
|
||||
>
|
||||
<PageHeader title={values?.name}>
|
||||
<Link href={`/websites/${websiteId}`} target={openExternal ? '_blank' : null}>
|
||||
<Button variant="primary">
|
||||
<Icon>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import classNames from 'classnames';
|
||||
import { useApi, useDateRange, useMessages, usePageQuery, useSticky } from 'components/hooks';
|
||||
import RefreshButton from 'components/input/RefreshButton';
|
||||
import WebsiteDateFilter from 'components/input/WebsiteDateFilter';
|
||||
import MetricCard from 'components/metrics/MetricCard';
|
||||
import MetricsBar from 'components/metrics/MetricsBar';
|
||||
@@ -10,7 +9,7 @@ import { formatShortTime } from 'lib/format';
|
||||
import { Button, Column, Icon, Icons, Popup, PopupTrigger, Row } from 'react-basics';
|
||||
import styles from './WebsiteMetricsBar.module.css';
|
||||
|
||||
export function WebsiteMetricsBar({ websiteId, showFilter = true, showRefresh = true, sticky }) {
|
||||
export function WebsiteMetricsBar({ websiteId, showFilter = true, sticky }) {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
|
||||
const { get, useQuery } = useApi();
|
||||
@@ -88,7 +87,7 @@ export function WebsiteMetricsBar({ websiteId, showFilter = true, showRefresh =
|
||||
handleAddFilter(value);
|
||||
close();
|
||||
}}
|
||||
includeOnlyEquals={true}
|
||||
allowFilterSelect={false}
|
||||
/>
|
||||
</PopupForm>
|
||||
);
|
||||
@@ -161,7 +160,6 @@ export function WebsiteMetricsBar({ websiteId, showFilter = true, showRefresh =
|
||||
<Column defaultSize={12} xl={4}>
|
||||
<div className={styles.actions}>
|
||||
{showFilter && <WebsiteFilterButton />}
|
||||
{showRefresh && <RefreshButton websiteId={websiteId} />}
|
||||
<WebsiteDateFilter websiteId={websiteId} />
|
||||
</div>
|
||||
</Column>
|
||||
|
||||
@@ -4,7 +4,6 @@ import WebsiteAddForm from 'components/pages/settings/websites/WebsiteAddForm';
|
||||
import WebsiteList from 'components/pages/settings/websites/WebsitesList';
|
||||
import { useMessages } from 'components/hooks';
|
||||
import useUser from 'components/hooks/useUser';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
import { ROLES } from 'lib/constants';
|
||||
import { useState } from 'react';
|
||||
import {
|
||||
@@ -24,8 +23,8 @@ export function WebsitesPage() {
|
||||
const [tab, setTab] = useState('my-websites');
|
||||
const [fetch, setFetch] = useState(1);
|
||||
const { user } = useUser();
|
||||
const { cloudMode } = useConfig();
|
||||
const { showToast } = useToasts();
|
||||
const cloudMode = Boolean(process.env.cloudMode);
|
||||
|
||||
const handleSave = async () => {
|
||||
setFetch(fetch + 1);
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Countries",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combined",
|
||||
"label.filter-raw": "Raw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reset",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Save",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "متابعة",
|
||||
"label.countries": "الدول",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "انشاء مجموعة",
|
||||
"label.create-user": "انشاء مستخدم",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "مجمعة",
|
||||
"label.filter-raw": "مفصلة",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "اعادة تعيين",
|
||||
"label.reset-website": "اعادة تعيين الإحصائيات",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "الصلاحية",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "حفظ",
|
||||
"label.screens": "الشاشات",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "اختيار موقع",
|
||||
"label.sessions": "الزيارات",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Краіны",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Камбініаваны",
|
||||
"label.filter-raw": "Сырыя",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Скінуць",
|
||||
"label.reset-website": "Скінуць статыстыку",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Захаваць",
|
||||
"label.screens": "Экраны",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "দেশ",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "সম্মিলিত",
|
||||
"label.filter-raw": "অপরিশোধিত",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "রিসেট",
|
||||
"label.reset-website": "ওয়েবসাইট রিসেট করুন",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "সংরক্ষণ",
|
||||
"label.screens": "স্ক্রিনগুলি",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Països",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combinat",
|
||||
"label.filter-raw": "En cru",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Restableix",
|
||||
"label.reset-website": "Restableix estadístiques",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Desa",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Země",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombinace",
|
||||
"label.filter-raw": "Nezpracované",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reset",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Uložit",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Lande",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombineret",
|
||||
"label.filter-raw": "Rå",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Nulstil",
|
||||
"label.reset-website": "Nulstil statistikker",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Gem",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Wiiter",
|
||||
"label.countries": "Länder",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Team erstelle",
|
||||
"label.create-user": "Benutzer erstelle",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombiniert",
|
||||
"label.filter-raw": "Rohdate",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Zruggsetze",
|
||||
"label.reset-website": "Statistik zruggsetze",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Rollä",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Speichere",
|
||||
"label.screens": "Bildschirmuflösige",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Websiite uuswähle",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
"label.access-code": "Zugangscode",
|
||||
"label.actions": "Aktionen",
|
||||
"label.activity-log": "Aktivitätsverlauf",
|
||||
"label.add": "Add",
|
||||
"label.add": "Hinzufügen",
|
||||
"label.add-description": "Beschreibung hinzufügen",
|
||||
"label.add-website": "Webseite hinzufügen",
|
||||
"label.add-website": "Website hinzufügen",
|
||||
"label.admin": "Administrator",
|
||||
"label.after": "After",
|
||||
"label.after": "Nach",
|
||||
"label.all": "Alle",
|
||||
"label.all-time": "Gesamter Zeitraum",
|
||||
"label.analytics": "Analytics",
|
||||
"label.average": "Durchschnitt",
|
||||
"label.average-visit-time": "Durchschn. Besuchszeit",
|
||||
"label.back": "Zurück",
|
||||
"label.before": "Before",
|
||||
"label.before": "Vor",
|
||||
"label.bounce-rate": "Absprungrate",
|
||||
"label.breakdown": "Breakdown",
|
||||
"label.browser": "Browser",
|
||||
@@ -21,15 +21,16 @@
|
||||
"label.cancel": "Abbrechen",
|
||||
"label.change-password": "Passwort ändern",
|
||||
"label.cities": "Städte",
|
||||
"label.city": "City",
|
||||
"label.city": "Stadt",
|
||||
"label.clear-all": "Alles löschen",
|
||||
"label.confirm": "Bestätigen",
|
||||
"label.confirm-password": "Passwort wiederholen",
|
||||
"label.contains": "Contains",
|
||||
"label.contains": "Enthält",
|
||||
"label.continue": "Weiter",
|
||||
"label.countries": "Länder",
|
||||
"label.country": "Country",
|
||||
"label.create-report": "Report erstellen",
|
||||
"label.country": "Land",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Bericht erstellen",
|
||||
"label.create-team": "Team erstellen",
|
||||
"label.create-user": "Benutzer erstellen",
|
||||
"label.created": "Erstellt",
|
||||
@@ -37,43 +38,46 @@
|
||||
"label.custom-range": "Benutzerdefinierter Bereich",
|
||||
"label.dashboard": "Übersicht",
|
||||
"label.data": "Daten",
|
||||
"label.date": "Date",
|
||||
"label.date": "Datum",
|
||||
"label.date-range": "Datumsbereich",
|
||||
"label.day": "Day",
|
||||
"label.day": "Tag",
|
||||
"label.default-date-range": "Voreingestellter Datumsbereich",
|
||||
"label.delete": "Löschen",
|
||||
"label.delete-team": "Team löschen",
|
||||
"label.delete-user": "Benutzer löschen",
|
||||
"label.delete-website": "Webseite löschen",
|
||||
"label.delete-website": "Website löschen",
|
||||
"label.description": "Beschreibung",
|
||||
"label.desktop": "Desktop",
|
||||
"label.details": "Details",
|
||||
"label.device": "Device",
|
||||
"label.device": "Gerät",
|
||||
"label.devices": "Geräte",
|
||||
"label.dismiss": "Verwerfen",
|
||||
"label.does-not-contain": "Does not contain",
|
||||
"label.does-not-contain": "Enthält nicht",
|
||||
"label.domain": "Domain",
|
||||
"label.dropoff": "Dropoff",
|
||||
"label.edit": "Bearbeiten",
|
||||
"label.edit-dashboard": "Dashboard bearbeiten",
|
||||
"label.enable-share-url": "Freigabe-URL aktivieren",
|
||||
"label.event": "Event",
|
||||
"label.event-data": "Event daten",
|
||||
"label.event-data": "Eventdaten",
|
||||
"label.events": "Ereignisse",
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.false": "Falsch",
|
||||
"label.field": "Feld",
|
||||
"label.fields": "Felder",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombiniert",
|
||||
"label.filter-raw": "Rohdaten",
|
||||
"label.filters": "Filters",
|
||||
"label.filters": "Filter",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Größer als",
|
||||
"label.greater-than-equals": "Größer oder gleich",
|
||||
"label.insights": "Insights",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
"label.is-set": "Is set",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Ist",
|
||||
"label.is-not": "Ist nicht",
|
||||
"label.is-not-set": "Ist nicht gesetzt",
|
||||
"label.is-set": "Ist gesetzt",
|
||||
"label.join": "Beitreten",
|
||||
"label.join-team": "Team beitreten",
|
||||
"label.language": "Sprache",
|
||||
@@ -92,16 +96,16 @@
|
||||
"label.min": "Min",
|
||||
"label.mobile": "Handy",
|
||||
"label.more": "Mehr",
|
||||
"label.my-websites": "My websites",
|
||||
"label.my-websites": "Meine Websites",
|
||||
"label.name": "Name",
|
||||
"label.new-password": "Neues Passwort",
|
||||
"label.none": "Keine",
|
||||
"label.os": "OS",
|
||||
"label.overview": "Übersicht",
|
||||
"label.owner": "Besitzer",
|
||||
"label.page-of": "Page {current} of {total}",
|
||||
"label.page-of": "Seite {current} von {total}",
|
||||
"label.page-views": "Seitenaufrufe",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.pageTitle": "Seitentitel",
|
||||
"label.pages": "Seiten",
|
||||
"label.password": "Passwort",
|
||||
"label.powered-by": "Betrieben durch {name}",
|
||||
@@ -117,30 +121,32 @@
|
||||
"label.region": "Region",
|
||||
"label.regions": "Regionen",
|
||||
"label.remove": "Entfernen",
|
||||
"label.reports": "Reporte",
|
||||
"label.reports": "Berichte",
|
||||
"label.required": "Erforderlich",
|
||||
"label.reset": "Zurücksetzen",
|
||||
"label.reset-website": "Statistik zurücksetzen",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Rolle",
|
||||
"label.run-query": "Abfrage starten",
|
||||
"label.save": "Speichern",
|
||||
"label.screens": "Bildschirmauflösungen",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Datum auswählen",
|
||||
"label.select-website": "Website auswählen",
|
||||
"label.sessions": "Sessions",
|
||||
"label.sessions": "Sitzungen",
|
||||
"label.settings": "Einstellungen",
|
||||
"label.share-url": "Freigabe-URL",
|
||||
"label.single-day": "Ein Tag",
|
||||
"label.sum": "Summe",
|
||||
"label.tablet": "Tablet",
|
||||
"label.team": "Team",
|
||||
"label.team-guest": "Team Gast",
|
||||
"label.team-id": "Team ID",
|
||||
"label.team-member": "Team Mitglied",
|
||||
"label.team-name": "Team name",
|
||||
"label.team-owner": "Team Eigentümer",
|
||||
"label.team-websites": "Team websites",
|
||||
"label.team-guest": "Gast des Teams",
|
||||
"label.team-id": "Team-ID",
|
||||
"label.team-member": "Team-Mitglied",
|
||||
"label.team-name": "Name des Teams",
|
||||
"label.team-owner": "Team-Eigentümer",
|
||||
"label.team-websites": "Team-Websites",
|
||||
"label.teams": "Teams",
|
||||
"label.theme": "Thema",
|
||||
"label.this-month": "Diesen Monat",
|
||||
@@ -150,61 +156,61 @@
|
||||
"label.title": "Titel",
|
||||
"label.today": "Heute",
|
||||
"label.toggle-charts": "Schaubilder umschalten",
|
||||
"label.total": "Total",
|
||||
"label.total-records": "Total records",
|
||||
"label.total": "Gesamt",
|
||||
"label.total-records": "Datensätze insgesamt",
|
||||
"label.tracking-code": "Tracking Code",
|
||||
"label.true": "True",
|
||||
"label.type": "Type",
|
||||
"label.unique": "Unique",
|
||||
"label.true": "Wahr",
|
||||
"label.type": "Typ",
|
||||
"label.unique": "Eindeutig",
|
||||
"label.unique-visitors": "Eindeutige Besucher",
|
||||
"label.unknown": "Unbekannt",
|
||||
"label.untitled": "Untitled",
|
||||
"label.untitled": "Unbenannt",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URLs",
|
||||
"label.user": "Benutzer",
|
||||
"label.username": "Benutzername",
|
||||
"label.users": "Benutzer",
|
||||
"label.value": "Value",
|
||||
"label.value": "Wert",
|
||||
"label.view": "Anzeigen",
|
||||
"label.view-details": "Details anzeigen",
|
||||
"label.view-only": "View only",
|
||||
"label.view-only": "Nur ansehen",
|
||||
"label.views": "Aufrufe",
|
||||
"label.visitors": "Besucher",
|
||||
"label.website": "Webseite",
|
||||
"label.website-id": "Webseite ID",
|
||||
"label.websites": "Webseiten",
|
||||
"label.window": "Window",
|
||||
"label.website": "Website",
|
||||
"label.website-id": "Website ID",
|
||||
"label.websites": "Websites",
|
||||
"label.window": "Fenster",
|
||||
"label.yesterday": "Gestern",
|
||||
"message.active-users": "{x} {x, plural, one {aktiver Besucher} other {aktive Besucher}}",
|
||||
"message.confirm-delete": "Sind Sie sich sicher, {target} zu löschen?",
|
||||
"message.confirm-leave": "Sind Sie sicher, dass die {target} verlassen möchten?",
|
||||
"message.confirm-reset": "Sind Sie sicher, dass Sie die Statistiken von {target} zurücksetzen wollen?",
|
||||
"message.delete-account": "To delete this account, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-website": "To delete this website, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-account": "Um dieses Konto zu löschen, geben Sie zur Bestätigung {confirmation} in das Feld unten ein.",
|
||||
"message.delete-website": "Um diese Website zu löschen, geben Sie zur Bestätigung {confirmation} in das Feld unten ein.",
|
||||
"message.delete-website-warning": "Alle zugehörigen Daten werden ebenfalls gelöscht.",
|
||||
"message.error": "Es ist ein Fehler aufgetreten.",
|
||||
"message.event-log": "{event} auf {url}",
|
||||
"message.go-to-settings": "Zu den Einstellungen",
|
||||
"message.incorrect-username-password": "Falsches Passwort oder Benutzername.",
|
||||
"message.invalid-domain": "Ungültige Domain",
|
||||
"message.min-password-length": "Minimale länge von {n} Zeichen",
|
||||
"message.new-version-available": "A new version of Umami {version} is available!",
|
||||
"message.min-password-length": "Minimale Länge von {n} Zeichen",
|
||||
"message.new-version-available": "Eine neue Version von Umami ist verfügbar: {version}",
|
||||
"message.no-data-available": "Keine Daten vorhanden.",
|
||||
"message.no-event-data": "No event data is available.",
|
||||
"message.no-event-data": "Es sind keine Ereignisdaten verfügbar.",
|
||||
"message.no-match-password": "Passwörter stimmen nicht überein",
|
||||
"message.no-results-found": "Keine Ergebnisse gefunden.",
|
||||
"message.no-team-websites": "Diesem Team sind keine Websites zugeordnet.",
|
||||
"message.no-teams": "Bisher wurden keine Teams erstellt.",
|
||||
"message.no-users": "Hier gibt es keine Benutzer.",
|
||||
"message.no-websites-configured": "Es ist keine Webseite vorhanden.",
|
||||
"message.no-websites-configured": "Es ist keine Website vorhanden.",
|
||||
"message.page-not-found": "Seite nicht gefunden.",
|
||||
"message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.",
|
||||
"message.reset-website-warning": "Alle Daten für diese Webseite werden gelöscht, jedoch bleibt der Tracking Code bestehen.",
|
||||
"message.reset-website": "Um diese Website zurückzusetzen, geben Sie zur Bestätigung {confirmation} in das Feld unten ein.",
|
||||
"message.reset-website-warning": "Alle Daten für diese Website werden gelöscht, jedoch bleibt der Tracking Code bestehen.",
|
||||
"message.saved": "Erfolgreich gespeichert.",
|
||||
"message.share-url": "Ihre Webseitenstatistik ist unter der folgenden URL öffentlich zugänglich:",
|
||||
"message.share-url": "Die Statistiken Ihrer Website sind unter folgender URL öffentlich zugänglich:",
|
||||
"message.team-already-member": "Sie sind bereits Mitglied des Teams.",
|
||||
"message.team-not-found": "Team nicht gefunden.",
|
||||
"message.team-websites-info": "Webseiten können von jedem im Team eingesehen werden.",
|
||||
"message.team-websites-info": "Websites können von jedem im Team eingesehen werden.",
|
||||
"message.tracking-code": "Tracking Code",
|
||||
"message.user-deleted": "Benutzer gelöscht.",
|
||||
"message.visitor-log": "Besucher aus {country} benutzt {browser} auf {os} {device}"
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Χώρες",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Σε συνδυασμό",
|
||||
"label.filter-raw": "Ακατέργαστο",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Επαναφορά",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Αποθήκευση",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Countries",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combined",
|
||||
"label.filter-raw": "Raw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reset",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Save",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Countries",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combined",
|
||||
"label.filter-raw": "Raw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reset",
|
||||
"label.reset-website": "Reset website",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Save",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continuar",
|
||||
"label.countries": "Países",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Crear reporte",
|
||||
"label.create-team": "Crear equipo",
|
||||
"label.create-user": "Crear usuario",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Campo",
|
||||
"label.fields": "Campos",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combinado",
|
||||
"label.filter-raw": "En crudo",
|
||||
"label.filters": "Filtros",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Mayor que",
|
||||
"label.greater-than-equals": "Mayor que o igual a",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Es igual a",
|
||||
"label.is-not": "No es igual a",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reiniciar",
|
||||
"label.reset-website": "Reiniciar estadísticas",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Rol",
|
||||
"label.run-query": "Ejecutar consulta",
|
||||
"label.save": "Guardar",
|
||||
"label.screens": "Pantallas",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Seleccionar fecha",
|
||||
"label.select-website": "Seleccionar sitio web",
|
||||
"label.sessions": "Sesiones",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continuar",
|
||||
"label.countries": "Países",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Crear equipo",
|
||||
"label.create-user": "Crear usuario",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combinado",
|
||||
"label.filter-raw": "Personalizado",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reiniciar",
|
||||
"label.reset-website": "Reiniciar estadísticas",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Rol",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Guardar",
|
||||
"label.screens": "Pantallas",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Seleccionar sitio web",
|
||||
"label.sessions": "Sesiones",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "کشورها",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "ترکیب شده",
|
||||
"label.filter-raw": "خام",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "بازنشانی",
|
||||
"label.reset-website": "بازنشانی آمار",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "ذخیره",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Maat",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Yhdistetty",
|
||||
"label.filter-raw": "Käsittelemätön",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Nollaa",
|
||||
"label.reset-website": "Nollaa tilastot",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Tallenna",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Lond",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Samansett",
|
||||
"label.filter-raw": "Óviðgjørt",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Nulstilla",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Goym",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -16,19 +16,20 @@
|
||||
"label.before": "Avant",
|
||||
"label.bounce-rate": "Taux de rebond",
|
||||
"label.breakdown": "Répartition",
|
||||
"label.browser": "Browser",
|
||||
"label.browser": "Navigateur",
|
||||
"label.browsers": "Navigateurs",
|
||||
"label.cancel": "Annuler",
|
||||
"label.change-password": "Changer le mot de passe",
|
||||
"label.cities": "Villes",
|
||||
"label.city": "City",
|
||||
"label.city": "Ville",
|
||||
"label.clear-all": "Réinitialiser",
|
||||
"label.confirm": "Confirmer",
|
||||
"label.confirm-password": "Confirmation du mot de passe",
|
||||
"label.contains": "Contient",
|
||||
"label.continue": "Continuer",
|
||||
"label.countries": "Pays",
|
||||
"label.country": "Country",
|
||||
"label.country": "Pays",
|
||||
"label.create": "Créer",
|
||||
"label.create-report": "Créer un rapport",
|
||||
"label.create-team": "Créer une équipe",
|
||||
"label.create-user": "Créer un utilisateur",
|
||||
@@ -39,7 +40,7 @@
|
||||
"label.data": "Données",
|
||||
"label.date": "Date",
|
||||
"label.date-range": "Période",
|
||||
"label.day": "Day",
|
||||
"label.day": "Jour",
|
||||
"label.default-date-range": "Période par défaut",
|
||||
"label.delete": "Supprimer",
|
||||
"label.delete-team": "Supprimer l'équipe",
|
||||
@@ -48,32 +49,35 @@
|
||||
"label.description": "Description",
|
||||
"label.desktop": "Ordinateur",
|
||||
"label.details": "Détails",
|
||||
"label.device": "Device",
|
||||
"label.device": "Appareil",
|
||||
"label.devices": "Appareils",
|
||||
"label.dismiss": "Ignorer",
|
||||
"label.does-not-contain": "Ne contient pas",
|
||||
"label.domain": "Domaine",
|
||||
"label.dropoff": "Dropoff",
|
||||
"label.dropoff": "Abandons",
|
||||
"label.edit": "Modifier",
|
||||
"label.edit-dashboard": "Modifier le tableau de bord",
|
||||
"label.enable-share-url": "Activer l'URL de partage",
|
||||
"label.event": "Event",
|
||||
"label.event-data": "Données d'événements",
|
||||
"label.events": "Événements",
|
||||
"label.event": "Évènement",
|
||||
"label.event-data": "Données d'évènements",
|
||||
"label.events": "Évènements",
|
||||
"label.false": "Faux",
|
||||
"label.field": "Champ",
|
||||
"label.fields": "Champs",
|
||||
"label.filter": "Filtrer",
|
||||
"label.filter-combined": "Combiné",
|
||||
"label.filter-raw": "Brut",
|
||||
"label.filters": "Filtres",
|
||||
"label.funnel": "Entonnoir",
|
||||
"label.funnel-description": "Suivi des conversions et des taux d'abandons.",
|
||||
"label.greater-than": "Supérieur à",
|
||||
"label.greater-than-equals": "Supérieur ou égal à",
|
||||
"label.insights": "Insights",
|
||||
"label.is": "Est égal",
|
||||
"label.is-not": "N'est pas égal",
|
||||
"label.is-not-set": "Is not set",
|
||||
"label.is-set": "Is set",
|
||||
"label.insights-description": "Analyse précise des données en utilisant des segments et des filtres.",
|
||||
"label.is": "Est",
|
||||
"label.is-not": "N'est pas",
|
||||
"label.is-not-set": "N'est pas défini",
|
||||
"label.is-set": "Est défini",
|
||||
"label.join": "Rejoindre",
|
||||
"label.join-team": "Rejoindre une équipe",
|
||||
"label.language": "Langue",
|
||||
@@ -92,40 +96,42 @@
|
||||
"label.min": "Min",
|
||||
"label.mobile": "Téléphone",
|
||||
"label.more": "Plus",
|
||||
"label.my-websites": "My websites",
|
||||
"label.my-websites": "Mes sites",
|
||||
"label.name": "Nom",
|
||||
"label.new-password": "Nouveau mot de passe",
|
||||
"label.none": "Aucun·e",
|
||||
"label.os": "OS",
|
||||
"label.overview": "Vue d'ensemble",
|
||||
"label.owner": "Propriétaire",
|
||||
"label.page-of": "Page {current} of {total}",
|
||||
"label.page-of": "Page {current} sur {total}",
|
||||
"label.page-views": "Pages vues",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.pageTitle": "Titre de page",
|
||||
"label.pages": "Pages",
|
||||
"label.password": "Mot de passe",
|
||||
"label.powered-by": "Propulsé par {name}",
|
||||
"label.profile": "Profil",
|
||||
"label.queries": "Requêtes",
|
||||
"label.query": "Requête",
|
||||
"label.query-parameters": "Paramètres d'URL",
|
||||
"label.query-parameters": "Paramètres de requête",
|
||||
"label.realtime": "Temps réel",
|
||||
"label.referrer": "Referrer",
|
||||
"label.referrer": "Site référent",
|
||||
"label.referrers": "Sites référents",
|
||||
"label.refresh": "Rafraîchir",
|
||||
"label.regenerate": "Régénérer",
|
||||
"label.region": "Region",
|
||||
"label.region": "Région",
|
||||
"label.regions": "Régions",
|
||||
"label.remove": "Retirer",
|
||||
"label.reports": "Rapports",
|
||||
"label.required": "Requis",
|
||||
"label.reset": "Réinitialiser",
|
||||
"label.reset-website": "Réinitialiser les statistiques",
|
||||
"label.retention": "Retention",
|
||||
"label.retention": "Rétention",
|
||||
"label.retention-description": "Mesure de l'atractivité du site en visualisant les taux d'utilisateurs qui reviennent.",
|
||||
"label.role": "Rôle",
|
||||
"label.run-query": "Éxécuter la requête",
|
||||
"label.save": "Enregistrer",
|
||||
"label.screens": "Résolutions d'écran",
|
||||
"label.search": "Rechercher",
|
||||
"label.select-date": "Choisir une période",
|
||||
"label.select-website": "Choisir un site",
|
||||
"label.sessions": "Sessions",
|
||||
@@ -138,9 +144,9 @@
|
||||
"label.team-guest": "Invité dans l'équipe",
|
||||
"label.team-id": "ID d'équipe",
|
||||
"label.team-member": "Membre de l'équipe",
|
||||
"label.team-name": "Team name",
|
||||
"label.team-name": "Nom de l'équipe",
|
||||
"label.team-owner": "Propriétaire de l'équipe",
|
||||
"label.team-websites": "Team websites",
|
||||
"label.team-websites": "Sites d'équipes",
|
||||
"label.teams": "Équipes",
|
||||
"label.theme": "Thème",
|
||||
"label.this-month": "Ce mois",
|
||||
@@ -170,7 +176,7 @@
|
||||
"label.view-only": "Consultation",
|
||||
"label.views": "Vues",
|
||||
"label.visitors": "Visiteurs",
|
||||
"label.website": "Website",
|
||||
"label.website": "Site",
|
||||
"label.website-id": "ID de site",
|
||||
"label.websites": "Sites",
|
||||
"label.window": "Fenêtre",
|
||||
@@ -188,7 +194,7 @@
|
||||
"message.incorrect-username-password": "Nom d'utilisateur/Mot de passe incorrect.",
|
||||
"message.invalid-domain": "Domaine invalide",
|
||||
"message.min-password-length": "Taille minimale de {n} caractères",
|
||||
"message.new-version-available": "A new version of Umami {version} is available!",
|
||||
"message.new-version-available": "Une nouvelle version d'Umami {version} est disponible !",
|
||||
"message.no-data-available": "Aucune donnée disponible.",
|
||||
"message.no-event-data": "Aucune donnée d'événement disponible.",
|
||||
"message.no-match-password": "Les mots de passe ne correspondent pas",
|
||||
@@ -200,7 +206,7 @@
|
||||
"message.page-not-found": "Page non trouvée.",
|
||||
"message.reset-website": "Pour réinitialiser ce site, taper {confirmation} ci-dessous pour confirmer.",
|
||||
"message.reset-website-warning": "Toutes les statistiques pour ce site seront supprimées, mais votre code de suivi restera intact.",
|
||||
"message.saved": "Enregistré avec succès.",
|
||||
"message.saved": "Enregistré.",
|
||||
"message.share-url": "Les statistiques de votre site sont accessibles publiquement sur cette URL :",
|
||||
"message.team-already-member": "Vous êtes déjà membre de cette équipe.",
|
||||
"message.team-not-found": "Équipe non trouvée.",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Países",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combinado",
|
||||
"label.filter-raw": "Raw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Restablecer",
|
||||
"label.reset-website": "To reset this website, type {confirmation} in the box below to confirm.",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Gardar",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "מדינות",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "משותף",
|
||||
"label.filter-raw": "גולמי",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "איפוס",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "שמירה",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "देश",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "संयुक्त",
|
||||
"label.filter-raw": "रॉ",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "रीसेट",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "सहेजें",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Countries",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combined",
|
||||
"label.filter-raw": "Raw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Resetirati",
|
||||
"label.reset-website": "Resetirati web stranicu",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Spremi",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Országok",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Összevont",
|
||||
"label.filter-raw": "Nyers",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Visszaállítás",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Mentés",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Negara",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Gabungan",
|
||||
"label.filter-raw": "Mentah",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Atur ulang",
|
||||
"label.reset-website": "Atur ulang statistik",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Simpan",
|
||||
"label.screens": "Layar",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Nazioni",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Aggregati",
|
||||
"label.filter-raw": "Raw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reset",
|
||||
"label.reset-website": "Resetta le statistiche",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Salva",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -1,211 +1,217 @@
|
||||
{
|
||||
"label.access-code": "Access code",
|
||||
"label.access-code": "アクセスコード",
|
||||
"label.actions": "アクション",
|
||||
"label.activity-log": "Activity log",
|
||||
"label.add": "Add",
|
||||
"label.add-description": "Add description",
|
||||
"label.activity-log": "アクティビティログ",
|
||||
"label.add": "追加",
|
||||
"label.add-description": "説明を追加",
|
||||
"label.add-website": "Webサイトの追加",
|
||||
"label.admin": "管理者",
|
||||
"label.after": "After",
|
||||
"label.all": "すべて表示",
|
||||
"label.all-time": "All time",
|
||||
"label.analytics": "Analytics",
|
||||
"label.average": "Average",
|
||||
"label.after": "直後",
|
||||
"label.all": "すべて",
|
||||
"label.all-time": "すべての時間帯",
|
||||
"label.analytics": "アナリティクス",
|
||||
"label.average": "平均",
|
||||
"label.average-visit-time": "平均滞在時間",
|
||||
"label.back": "戻る",
|
||||
"label.before": "Before",
|
||||
"label.before": "直前",
|
||||
"label.bounce-rate": "直帰率",
|
||||
"label.breakdown": "Breakdown",
|
||||
"label.browser": "Browser",
|
||||
"label.breakdown": "故障",
|
||||
"label.browser": "ブラウザ",
|
||||
"label.browsers": "ブラウザ",
|
||||
"label.cancel": "キャンセル",
|
||||
"label.change-password": "パスワード変更",
|
||||
"label.cities": "Cities",
|
||||
"label.city": "City",
|
||||
"label.clear-all": "Clear all",
|
||||
"label.confirm": "Confirm",
|
||||
"label.confirm-password": "パスワード(確認)",
|
||||
"label.contains": "Contains",
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "国",
|
||||
"label.country": "Country",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
"label.created": "Created",
|
||||
"label.change-password": "パスワードの変更",
|
||||
"label.cities": "都市",
|
||||
"label.city": "都市",
|
||||
"label.clear-all": "すべてクリア",
|
||||
"label.confirm": "確認",
|
||||
"label.confirm-password": "パスワード(確認)",
|
||||
"label.contains": "コンテンツ",
|
||||
"label.continue": "続ける",
|
||||
"label.countries": "国名",
|
||||
"label.country": "国",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "レポートの作成",
|
||||
"label.create-team": "チームの作成",
|
||||
"label.create-user": "ユーザーの作成",
|
||||
"label.created": "作成されました",
|
||||
"label.current-password": "現在のパスワード",
|
||||
"label.custom-range": "期間を指定する",
|
||||
"label.custom-range": "範囲指定",
|
||||
"label.dashboard": "ダッシュボード",
|
||||
"label.data": "Data",
|
||||
"label.date": "Date",
|
||||
"label.date-range": "範囲指定",
|
||||
"label.day": "Day",
|
||||
"label.default-date-range": "最初に表示する期間",
|
||||
"label.data": "データ",
|
||||
"label.date": "日付",
|
||||
"label.date-range": "期間",
|
||||
"label.day": "日",
|
||||
"label.default-date-range": "デフォルトの期間",
|
||||
"label.delete": "削除",
|
||||
"label.delete-team": "Delete team",
|
||||
"label.delete-user": "Delete user",
|
||||
"label.delete-team": "チームの削除",
|
||||
"label.delete-user": "ユーザーの削除",
|
||||
"label.delete-website": "Webサイトの削除",
|
||||
"label.description": "Description",
|
||||
"label.description": "説明",
|
||||
"label.desktop": "デスクトップ",
|
||||
"label.details": "Details",
|
||||
"label.device": "Device",
|
||||
"label.details": "詳細情報",
|
||||
"label.device": "デバイス",
|
||||
"label.devices": "デバイス",
|
||||
"label.dismiss": "無視する",
|
||||
"label.does-not-contain": "Does not contain",
|
||||
"label.dismiss": "却下",
|
||||
"label.does-not-contain": "を含まない",
|
||||
"label.domain": "ドメイン",
|
||||
"label.dropoff": "Dropoff",
|
||||
"label.dropoff": "切り捨て",
|
||||
"label.edit": "編集",
|
||||
"label.edit-dashboard": "Edit dashboard",
|
||||
"label.enable-share-url": "共有リンクを有効にする",
|
||||
"label.event": "Event",
|
||||
"label.event-data": "Event data",
|
||||
"label.edit-dashboard": "ダッシュボードの編集",
|
||||
"label.enable-share-url": "共有URLを有効にする",
|
||||
"label.event": "イベント",
|
||||
"label.event-data": "イベントデータ",
|
||||
"label.events": "イベント",
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter-combined": "パスまで",
|
||||
"label.filter-raw": "すべて表示",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
"label.is-set": "Is set",
|
||||
"label.join": "Join",
|
||||
"label.join-team": "Join team",
|
||||
"label.language": "Language",
|
||||
"label.languages": "Languages",
|
||||
"label.false": "偽",
|
||||
"label.field": "フィールド",
|
||||
"label.fields": "フィールド",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "統合",
|
||||
"label.filter-raw": "RAW",
|
||||
"label.filters": "フィルター",
|
||||
"label.funnel": "分析",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "超過",
|
||||
"label.greater-than-equals": "以上",
|
||||
"label.insights": "見通し",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "に等しい",
|
||||
"label.is-not": "に等しくない",
|
||||
"label.is-not-set": "未設定",
|
||||
"label.is-set": "設定済み",
|
||||
"label.join": "参加",
|
||||
"label.join-team": "チームに参加",
|
||||
"label.language": "言語",
|
||||
"label.languages": "言語",
|
||||
"label.laptop": "ノートPC",
|
||||
"label.last-days": "過去{x}日間",
|
||||
"label.last-hours": "過去{x}時間",
|
||||
"label.leave": "Leave",
|
||||
"label.leave-team": "Leave team",
|
||||
"label.less-than": "Less than",
|
||||
"label.less-than-equals": "Less than or equals",
|
||||
"label.leave": "離脱",
|
||||
"label.leave-team": "チームを離脱",
|
||||
"label.less-than": "未満",
|
||||
"label.less-than-equals": "以下",
|
||||
"label.login": "ログイン",
|
||||
"label.logout": "ログアウト",
|
||||
"label.max": "Max",
|
||||
"label.members": "Members",
|
||||
"label.min": "Min",
|
||||
"label.max": "最大",
|
||||
"label.members": "メンバー",
|
||||
"label.min": "最小",
|
||||
"label.mobile": "携帯電話",
|
||||
"label.more": "さらに表示",
|
||||
"label.my-websites": "My websites",
|
||||
"label.more": "もっと見る",
|
||||
"label.my-websites": "マイWebサイト",
|
||||
"label.name": "名前",
|
||||
"label.new-password": "新しいパスワード",
|
||||
"label.none": "None",
|
||||
"label.none": "なし",
|
||||
"label.os": "OS",
|
||||
"label.overview": "Overview",
|
||||
"label.owner": "Owner",
|
||||
"label.page-of": "Page {current} of {total}",
|
||||
"label.overview": "概要",
|
||||
"label.owner": "所有者",
|
||||
"label.page-of": "ページ {current}/{total}",
|
||||
"label.page-views": "閲覧数",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.pageTitle": "ページタイトル",
|
||||
"label.pages": "ページ",
|
||||
"label.password": "パスワード",
|
||||
"label.powered-by": "このシステムは {name} で実行されています。",
|
||||
"label.profile": "プロファイル",
|
||||
"label.queries": "Queries",
|
||||
"label.query": "Query",
|
||||
"label.query-parameters": "Query parameters",
|
||||
"label.powered-by": "Powered by {name}",
|
||||
"label.profile": "プロフィール",
|
||||
"label.queries": "クエリ",
|
||||
"label.query": "クエリ",
|
||||
"label.query-parameters": "クエリパラメーター",
|
||||
"label.realtime": "リアルタイム",
|
||||
"label.referrer": "Referrer",
|
||||
"label.referrer": "リファラー",
|
||||
"label.referrers": "リファラー",
|
||||
"label.refresh": "更新",
|
||||
"label.regenerate": "Regenerate",
|
||||
"label.region": "Region",
|
||||
"label.regions": "Regions",
|
||||
"label.remove": "Remove",
|
||||
"label.reports": "Reports",
|
||||
"label.regenerate": "再生成",
|
||||
"label.region": "地域",
|
||||
"label.regions": "地域",
|
||||
"label.remove": "削除",
|
||||
"label.reports": "レポート",
|
||||
"label.required": "必須",
|
||||
"label.reset": "リセット",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.reset-website": "Webサイトをリセットする",
|
||||
"label.retention": "保持",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "ロール",
|
||||
"label.run-query": "クエリ実行",
|
||||
"label.save": "保存",
|
||||
"label.screens": "Screens",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
"label.screens": "画面サイズ",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "日付を選択",
|
||||
"label.select-website": "Webサイトを選択",
|
||||
"label.sessions": "セッション",
|
||||
"label.settings": "設定",
|
||||
"label.share-url": "共有リンク",
|
||||
"label.single-day": "一日のみ",
|
||||
"label.sum": "Sum",
|
||||
"label.share-url": "共有URL",
|
||||
"label.single-day": "一日",
|
||||
"label.sum": "合計",
|
||||
"label.tablet": "タブレット",
|
||||
"label.team": "Team",
|
||||
"label.team-guest": "Team guest",
|
||||
"label.team-id": "Team ID",
|
||||
"label.team-member": "Team member",
|
||||
"label.team-name": "Team name",
|
||||
"label.team-owner": "Team owner",
|
||||
"label.team-websites": "Team websites",
|
||||
"label.teams": "Teams",
|
||||
"label.theme": "Theme",
|
||||
"label.team": "チーム",
|
||||
"label.team-guest": "チームゲスト",
|
||||
"label.team-id": "チームID",
|
||||
"label.team-member": "チームメンバー",
|
||||
"label.team-name": "チーム名",
|
||||
"label.team-owner": "チーム所有者",
|
||||
"label.team-websites": "チームのWebサイト",
|
||||
"label.teams": "チーム",
|
||||
"label.theme": "テーマ",
|
||||
"label.this-month": "今月",
|
||||
"label.this-week": "今週",
|
||||
"label.this-year": "今年",
|
||||
"label.timezone": "タイムゾーン",
|
||||
"label.title": "Title",
|
||||
"label.title": "タイトル",
|
||||
"label.today": "今日",
|
||||
"label.toggle-charts": "Toggle charts",
|
||||
"label.total": "Total",
|
||||
"label.total-records": "Total records",
|
||||
"label.toggle-charts": "グラフを切り替える",
|
||||
"label.total": "累計",
|
||||
"label.total-records": "総記録数",
|
||||
"label.tracking-code": "トラッキングコード",
|
||||
"label.true": "True",
|
||||
"label.type": "Type",
|
||||
"label.unique": "Unique",
|
||||
"label.true": "真",
|
||||
"label.type": "種別",
|
||||
"label.unique": "ユニーク",
|
||||
"label.unique-visitors": "ユニーク訪問者数",
|
||||
"label.unknown": "不明",
|
||||
"label.untitled": "Untitled",
|
||||
"label.untitled": "無題",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URLs",
|
||||
"label.user": "User",
|
||||
"label.urls": "URL",
|
||||
"label.user": "ユーザー",
|
||||
"label.username": "ユーザー名",
|
||||
"label.users": "Users",
|
||||
"label.value": "Value",
|
||||
"label.view": "View",
|
||||
"label.view-details": "詳細を見る",
|
||||
"label.view-only": "View only",
|
||||
"label.views": "閲覧数",
|
||||
"label.visitors": "訪問者数",
|
||||
"label.website": "Website",
|
||||
"label.website-id": "Website ID",
|
||||
"label.users": "ユーザー",
|
||||
"label.value": "値",
|
||||
"label.view": "表示",
|
||||
"label.view-details": "詳細を表示",
|
||||
"label.view-only": "表示のみ",
|
||||
"label.views": "表示",
|
||||
"label.visitors": "訪問者",
|
||||
"label.website": "Webサイト",
|
||||
"label.website-id": "WebサイトID",
|
||||
"label.websites": "Webサイト",
|
||||
"label.window": "Window",
|
||||
"label.yesterday": "Yesterday",
|
||||
"message.active-users": "{x}人が閲覧中です。",
|
||||
"label.window": "ウィンドウ",
|
||||
"label.yesterday": "昨日",
|
||||
"message.active-users": "{x} {x, plural, one {アクティブな訪問者} other {アクティブな訪問者}}",
|
||||
"message.confirm-delete": "{target}を削除してもよろしいですか?",
|
||||
"message.confirm-leave": "Are you sure you want to leave {target}?",
|
||||
"message.confirm-reset": "Are your sure you want to reset {target}'s statistics?",
|
||||
"message.delete-account": "To delete this account, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-website": "To delete this website, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-website-warning": "関連するすべてのデータも削除されます。",
|
||||
"message.error": "問題が発生しました。",
|
||||
"message.event-log": "{event} on {url}",
|
||||
"message.go-to-settings": "設定する",
|
||||
"message.incorrect-username-password": "ユーザー名/パスワードが正しくありません。",
|
||||
"message.invalid-domain": "無効なドメイン",
|
||||
"message.min-password-length": "Minimum length of {n} characters",
|
||||
"message.new-version-available": "A new version of Umami {version} is available!",
|
||||
"message.confirm-leave": "{target}から離脱してもよろしいですか?",
|
||||
"message.confirm-reset": "{target}をリセットしてもよろしいですか?",
|
||||
"message.delete-account": "このアカウントを削除するには、下のフォームに「{confirmation}」と入力してください。",
|
||||
"message.delete-website": "このWebサイトを削除するには、下のフォームに「{confirmation}」と入力してください。",
|
||||
"message.delete-website-warning": "Webサイトのデータがすべて削除されます。",
|
||||
"message.error": "未知のエラーが発生しました。",
|
||||
"message.event-log": "{url}の{event}",
|
||||
"message.go-to-settings": "設定に移動する",
|
||||
"message.incorrect-username-password": "ユーザー名またはパスワードが間違っています。",
|
||||
"message.invalid-domain": "無効なドメインです。http/httpsを含めないでください。",
|
||||
"message.min-password-length": "最小文字数は{n}文字です",
|
||||
"message.new-version-available": "Umamiの新しいバージョン{version}が利用可能です!",
|
||||
"message.no-data-available": "データがありません。",
|
||||
"message.no-event-data": "No event data is available.",
|
||||
"message.no-match-password": "パスワードが一致しません",
|
||||
"message.no-results-found": "No results were found.",
|
||||
"message.no-team-websites": "This team does not have any websites.",
|
||||
"message.no-teams": "You have not created any teams.",
|
||||
"message.no-users": "There are no users.",
|
||||
"message.no-event-data": "イベントデータがありません。",
|
||||
"message.no-match-password": "パスワードが一致しません。",
|
||||
"message.no-results-found": "結果が見つかりません。",
|
||||
"message.no-team-websites": "このチームにはWebサイトがありません。",
|
||||
"message.no-teams": "チームを作成していません。",
|
||||
"message.no-users": "ユーザーが存在しません。",
|
||||
"message.no-websites-configured": "Webサイトが設定されていません。",
|
||||
"message.page-not-found": "ページが見つかりません。",
|
||||
"message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.",
|
||||
"message.reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.",
|
||||
"message.saved": "正常に保存されました。",
|
||||
"message.share-url": "これは{target}の共有リンクです。",
|
||||
"message.team-already-member": "You are already a member of the team.",
|
||||
"message.team-not-found": "Team not found.",
|
||||
"message.team-websites-info": "Websites can be viewed by anyone on the team.",
|
||||
"message.tracking-code": "トラッキングコード",
|
||||
"message.user-deleted": "User deleted.",
|
||||
"message.visitor-log": "{os}({device})で{browser}を使用している{country}からの訪問者"
|
||||
"message.page-not-found": "ページが見つかりません",
|
||||
"message.reset-website": "このWebサイトをリセットするには、下のフォームに「{confirmation}」と入力してください。",
|
||||
"message.reset-website-warning": "このWebサイトの統計情報はすべて削除されますが、設定はそのまま残ります。",
|
||||
"message.saved": "保存されました。",
|
||||
"message.share-url": "あなたのWebサイトの統計情報は次のURLで公開されています:",
|
||||
"message.team-already-member": "あなたはすでにチームのメンバーです。",
|
||||
"message.team-not-found": "チームが見つかりません。",
|
||||
"message.team-websites-info": "Webサイトはチーム内の誰でも見ることができます。",
|
||||
"message.tracking-code": "このWebサイトの統計情報を追跡するには、HTMLの<head>...</head>セクションに以下のコードを記述します。",
|
||||
"message.user-deleted": "ユーザーが削除されました。",
|
||||
"message.visitor-log": "{os}({device})で{browser}を使用している{country}からの訪問者"
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "ប្រទេស",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "រួមបញ្ចូលគ្នា",
|
||||
"label.filter-raw": "ដើម",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "កំណត់ឡើងវិញ",
|
||||
"label.reset-website": "កំណត់ស្ថិតិឡើងវិញ",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "រក្សាទុក",
|
||||
"label.screens": "ប្រភេទឧបករណ៍",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "국가",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "합쳐서 보기",
|
||||
"label.filter-raw": "전체 보기",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "리셋",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "저장",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Šalys",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombinuoti",
|
||||
"label.filter-raw": "Neapdoroti",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Atstatyti",
|
||||
"label.reset-website": "Atstatyti statistikos duomenis",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Išsaugoti",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Үргэлжлүүлэх",
|
||||
"label.countries": "Улс",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Баг үүсгэх",
|
||||
"label.create-user": "Хэрэглэгч үүсгэх",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Нэгтгэсэн",
|
||||
"label.filter-raw": "Түүхий",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Дахин эхлүүлэх",
|
||||
"label.reset-website": "Тоон үзүүлэлтийг дахин эхлүүлэх",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Эрх",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Хадгалах",
|
||||
"label.screens": "Дэлгэц",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Веб сонгох",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Negara",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Digabungkan",
|
||||
"label.filter-raw": "Mentah",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Tetapkan semula",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Simpan",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -6,21 +6,31 @@
|
||||
"label.add-description": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်",
|
||||
"label.add-website": "ဝက်ဘ်ဆိုဒ်ထည့်မည်",
|
||||
"label.admin": "အက်ဒမင်",
|
||||
"label.after": "ပြီးနောက်",
|
||||
"label.all": "အားလုံး",
|
||||
"label.all-time": "အချိန်အစမှအခုထိ",
|
||||
"label.analytics": "အန်နလစ်တစ်",
|
||||
"label.average": "ပျမ်းမျှ",
|
||||
"label.average-visit-time": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်",
|
||||
"label.back": "နောက်သို့",
|
||||
"label.before": "မတိုင်မီ",
|
||||
"label.bounce-rate": "Bounce နှုန်း",
|
||||
"label.breakdown": "ခွဲခြမ်းစိတ်ဖြာမှု",
|
||||
"label.browser": "Browser",
|
||||
"label.browsers": "ဝက်ဘ်ဘရောင်ဇာများ",
|
||||
"label.cancel": "မလုပ်တော့ပါ",
|
||||
"label.change-password": "စကားဝှက် ပြောင်းမည်",
|
||||
"label.cities": "မြို့များ",
|
||||
"label.city": "City",
|
||||
"label.clear-all": "အားလုံးကိုဖျက်မည်",
|
||||
"label.confirm": "အတည်ပြုသည်",
|
||||
"label.confirm-password": "စကားဝှက်အတည်ပြုသည်",
|
||||
"label.contains": "ပါဝင်သည်",
|
||||
"label.continue": "ဆက်သွားမည်",
|
||||
"label.countries": "နိုင်ငံများ",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "ရီပို့လုပ်မည်",
|
||||
"label.create-team": "Team ပြုလုပ်မည်",
|
||||
"label.create-user": "အသုံးပြုသူထည့်မည်",
|
||||
"label.created": "ပြုလုပ်ပြီးသော",
|
||||
@@ -28,16 +38,21 @@
|
||||
"label.custom-range": "အချိန်အပိုင်းအခြားရွေးရန်",
|
||||
"label.dashboard": "ဒက်ရှ်ဘုတ်",
|
||||
"label.data": "ဒေတာ",
|
||||
"label.date": "Date",
|
||||
"label.date-range": "ရက်အပိုင်းအခြား",
|
||||
"label.day": "Day",
|
||||
"label.default-date-range": "ပုံသေ ရက်အပိုင်းအခြား",
|
||||
"label.delete": "ဖျက်မည်",
|
||||
"label.delete-team": "Team ကိုဖျက်မည်",
|
||||
"label.delete-user": "အသုံးပြုသူကိုဖျက်မည်",
|
||||
"label.delete-website": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်",
|
||||
"label.description": "ရှင်းပြချက်",
|
||||
"label.desktop": "စားပွဲတင်ကွန်ပျူတာ",
|
||||
"label.details": "အသေးစိတ်",
|
||||
"label.device": "Device",
|
||||
"label.devices": "အသုံးပြုသည့် ကိရိယာများ",
|
||||
"label.dismiss": "ပိတ်ပါ",
|
||||
"label.does-not-contain": "မပါဝင်ပါ",
|
||||
"label.domain": "ဒိုမိန်း",
|
||||
"label.dropoff": "Dropoff",
|
||||
"label.edit": "ပြုပြင်မည်",
|
||||
@@ -46,12 +61,23 @@
|
||||
"label.event": "အဖြစ်အပျက်",
|
||||
"label.event-data": "အဖြစ်အပျက် ဒေတာ",
|
||||
"label.events": "အဖြစ်အပျက်များ",
|
||||
"label.false": "မှားသည်",
|
||||
"label.field": "Field အမည်",
|
||||
"label.fields": "Field အမည်များ",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "ပေါင်းစပ်ပြီး",
|
||||
"label.filter-raw": "အရှိအတိုင်း",
|
||||
"label.filters": "Filter များ",
|
||||
"label.funnel": "ဖန်နယ်",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "ထက်ပို၍ကြီးသည်",
|
||||
"label.greater-than-equals": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်",
|
||||
"label.insights": "အသေးစိတ်သိမြင်နိုင်ရန်",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
"label.is-set": "Is set",
|
||||
"label.join": "ဝင်မည်",
|
||||
"label.join-team": "အသင်းဝင်မည်",
|
||||
"label.language": "ဘာသာစကား",
|
||||
@@ -61,17 +87,25 @@
|
||||
"label.last-hours": "လွန်ခဲ့သော {x} နာရီက",
|
||||
"label.leave": "ထွက်မည်",
|
||||
"label.leave-team": "အသင်းမှထွက်မည်",
|
||||
"label.less-than": "ထက်ပို၍ငယ်သည်",
|
||||
"label.less-than-equals": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်",
|
||||
"label.login": "လော့ဂ်အင်",
|
||||
"label.logout": "လော့ဂ်အောက်လုပ်မည်",
|
||||
"label.max": "အများဆုံး",
|
||||
"label.members": "အဖွဲ့ဝင်များ",
|
||||
"label.min": "အနည်းဆုံး",
|
||||
"label.mobile": "မိုဘိုင်း",
|
||||
"label.more": "နောက်ထပ်",
|
||||
"label.my-websites": "My websites",
|
||||
"label.name": "အမည်",
|
||||
"label.new-password": "စကားဝှက်အသစ်",
|
||||
"label.none": "မရှိပါ",
|
||||
"label.operating-systems": "ကွန်ပျူတာလည်ပတ်မှုစနစ်",
|
||||
"label.os": "ကွန်ပျူတာလည်ပတ်မှုစနစ်",
|
||||
"label.overview": "အပေါ်ယံမြင်ကွင်း",
|
||||
"label.owner": "ပိုင်ဆိုင်သူ",
|
||||
"label.page-of": "Page {current} of {total}",
|
||||
"label.page-views": "ဝင်ရောက်ကြည့်ရှုသူ",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.pages": "စာမျက်နှာများ",
|
||||
"label.password": "စကားဝှက်",
|
||||
"label.powered-by": "{name} ထောက်ပံ့သည်",
|
||||
@@ -80,31 +114,39 @@
|
||||
"label.query": "Query (ကွာရီ)",
|
||||
"label.query-parameters": "Query parameters (ကွာရီပါရာမီတာများ)",
|
||||
"label.realtime": "အချိန်နှင့်တပြေးညီ",
|
||||
"label.referrer": "Referrer",
|
||||
"label.referrers": "ရည်ညွှန်းမှုများ",
|
||||
"label.refresh": "Refresh လုပ်မည်",
|
||||
"label.regenerate": "ပြန်ထုတ်မည်",
|
||||
"label.region": "Region",
|
||||
"label.regions": "ဒေသများ",
|
||||
"label.remove": "ဖျက်မည်",
|
||||
"label.reports": "တင်ပြမှုများ",
|
||||
"label.required": "လိုအပ်သည်",
|
||||
"label.reset": "ပြန်စမည်",
|
||||
"label.reset-website": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "အခန်းကဏ္ဍ",
|
||||
"label.run-query": "Query ကိုလုပ်ဆောင်မည်",
|
||||
"label.save": "သိမ်းဆည်းမည်",
|
||||
"label.screens": "မြင်ကွင်းများ",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "ရက်ရွေးပါ",
|
||||
"label.select-website": "ဝဘက်ဘ်ဆိုဒ်ရွေးပါ",
|
||||
"label.sessions": "ဆက်ရှင်များ",
|
||||
"label.settings": "ဆက်တင်များ",
|
||||
"label.share-url": "URL ကိုရှဲမည်",
|
||||
"label.single-day": "တစ်ရက်အတွင်း",
|
||||
"label.sum": "ပေါင်းလဒ်",
|
||||
"label.tablet": "တက်ဘလက်",
|
||||
"label.team": "အသင်း",
|
||||
"label.team-guest": "အသင်း ဧည့်သည်",
|
||||
"label.team-id": "အသင်း အိုင်ဒီ",
|
||||
"label.team-member": "အသင်းဝင်",
|
||||
"label.team-name": "Team name",
|
||||
"label.team-owner": "အသင်းကိုပိုင်ဆိုင်သူ",
|
||||
"label.team-websites": "Team websites",
|
||||
"label.teams": "အသင်းများ",
|
||||
"label.theme": "Theme (အပြင်အဆင်)",
|
||||
"label.this-month": "ယခုလ",
|
||||
@@ -114,14 +156,21 @@
|
||||
"label.title": "ခေါင်းစဥ်",
|
||||
"label.today": "ယနေ့",
|
||||
"label.toggle-charts": "ဇယားများကို အဖွင့်အပိတ်လုပ်မည်",
|
||||
"label.total": "စုစုပေါင်း",
|
||||
"label.total-records": "မှတ်တမ်းစုစုပေါင်း",
|
||||
"label.tracking-code": "ထရက်လုပ်သည့် ကုဒ်",
|
||||
"label.true": "မှန်သည်",
|
||||
"label.type": "အမျိုးအစား",
|
||||
"label.unique": "Unique",
|
||||
"label.unique-visitors": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)",
|
||||
"label.unknown": "မသိသော",
|
||||
"label.untitled": "ခေါင်းစဉ်မရှိ",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URL များ",
|
||||
"label.user": "အသုံးပြုသူ",
|
||||
"label.username": "အသုံးပြုသူအမည်",
|
||||
"label.users": "အသုံးပြုသူများ",
|
||||
"label.value": "တန်ဖိုး",
|
||||
"label.view": "ဝင်ရောက်ကြည့်ရှုမှု",
|
||||
"label.view-details": "အသေးစိတ်ကို ကြည့်ရှုမည်",
|
||||
"label.view-only": "ဝင်ရောက်ကြည့်ရှုမှုများသာ",
|
||||
@@ -132,33 +181,6 @@
|
||||
"label.websites": "ဝက်ဘ်ဆိုဒ်များ",
|
||||
"label.window": "ဝင်းဒိုး",
|
||||
"label.yesterday": "မနေ့က",
|
||||
"labels.after": "ပြီးနောက်",
|
||||
"labels.average": "ပျမ်းမျှ",
|
||||
"labels.before": "မတိုင်မီ",
|
||||
"labels.breakdown": "ခွဲခြမ်းစိတ်ဖြာမှု",
|
||||
"labels.contains": "ပါဝင်သည်",
|
||||
"labels.create-report": "ရီပို့လုပ်မည်",
|
||||
"labels.description": "ရှင်းပြချက်",
|
||||
"labels.does-not-contain": "မပါဝင်ပါ",
|
||||
"labels.does-not-equal": "မတူညီပါ",
|
||||
"labels.equals": "တူညီသည်",
|
||||
"labels.false": "မှားသည်",
|
||||
"labels.filters": "Filter များ",
|
||||
"labels.greater-than": "ထက်ပို၍ကြီးသည်",
|
||||
"labels.greater-than-equals": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်",
|
||||
"labels.less-than": "ထက်ပို၍ငယ်သည်",
|
||||
"labels.less-than-equals": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်",
|
||||
"labels.max": "အများဆုံး",
|
||||
"labels.min": "အနည်းဆုံး",
|
||||
"labels.overview": "အပေါ်ယံမြင်ကွင်း",
|
||||
"labels.sum": "ပေါင်းလဒ်",
|
||||
"labels.total": "စုစုပေါင်း",
|
||||
"labels.total-records": "မှတ်တမ်းစုစုပေါင်း",
|
||||
"labels.true": "မှန်သည်",
|
||||
"labels.type": "အမျိုးအစား",
|
||||
"labels.unique": "Unique",
|
||||
"labels.untitled": "ခေါင်းစဉ်မရှိ",
|
||||
"labels.value": "တန်ဖိုး",
|
||||
"message.active-users": "{x} လက်ရှိအသုံးပြုနေသူ {x, plural, one {ယောက်} other {ယောက်}}",
|
||||
"message.confirm-delete": "{target} ကို ဖျက်ရန် သေချာပါသလား?",
|
||||
"message.confirm-leave": "{target} ကို ထွက်ရန် သေချာပါသလား?",
|
||||
@@ -172,11 +194,15 @@
|
||||
"message.incorrect-username-password": "အသုံးပြုသူအမည် သို့မဟုတ် စကားဝှက် မှားနေသည်",
|
||||
"message.invalid-domain": "ဒိုမိန်း မမှန်ပါ http/https. မပါရပါ",
|
||||
"message.min-password-length": "အနည်းဆုံး {n} character ရှိရမည်",
|
||||
"message.new-version-available": "အူမာမီ {version} အသစ်ထွက်နေပါပြီ",
|
||||
"message.no-data-available": "ဒေတာ မရှိပါ",
|
||||
"message.no-event-data": "အဖြစ်အပျက်ဒေတာ မရှိပါ",
|
||||
"message.no-match-password": "စကားဝှက် မှားနေသည်",
|
||||
"message.no-results-found": "ရလဒ်မရှိပါ",
|
||||
"message.no-team-websites": "ဤအသင်းတွင် ဝက်ဘ်ဆိုက်မရှိသေးပါ",
|
||||
"message.no-teams": "အသင်း မပြုလုပ်ရသေးပါ",
|
||||
"message.no-users": "အသုံးပြုသူ မရှိသေးပါ",
|
||||
"message.no-websites-configured": "ဝက်ဘ်ဆိုဒ်တစ်ခုမှ မထည့်ရသေးပါ",
|
||||
"message.page-not-found": "ဤစာမျက်နှာသည် မရှိပါ",
|
||||
"message.reset-website": "ဤ ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်၍ ပြန်စလုပ်ရန် အောက်တွင် {confirmation} ကို ရိုက်ထည့်ပေးပါ",
|
||||
"message.reset-website-warning": "ဤဝက်ဘ်ဆိုဒ်က စာရင်းအချက်အလက်များကို ဖျက်မည်၊ ဆက်တင်ဒေတာများ မပါပါ",
|
||||
@@ -184,12 +210,8 @@
|
||||
"message.share-url": "သင့်ဝက်ဆိုဒ်ဘ်၏ စာရင်းအချက်အလက်များကို အောက်ပါ URL တွင် ဝင်ရောက်ကြည့်ရှုနိုင်သည်",
|
||||
"message.team-already-member": "ဤအသင်းတွင် ဝင်ပြီးသားဖြစ်နေသည်",
|
||||
"message.team-not-found": "အသင်း မရှိပါ",
|
||||
"message.team-websites-info": "ဤဝက်ဘ်ဆိုဒ်များကို အသင်းထဲမှ လူတိုင်းဝင်ကြည့်နိုင်သည်",
|
||||
"message.tracking-code": "ဤဝက်ဘ်ဆိုဒ်၏ ဒေတာကိုကောက်ခံရန် အောက်ပါ code ကို သင်၏ HTML တွင်ထည့်ပါ",
|
||||
"message.user-deleted": "အသုံးပြုသူ ဖျက်ပြီးပါပြီ",
|
||||
"message.visitor-log": "{country} မှ {browser} ဖြင့် {os} {device} တွင် ဝင်ရောက်ကြည့်ရှုသူ",
|
||||
"message.no-results-found": "ရလဒ်မရှိပါ",
|
||||
"message.no-team-websites": "ဤအသင်းတွင် ဝက်ဘ်ဆိုက်မရှိသေးပါ",
|
||||
"message.no-websites-configured": "ဝက်ဘ်ဆိုဒ်တစ်ခုမှ မထည့်ရသေးပါ",
|
||||
"message.team-websites-info": "ဤဝက်ဘ်ဆိုဒ်များကို အသင်းထဲမှ လူတိုင်းဝင်ကြည့်နိုင်သည်",
|
||||
"message.new-version-available": "အူမာမီ {version} အသစ်ထွက်နေပါပြီ"
|
||||
"message.visitor-log": "{country} မှ {browser} ဖြင့် {os} {device} တွင် ဝင်ရောက်ကြည့်ရှုသူ"
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Land",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombinert",
|
||||
"label.filter-raw": "Rå",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Nullstill",
|
||||
"label.reset-website": "Nullstill statistikk",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Lagre",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Doorgaan",
|
||||
"label.countries": "Landen",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Team aanmaken",
|
||||
"label.create-user": "Gebruiker maken",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Gecombineerd",
|
||||
"label.filter-raw": "Ruw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Opnieuw instellen",
|
||||
"label.reset-website": "Statistieken opnieuw instellen",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Gebruikersrol",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Opslaan",
|
||||
"label.screens": "Schermen",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Website selecteren",
|
||||
"label.sessions": "Sessies",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Kontynuuj",
|
||||
"label.countries": "Kraje",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Stwórz raport",
|
||||
"label.create-team": "Utwórz zespół",
|
||||
"label.create-user": "Utwórz użytkownika",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "Fałsz",
|
||||
"label.field": "Pole",
|
||||
"label.fields": "Pola",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Połączone",
|
||||
"label.filter-raw": "Surowe dane",
|
||||
"label.filters": "Filtry",
|
||||
"label.funnel": "Lejek",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Większe niż",
|
||||
"label.greater-than-equals": "Większe niż lub równe",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Równe",
|
||||
"label.is-not": "Nie jest równe",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Zresetuj",
|
||||
"label.reset-website": "Zresetuj statystyki",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Uruchom zapytanie",
|
||||
"label.save": "Zapisz",
|
||||
"label.screens": "Ekrany",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Wybierz datę",
|
||||
"label.select-website": "Wybierz witrynę",
|
||||
"label.sessions": "Sesje",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continuar",
|
||||
"label.countries": "Países",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Criar relatório",
|
||||
"label.create-team": "Criar time",
|
||||
"label.create-user": "Criar usuário",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Campo",
|
||||
"label.fields": "Campos",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combinado",
|
||||
"label.filter-raw": "Dados brutos",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funil",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Maior que",
|
||||
"label.greater-than-equals": "Maior que ou igual",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Redefinir",
|
||||
"label.reset-website": "Redefinir estatísticas",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Papel",
|
||||
"label.run-query": "Executar query",
|
||||
"label.save": "Salvar",
|
||||
"label.screens": "Telas",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Selecionar data",
|
||||
"label.select-website": "Selecionar site",
|
||||
"label.sessions": "Sessões",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Países",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combinado",
|
||||
"label.filter-raw": "Dados brutos",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Repor",
|
||||
"label.reset-website": "Repor estatísticas",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Guardar",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Țări",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combinat",
|
||||
"label.filter-raw": "Brut",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Resetează",
|
||||
"label.reset-website": "Resetează statisticile pentru site",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Salvează",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Продолжить",
|
||||
"label.countries": "Страны",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Создать команду",
|
||||
"label.create-user": "Создать пользователя",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Объединенные",
|
||||
"label.filter-raw": "Сырые данные",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Сбросить",
|
||||
"label.reset-website": "Сбросить статистику",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Роль",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Сохранить",
|
||||
"label.screens": "Экраны",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Выбрать сайт",
|
||||
"label.sessions": "Сессии",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Countries",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Combined",
|
||||
"label.filter-raw": "Raw",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "යළි පිහිටුවන්න",
|
||||
"label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "සුරකින්න",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Zem",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombinácie",
|
||||
"label.filter-raw": "Nezpracované",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Reset",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Uložiť",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -1,211 +1,217 @@
|
||||
{
|
||||
"label.access-code": "Access code",
|
||||
"label.access-code": "Koda za dostop",
|
||||
"label.actions": "Dejanja",
|
||||
"label.activity-log": "Activity log",
|
||||
"label.add": "Add",
|
||||
"label.add-description": "Add description",
|
||||
"label.activity-log": "Dnevnik dejavnosti",
|
||||
"label.add": "Dodaj",
|
||||
"label.add-description": "Dodaj opis",
|
||||
"label.add-website": "Dodaj spletno mesto",
|
||||
"label.admin": "Administrator",
|
||||
"label.after": "After",
|
||||
"label.all": "Vse",
|
||||
"label.all-time": "All time",
|
||||
"label.analytics": "Analytics",
|
||||
"label.average": "Average",
|
||||
"label.after": "Po",
|
||||
"label.all": "Vsi",
|
||||
"label.all-time": "Ves čas",
|
||||
"label.analytics": "Analitika",
|
||||
"label.average": "Povprečno",
|
||||
"label.average-visit-time": "Povprečni čas obiska",
|
||||
"label.back": "Nazaj",
|
||||
"label.before": "Before",
|
||||
"label.bounce-rate": "Zapustna stopnja",
|
||||
"label.breakdown": "Breakdown",
|
||||
"label.browser": "Browser",
|
||||
"label.before": "Pred",
|
||||
"label.bounce-rate": "Odbojna stopnja",
|
||||
"label.breakdown": "Razčlenitev",
|
||||
"label.browser": "Brskalnik",
|
||||
"label.browsers": "Brskalniki",
|
||||
"label.cancel": "Prekliči",
|
||||
"label.change-password": "Zamenjaj geslo",
|
||||
"label.cities": "Cities",
|
||||
"label.city": "City",
|
||||
"label.clear-all": "Clear all",
|
||||
"label.confirm": "Confirm",
|
||||
"label.confirm-password": "Potrditev gesla",
|
||||
"label.contains": "Contains",
|
||||
"label.continue": "Continue",
|
||||
"label.cities": "Mesta",
|
||||
"label.city": "Mesto",
|
||||
"label.clear-all": "Počisti vse",
|
||||
"label.confirm": "Potrdi",
|
||||
"label.confirm-password": "Potrdi geslo",
|
||||
"label.contains": "Vsebuje",
|
||||
"label.continue": "Nadaljuj",
|
||||
"label.countries": "Države",
|
||||
"label.country": "Country",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
"label.created": "Created",
|
||||
"label.country": "Država",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Ustvari poročilo",
|
||||
"label.create-team": "Ustvari ekipo",
|
||||
"label.create-user": "Ustvari uporabnika",
|
||||
"label.created": "Ustvarjeno",
|
||||
"label.current-password": "Trenutno geslo",
|
||||
"label.custom-range": "Razpon po meri",
|
||||
"label.custom-range": "Obdobje po meri",
|
||||
"label.dashboard": "Nadzorna plošča",
|
||||
"label.data": "Data",
|
||||
"label.date": "Date",
|
||||
"label.date-range": "Časovni razpon",
|
||||
"label.day": "Day",
|
||||
"label.default-date-range": "Privzeti časovni razpon",
|
||||
"label.data": "Podatki",
|
||||
"label.date": "Datum",
|
||||
"label.date-range": "Časovno obdobje",
|
||||
"label.day": "Dan",
|
||||
"label.default-date-range": "Privzeto časovno obdobje",
|
||||
"label.delete": "Izbriši",
|
||||
"label.delete-team": "Delete team",
|
||||
"label.delete-user": "Delete user",
|
||||
"label.delete-team": "Izbriši ekipo",
|
||||
"label.delete-user": "Izbriši uporabnika",
|
||||
"label.delete-website": "Izbriši spletno mesto",
|
||||
"label.description": "Description",
|
||||
"label.description": "Opis",
|
||||
"label.desktop": "Namizni računalnik",
|
||||
"label.details": "Details",
|
||||
"label.device": "Device",
|
||||
"label.details": "Podrobnosti",
|
||||
"label.device": "Naprava",
|
||||
"label.devices": "Naprave",
|
||||
"label.dismiss": "Opusti",
|
||||
"label.does-not-contain": "Does not contain",
|
||||
"label.dismiss": "Prezri",
|
||||
"label.does-not-contain": "Ne vsebuje",
|
||||
"label.domain": "Domena",
|
||||
"label.dropoff": "Dropoff",
|
||||
"label.dropoff": "Zapustitev",
|
||||
"label.edit": "Uredi",
|
||||
"label.edit-dashboard": "Edit dashboard",
|
||||
"label.enable-share-url": "Omogoči URL za skupno rabo",
|
||||
"label.event": "Event",
|
||||
"label.event-data": "Event data",
|
||||
"label.edit-dashboard": "Uredi nadzorno ploščo",
|
||||
"label.enable-share-url": "Uredi povezavo za deljenje",
|
||||
"label.event": "Dogodek",
|
||||
"label.event-data": "Podatki dogodka",
|
||||
"label.events": "Dogodki",
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter-combined": "Skupno",
|
||||
"label.filter-raw": "Neobdelane meritve",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
"label.is-set": "Is set",
|
||||
"label.join": "Join",
|
||||
"label.join-team": "Join team",
|
||||
"label.language": "Language",
|
||||
"label.languages": "Languages",
|
||||
"label.false": "Napačno",
|
||||
"label.field": "Polje",
|
||||
"label.fields": "Polja",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Skupaj",
|
||||
"label.filter-raw": "Neobdelano",
|
||||
"label.filters": "Filtri",
|
||||
"label.funnel": "Prodajni lijak",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Večje od",
|
||||
"label.greater-than-equals": "Večje ali enako kot",
|
||||
"label.insights": "Vpogled",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Je",
|
||||
"label.is-not": "Ni",
|
||||
"label.is-not-set": "Ni nastavljeno",
|
||||
"label.is-set": "Je nastavljeno",
|
||||
"label.join": "Pridruži se",
|
||||
"label.join-team": "Pridruži se ekipi",
|
||||
"label.language": "Jezik",
|
||||
"label.languages": "Jeziki",
|
||||
"label.laptop": "Prenosni računalnik",
|
||||
"label.last-days": "Zadnjih {x} dni",
|
||||
"label.last-hours": "Zadnjih {x} ur",
|
||||
"label.leave": "Leave",
|
||||
"label.leave-team": "Leave team",
|
||||
"label.less-than": "Less than",
|
||||
"label.less-than-equals": "Less than or equals",
|
||||
"label.leave": "Zapusti",
|
||||
"label.leave-team": "Zapusti ekipo",
|
||||
"label.less-than": "Manjše kot",
|
||||
"label.less-than-equals": "Manjše ali enako kot",
|
||||
"label.login": "Prijava",
|
||||
"label.logout": "Odjava",
|
||||
"label.max": "Max",
|
||||
"label.members": "Members",
|
||||
"label.min": "Min",
|
||||
"label.mobile": "Mobilni telefon",
|
||||
"label.max": "Največ",
|
||||
"label.members": "Člani",
|
||||
"label.min": "Najmanj",
|
||||
"label.mobile": "Mobilne naprave",
|
||||
"label.more": "Več",
|
||||
"label.my-websites": "My websites",
|
||||
"label.my-websites": "Moja spletna mesta",
|
||||
"label.name": "Ime",
|
||||
"label.new-password": "Novo geslo",
|
||||
"label.none": "None",
|
||||
"label.none": "Brez",
|
||||
"label.os": "OS",
|
||||
"label.overview": "Overview",
|
||||
"label.owner": "Owner",
|
||||
"label.page-of": "Page {current} of {total}",
|
||||
"label.page-views": "Ogledi strani",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.overview": "Pregled",
|
||||
"label.owner": "Lastnik",
|
||||
"label.page-of": "Stran {current} od {total}",
|
||||
"label.page-views": "Obiski strani",
|
||||
"label.pageTitle": "Naslov strani",
|
||||
"label.pages": "Strani",
|
||||
"label.password": "Geslo",
|
||||
"label.powered-by": "Zagotavlja {name}",
|
||||
"label.powered-by": "Poganja {name}",
|
||||
"label.profile": "Profil",
|
||||
"label.queries": "Queries",
|
||||
"label.query": "Query",
|
||||
"label.query-parameters": "Query parameters",
|
||||
"label.realtime": "V realnem času",
|
||||
"label.referrer": "Referrer",
|
||||
"label.queries": "Poizvedbe",
|
||||
"label.query": "Poizvedba",
|
||||
"label.query-parameters": "Parametri poizvedbe",
|
||||
"label.realtime": "V živo",
|
||||
"label.referrer": "Vir",
|
||||
"label.referrers": "Viri",
|
||||
"label.refresh": "Osveži",
|
||||
"label.regenerate": "Regenerate",
|
||||
"label.region": "Region",
|
||||
"label.regions": "Regions",
|
||||
"label.remove": "Remove",
|
||||
"label.reports": "Reports",
|
||||
"label.regenerate": "Ponovno generiraj",
|
||||
"label.region": "Regija",
|
||||
"label.regions": "Regije",
|
||||
"label.remove": "Odstrani",
|
||||
"label.reports": "Poročila",
|
||||
"label.required": "Zahtevano",
|
||||
"label.reset": "Ponastavi",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.reset-website": "Ponastavi statistiko",
|
||||
"label.retention": "Ohranjanje uporabnikov",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Vloga",
|
||||
"label.run-query": "Izvedi poizvedbo",
|
||||
"label.save": "Shrani",
|
||||
"label.screens": "Screens",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
"label.screens": "Zasloni",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Izberi datum",
|
||||
"label.select-website": "Izberi spletno mesto",
|
||||
"label.sessions": "Seje",
|
||||
"label.settings": "Nastavitve",
|
||||
"label.share-url": "Deli URL",
|
||||
"label.share-url": "Deli povezavo",
|
||||
"label.single-day": "En dan",
|
||||
"label.sum": "Sum",
|
||||
"label.sum": "Seštevek",
|
||||
"label.tablet": "Tablični računalnik",
|
||||
"label.team": "Team",
|
||||
"label.team-guest": "Team guest",
|
||||
"label.team-id": "Team ID",
|
||||
"label.team-member": "Team member",
|
||||
"label.team-name": "Team name",
|
||||
"label.team-owner": "Team owner",
|
||||
"label.team-websites": "Team websites",
|
||||
"label.teams": "Teams",
|
||||
"label.theme": "Theme",
|
||||
"label.team": "Ekipa",
|
||||
"label.team-guest": "Gost ekipe",
|
||||
"label.team-id": "ID ekipe",
|
||||
"label.team-member": "Član ekipe",
|
||||
"label.team-name": "Ime ekipe",
|
||||
"label.team-owner": "Lastnik ekipe",
|
||||
"label.team-websites": "Spletna mesta ekipe",
|
||||
"label.teams": "Ekipe",
|
||||
"label.theme": "Tema",
|
||||
"label.this-month": "Ta mesec",
|
||||
"label.this-week": "Ta teden",
|
||||
"label.this-year": "Letos",
|
||||
"label.this-year": "To leto",
|
||||
"label.timezone": "Časovni pas",
|
||||
"label.title": "Title",
|
||||
"label.title": "Naslov",
|
||||
"label.today": "Danes",
|
||||
"label.toggle-charts": "Toggle charts",
|
||||
"label.total": "Total",
|
||||
"label.total-records": "Total records",
|
||||
"label.toggle-charts": "Preklopi grafe",
|
||||
"label.total": "Skupaj",
|
||||
"label.total-records": "Skupni zapisi",
|
||||
"label.tracking-code": "Koda za sledenje",
|
||||
"label.true": "True",
|
||||
"label.type": "Type",
|
||||
"label.unique": "Unique",
|
||||
"label.true": "Pravilno",
|
||||
"label.type": "Vrsta",
|
||||
"label.unique": "Unikatni",
|
||||
"label.unique-visitors": "Unikatni obiskovalci",
|
||||
"label.unknown": "Neznano",
|
||||
"label.untitled": "Untitled",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URLs",
|
||||
"label.user": "User",
|
||||
"label.untitled": "Brez naslova",
|
||||
"label.url": "Povezava",
|
||||
"label.urls": "Povezave",
|
||||
"label.user": "Uporabnik",
|
||||
"label.username": "Uporabniško ime",
|
||||
"label.users": "Users",
|
||||
"label.value": "Value",
|
||||
"label.view": "View",
|
||||
"label.view-details": "Prikaži podrobnosti",
|
||||
"label.view-only": "View only",
|
||||
"label.views": "Ogledi",
|
||||
"label.users": "Uporabniki",
|
||||
"label.value": "Vrednost",
|
||||
"label.view": "Poglej",
|
||||
"label.view-details": "Poglej podrobnosti",
|
||||
"label.view-only": "Samo ogledovanje",
|
||||
"label.views": "Obiski",
|
||||
"label.visitors": "Obiskovalci",
|
||||
"label.website": "Website",
|
||||
"label.website-id": "Website ID",
|
||||
"label.websites": "Spletna mesta",
|
||||
"label.window": "Window",
|
||||
"label.yesterday": "Yesterday",
|
||||
"label.website": "Spletno mesto",
|
||||
"label.website-id": "ID spletnega mesta",
|
||||
"label.websites": "Spletnih mest",
|
||||
"label.window": "Okno",
|
||||
"label.yesterday": "Včeraj",
|
||||
"message.active-users": "{x} trenutni {x, plural, one {obiskovalec} other {obiskovalcev}}",
|
||||
"message.confirm-delete": "Ste prepričani, da želite izbrisati {target}?",
|
||||
"message.confirm-leave": "Are you sure you want to leave {target}?",
|
||||
"message.confirm-reset": "Are your sure you want to reset {target}'s statistics?",
|
||||
"message.delete-account": "To delete this account, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-website": "To delete this website, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-website-warning": "Izbrisani bodo tudi vsi povezani podatki.",
|
||||
"message.error": "Prišlo je do napake.",
|
||||
"message.event-log": "{event} on {url}",
|
||||
"message.confirm-leave": "Ste prepričani, da želite zapustiti {target}?",
|
||||
"message.confirm-reset": "Ste prepričani, da želite ponastaviti statistiko {target}?",
|
||||
"message.delete-account": "Za potrditev izbrisa tega računa vnesite {confirmation} v spodnje polje.",
|
||||
"message.delete-website": "Za potrditev izbrisa tega spletnega mesta vnesite {confirmation} v spodnje polje.",
|
||||
"message.delete-website-warning": "Izbrisani bodo tudi vsi pripadajoči podatki.",
|
||||
"message.error": "Nekaj je šlo narobe.",
|
||||
"message.event-log": "{event} na {url}",
|
||||
"message.go-to-settings": "Pojdi v nastavitve",
|
||||
"message.incorrect-username-password": "Nepravilno uporabniško ime/geslo",
|
||||
"message.incorrect-username-password": "Nepravilno uporabniško ime/geslo.",
|
||||
"message.invalid-domain": "Neveljavna domena",
|
||||
"message.min-password-length": "Minimum length of {n} characters",
|
||||
"message.new-version-available": "A new version of Umami {version} is available!",
|
||||
"message.min-password-length": "Najmanjša dolžina je {n} znakov",
|
||||
"message.new-version-available": "Na voljo je nova verzija programa Umami {version}!",
|
||||
"message.no-data-available": "Podatki niso na voljo.",
|
||||
"message.no-event-data": "No event data is available.",
|
||||
"message.no-event-data": "Podatki o dogodku niso na voljo.",
|
||||
"message.no-match-password": "Gesli se ne ujemata",
|
||||
"message.no-results-found": "No results were found.",
|
||||
"message.no-team-websites": "This team does not have any websites.",
|
||||
"message.no-teams": "You have not created any teams.",
|
||||
"message.no-users": "There are no users.",
|
||||
"message.no-websites-configured": "Ni nastavljenih spletnih mest.",
|
||||
"message.no-results-found": "Rezultatov ni bilo mogoče najti.",
|
||||
"message.no-team-websites": "Ta ekipa nima spletnih mest.",
|
||||
"message.no-teams": "Niste še ustvarili nobene ekipe.",
|
||||
"message.no-users": "Ni uporabnikov.",
|
||||
"message.no-websites-configured": "Nimate nastavljenih nobenih spletnih mest.",
|
||||
"message.page-not-found": "Stran ni bila najdena.",
|
||||
"message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.",
|
||||
"message.reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.",
|
||||
"message.reset-website": "Za ponastavitev izbrisa tega spletnega mesta vnesite {confirmation} v spodnje polje.",
|
||||
"message.reset-website-warning": "Vse statistike za to spletno mesto bodo izbrisane, koda za sledenje pa bo ostala nespremenjena.",
|
||||
"message.saved": "Uspešno shranjeno.",
|
||||
"message.share-url": "To je javno dostopen naslov URL za {target}.",
|
||||
"message.team-already-member": "You are already a member of the team.",
|
||||
"message.team-not-found": "Team not found.",
|
||||
"message.team-websites-info": "Websites can be viewed by anyone on the team.",
|
||||
"message.share-url": "To je javno dostopna povezava za {target}.",
|
||||
"message.team-already-member": "Ste že član ekipe.",
|
||||
"message.team-not-found": "Ekipa ni bila najdena.",
|
||||
"message.team-websites-info": "Spletne strani si lahko ogleda vsak član ekipe.",
|
||||
"message.tracking-code": "Koda za sledenje",
|
||||
"message.user-deleted": "User deleted.",
|
||||
"message.user-deleted": "Uporabnik je izbrisan.",
|
||||
"message.visitor-log": "Obiskovalec iz {country} uporablja {browser} na {os} {device}"
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Fortsätt",
|
||||
"label.countries": "Länder",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Skapa team",
|
||||
"label.create-user": "Skapa användare",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kombinerade",
|
||||
"label.filter-raw": "Rådata",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Återställ",
|
||||
"label.reset-website": "Återställ statistik",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Roll",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Spara",
|
||||
"label.screens": "Upplösning",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Välj webbsajt",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "நாடுகள்",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "ஒருங்கிணைந்த",
|
||||
"label.filter-raw": "மூல",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "மீட்டமை",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "சேமி",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "ประเทศ",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "ข้อมูลรวม",
|
||||
"label.filter-raw": "ข้อมูลดิบ",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "รีเซต",
|
||||
"label.reset-website": "รีเซตข้อมูลสถิติ",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "บันทึก",
|
||||
"label.screens": "ขนาดหน้าจอ",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Ülkeler",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Birleşik",
|
||||
"label.filter-raw": "Ham",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Sıfırla",
|
||||
"label.reset-website": "Reset statistics",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Kaydet",
|
||||
"label.screens": "Ekranlar",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Країни",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Об'єднані",
|
||||
"label.filter-raw": "Сирі дані",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Скинути",
|
||||
"label.reset-website": "Скинути статистику сайту",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Зберегти",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "ممالک",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "مشترکہ",
|
||||
"label.filter-raw": "خام",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "دوبارہ ترتیب دیں",
|
||||
"label.reset-website": "اعدادوشمار کو دوبارہ ترتیب دیں",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "محفوظ کریں",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "Quốc gia",
|
||||
"label.country": "Country",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
@@ -63,13 +64,16 @@
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "Kết hợp",
|
||||
"label.filter-raw": "Gốc",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
@@ -122,10 +126,12 @@
|
||||
"label.reset": "Tái thiết lập",
|
||||
"label.reset-website": "Tái thiết lập thống kê",
|
||||
"label.retention": "Retention",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "Lưu",
|
||||
"label.screens": "Screens",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
|
||||
@@ -16,19 +16,20 @@
|
||||
"label.before": "之前",
|
||||
"label.bounce-rate": "跳出率",
|
||||
"label.breakdown": "故障",
|
||||
"label.browser": "Browser",
|
||||
"label.browser": "浏览器",
|
||||
"label.browsers": "浏览器",
|
||||
"label.cancel": "取消",
|
||||
"label.change-password": "更新密码",
|
||||
"label.cities": "市/县",
|
||||
"label.city": "City",
|
||||
"label.city": "市/县",
|
||||
"label.clear-all": "清除全部",
|
||||
"label.confirm": "确认",
|
||||
"label.confirm-password": "确认密码",
|
||||
"label.contains": "包含",
|
||||
"label.continue": "继续",
|
||||
"label.countries": "国家/地区",
|
||||
"label.country": "Country",
|
||||
"label.country": "国家/地区",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "创建报告",
|
||||
"label.create-team": "创建团队",
|
||||
"label.create-user": "创建用户",
|
||||
@@ -37,9 +38,9 @@
|
||||
"label.custom-range": "自定义时间段",
|
||||
"label.dashboard": "仪表板",
|
||||
"label.data": "统计数据",
|
||||
"label.date": "Date",
|
||||
"label.date": "日期",
|
||||
"label.date-range": "时间段",
|
||||
"label.day": "Day",
|
||||
"label.day": "日",
|
||||
"label.default-date-range": "默认时间段",
|
||||
"label.delete": "删除",
|
||||
"label.delete-team": "删除团队",
|
||||
@@ -48,7 +49,7 @@
|
||||
"label.description": "描述",
|
||||
"label.desktop": "台式机",
|
||||
"label.details": "详细信息",
|
||||
"label.device": "Device",
|
||||
"label.device": "设备",
|
||||
"label.devices": "设备",
|
||||
"label.dismiss": "关闭",
|
||||
"label.does-not-contain": "不包含",
|
||||
@@ -63,17 +64,20 @@
|
||||
"label.false": "否",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "合并",
|
||||
"label.filter-raw": "原始",
|
||||
"label.filters": "筛选",
|
||||
"label.funnel": "分析",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "见解",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "等于",
|
||||
"label.is-not": "不等于",
|
||||
"label.is-not-set": "Is not set",
|
||||
"label.is-set": "Is set",
|
||||
"label.is-not-set": "未设置",
|
||||
"label.is-set": "已设置",
|
||||
"label.join": "加入",
|
||||
"label.join-team": "加入团队",
|
||||
"label.language": "语言",
|
||||
@@ -92,16 +96,16 @@
|
||||
"label.min": "最小",
|
||||
"label.mobile": "手机",
|
||||
"label.more": "更多",
|
||||
"label.my-websites": "My websites",
|
||||
"label.my-websites": "我的网站",
|
||||
"label.name": "名字",
|
||||
"label.new-password": "新密码",
|
||||
"label.none": "无",
|
||||
"label.os": "OS",
|
||||
"label.overview": "概览",
|
||||
"label.owner": "所有者",
|
||||
"label.page-of": "Page {current} of {total}",
|
||||
"label.page-of": "总{total}中的第{current}页",
|
||||
"label.page-views": "页面浏览量",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.pageTitle": "标题",
|
||||
"label.pages": "网页",
|
||||
"label.password": "密码",
|
||||
"label.powered-by": "由 {name} 提供支持",
|
||||
@@ -110,22 +114,24 @@
|
||||
"label.query": "查询",
|
||||
"label.query-parameters": "查询参数",
|
||||
"label.realtime": "实时",
|
||||
"label.referrer": "Referrer",
|
||||
"label.referrer": "来源",
|
||||
"label.referrers": "来源域名",
|
||||
"label.refresh": "刷新",
|
||||
"label.regenerate": "重新生成",
|
||||
"label.region": "Region",
|
||||
"label.region": "州/省",
|
||||
"label.regions": "州/省",
|
||||
"label.remove": "移除",
|
||||
"label.reports": "报告",
|
||||
"label.required": "必填",
|
||||
"label.reset": "重置",
|
||||
"label.reset-website": "重置统计数据",
|
||||
"label.retention": "Retention",
|
||||
"label.retention": "保留",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "角色",
|
||||
"label.run-query": "查询",
|
||||
"label.save": "保存",
|
||||
"label.screens": "屏幕尺寸",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "选择数据",
|
||||
"label.select-website": "选择网站",
|
||||
"label.sessions": "会话",
|
||||
@@ -138,9 +144,9 @@
|
||||
"label.team-guest": "团队访客",
|
||||
"label.team-id": "团队 ID",
|
||||
"label.team-member": "团队成员",
|
||||
"label.team-name": "Team name",
|
||||
"label.team-name": "团队名称",
|
||||
"label.team-owner": "团队所有者",
|
||||
"label.team-websites": "Team websites",
|
||||
"label.team-websites": "团队网站",
|
||||
"label.teams": "团队",
|
||||
"label.theme": "主题",
|
||||
"label.this-month": "本月",
|
||||
@@ -155,19 +161,19 @@
|
||||
"label.tracking-code": "跟踪代码",
|
||||
"label.true": "是",
|
||||
"label.type": "类型",
|
||||
"label.unique": "Unique",
|
||||
"label.unique": "独立",
|
||||
"label.unique-visitors": "独立访客",
|
||||
"label.unknown": "未知",
|
||||
"label.untitled": "未命名",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URLs",
|
||||
"label.url": "网址",
|
||||
"label.urls": "网址",
|
||||
"label.user": "用户",
|
||||
"label.username": "用户名",
|
||||
"label.users": "用户",
|
||||
"label.value": "值",
|
||||
"label.view": "查看",
|
||||
"label.view-details": "查看更多",
|
||||
"label.view-only": "View only",
|
||||
"label.view-only": "仅浏览量",
|
||||
"label.views": "浏览量",
|
||||
"label.visitors": "访客",
|
||||
"label.website": "网站",
|
||||
@@ -183,7 +189,7 @@
|
||||
"message.delete-website": "确定删除该网站, 请在下面的输入框中输入 {confirmation} 进行二次确认。",
|
||||
"message.delete-website-warning": "所有相关数据将会被删除。",
|
||||
"message.error": "出现错误。",
|
||||
"message.event-log": "{event} on {url}",
|
||||
"message.event-log": "{url}上的{event}",
|
||||
"message.go-to-settings": "去设置",
|
||||
"message.incorrect-username-password": "用户名或密码不正确。",
|
||||
"message.invalid-domain": "无效域名",
|
||||
|
||||
@@ -1,211 +1,217 @@
|
||||
{
|
||||
"label.access-code": "Access code",
|
||||
"label.actions": "用戶行為",
|
||||
"label.activity-log": "Activity log",
|
||||
"label.add": "Add",
|
||||
"label.add-description": "Add description",
|
||||
"label.add-website": "增加網站",
|
||||
"label.access-code": "存取碼",
|
||||
"label.actions": "行動",
|
||||
"label.activity-log": "活動日誌",
|
||||
"label.add": "新增",
|
||||
"label.add-description": "新增描述",
|
||||
"label.add-website": "新增網站",
|
||||
"label.admin": "管理員",
|
||||
"label.after": "After",
|
||||
"label.all": "所有",
|
||||
"label.all-time": "所有時間段",
|
||||
"label.analytics": "Analytics",
|
||||
"label.average": "Average",
|
||||
"label.average-visit-time": "平均訪問時間",
|
||||
"label.after": "之後",
|
||||
"label.all": "全部",
|
||||
"label.all-time": "所有時間",
|
||||
"label.analytics": "分析",
|
||||
"label.average": "平均",
|
||||
"label.average-visit-time": "平均造訪時間",
|
||||
"label.back": "返回",
|
||||
"label.before": "Before",
|
||||
"label.before": "之前",
|
||||
"label.bounce-rate": "跳出率",
|
||||
"label.breakdown": "Breakdown",
|
||||
"label.browser": "Browser",
|
||||
"label.breakdown": "分解",
|
||||
"label.browser": "瀏覽器",
|
||||
"label.browsers": "瀏覽器",
|
||||
"label.cancel": "取消",
|
||||
"label.change-password": "更新密碼",
|
||||
"label.cities": "Cities",
|
||||
"label.city": "City",
|
||||
"label.clear-all": "Clear all",
|
||||
"label.confirm": "Confirm",
|
||||
"label.change-password": "更改密碼",
|
||||
"label.cities": "城市",
|
||||
"label.city": "城市",
|
||||
"label.clear-all": "全部清除",
|
||||
"label.confirm": "確認",
|
||||
"label.confirm-password": "確認密碼",
|
||||
"label.contains": "Contains",
|
||||
"label.continue": "Continue",
|
||||
"label.countries": "國家/地區",
|
||||
"label.country": "Country",
|
||||
"label.create-report": "Create report",
|
||||
"label.create-team": "Create team",
|
||||
"label.create-user": "Create user",
|
||||
"label.created": "Created",
|
||||
"label.contains": "包含",
|
||||
"label.continue": "繼續",
|
||||
"label.countries": "國家",
|
||||
"label.country": "國家",
|
||||
"label.create": "Create",
|
||||
"label.create-report": "建立報告",
|
||||
"label.create-team": "建立團隊",
|
||||
"label.create-user": "建立使用者",
|
||||
"label.created": "已建立",
|
||||
"label.current-password": "目前密碼",
|
||||
"label.custom-range": "自定義時段",
|
||||
"label.dashboard": "管理面板",
|
||||
"label.data": "Data",
|
||||
"label.date": "Date",
|
||||
"label.date-range": "多日",
|
||||
"label.day": "Day",
|
||||
"label.default-date-range": "默認日期範圍",
|
||||
"label.custom-range": "自訂範圍",
|
||||
"label.dashboard": "儀表板",
|
||||
"label.data": "資料",
|
||||
"label.date": "日期",
|
||||
"label.date-range": "日期範圍",
|
||||
"label.day": "日",
|
||||
"label.default-date-range": "預設日期範圍",
|
||||
"label.delete": "刪除",
|
||||
"label.delete-team": "Delete team",
|
||||
"label.delete-user": "Delete user",
|
||||
"label.delete-team": "刪除團隊",
|
||||
"label.delete-user": "刪除使用者",
|
||||
"label.delete-website": "刪除網站",
|
||||
"label.description": "Description",
|
||||
"label.desktop": "桌機",
|
||||
"label.details": "Details",
|
||||
"label.device": "Device",
|
||||
"label.description": "描述",
|
||||
"label.desktop": "桌上型電腦",
|
||||
"label.details": "詳細資訊",
|
||||
"label.device": "裝置",
|
||||
"label.devices": "裝置",
|
||||
"label.dismiss": "關閉",
|
||||
"label.does-not-contain": "Does not contain",
|
||||
"label.domain": "域名",
|
||||
"label.dropoff": "Dropoff",
|
||||
"label.does-not-contain": "不包含",
|
||||
"label.domain": "網域",
|
||||
"label.dropoff": "退出",
|
||||
"label.edit": "編輯",
|
||||
"label.edit-dashboard": "編輯管理面板",
|
||||
"label.enable-share-url": "啟用分享連結",
|
||||
"label.event": "Event",
|
||||
"label.event-data": "Event data",
|
||||
"label.events": "行為類別",
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter-combined": "總和",
|
||||
"label.edit-dashboard": "編輯儀表板",
|
||||
"label.enable-share-url": "啟用分享網址",
|
||||
"label.event": "事件",
|
||||
"label.event-data": "事件資料",
|
||||
"label.events": "事件",
|
||||
"label.false": "否",
|
||||
"label.field": "欄位",
|
||||
"label.fields": "欄位",
|
||||
"label.filter": "Filter",
|
||||
"label.filter-combined": "組合",
|
||||
"label.filter-raw": "原始",
|
||||
"label.filters": "Filters",
|
||||
"label.funnel": "Funnel",
|
||||
"label.greater-than": "Greater than",
|
||||
"label.greater-than-equals": "Greater than or equals",
|
||||
"label.insights": "Insights",
|
||||
"label.is": "Is",
|
||||
"label.is-not": "Is not",
|
||||
"label.is-not-set": "Is not set",
|
||||
"label.is-set": "Is set",
|
||||
"label.join": "Join",
|
||||
"label.join-team": "Join team",
|
||||
"label.filters": "篩選器",
|
||||
"label.funnel": "漏斗",
|
||||
"label.funnel-description": "Understand the conversion and drop-off rate of users.",
|
||||
"label.greater-than": "大於",
|
||||
"label.greater-than-equals": "大於或等於",
|
||||
"label.insights": "洞察",
|
||||
"label.insights-description": "Dive deeper into your data by using segments and filters.",
|
||||
"label.is": "是",
|
||||
"label.is-not": "不是",
|
||||
"label.is-not-set": "未設定",
|
||||
"label.is-set": "已設定",
|
||||
"label.join": "加入",
|
||||
"label.join-team": "加入團隊",
|
||||
"label.language": "語言",
|
||||
"label.languages": "語言",
|
||||
"label.laptop": "筆記本",
|
||||
"label.laptop": "筆記型電腦",
|
||||
"label.last-days": "最近 {x} 天",
|
||||
"label.last-hours": "最近 {x} 小時",
|
||||
"label.leave": "Leave",
|
||||
"label.leave-team": "Leave team",
|
||||
"label.less-than": "Less than",
|
||||
"label.less-than-equals": "Less than or equals",
|
||||
"label.leave": "離開",
|
||||
"label.leave-team": "離開團隊",
|
||||
"label.less-than": "小於",
|
||||
"label.less-than-equals": "小於或等於",
|
||||
"label.login": "登入",
|
||||
"label.logout": "退出",
|
||||
"label.max": "Max",
|
||||
"label.members": "Members",
|
||||
"label.min": "Min",
|
||||
"label.mobile": "手機",
|
||||
"label.logout": "登出",
|
||||
"label.max": "最大",
|
||||
"label.members": "成員",
|
||||
"label.min": "最小",
|
||||
"label.mobile": "行動裝置",
|
||||
"label.more": "更多",
|
||||
"label.my-websites": "My websites",
|
||||
"label.name": "名字",
|
||||
"label.my-websites": "我的網站",
|
||||
"label.name": "名稱",
|
||||
"label.new-password": "新密碼",
|
||||
"label.none": "無",
|
||||
"label.os": "OS",
|
||||
"label.overview": "Overview",
|
||||
"label.os": "作業系統",
|
||||
"label.overview": "概覽",
|
||||
"label.owner": "擁有者",
|
||||
"label.page-of": "Page {current} of {total}",
|
||||
"label.page-views": "網頁流量",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.pages": "網頁",
|
||||
"label.page-of": "頁面 {current} / {total}",
|
||||
"label.page-views": "頁面瀏覽",
|
||||
"label.pageTitle": "頁面標題",
|
||||
"label.pages": "頁面",
|
||||
"label.password": "密碼",
|
||||
"label.powered-by": "運行 {name}",
|
||||
"label.powered-by": "由 {name} 提供",
|
||||
"label.profile": "個人資料",
|
||||
"label.queries": "Queries",
|
||||
"label.query": "Query",
|
||||
"label.queries": "查詢",
|
||||
"label.query": "查詢",
|
||||
"label.query-parameters": "查詢參數",
|
||||
"label.realtime": "實時",
|
||||
"label.referrer": "Referrer",
|
||||
"label.referrers": "指入域名",
|
||||
"label.refresh": "刷新",
|
||||
"label.regenerate": "Regenerate",
|
||||
"label.region": "Region",
|
||||
"label.regions": "Regions",
|
||||
"label.remove": "Remove",
|
||||
"label.reports": "Reports",
|
||||
"label.realtime": "即時",
|
||||
"label.referrer": "參照來源",
|
||||
"label.referrers": "參照來源",
|
||||
"label.refresh": "重新整理",
|
||||
"label.regenerate": "重新產生",
|
||||
"label.region": "區域",
|
||||
"label.regions": "區域",
|
||||
"label.remove": "移除",
|
||||
"label.reports": "報告",
|
||||
"label.required": "必填",
|
||||
"label.reset": "重置",
|
||||
"label.reset-website": "重置統計數據",
|
||||
"label.retention": "Retention",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "保存",
|
||||
"label.screens": "屏幕尺寸",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
"label.settings": "設置",
|
||||
"label.share-url": "分享連結",
|
||||
"label.reset": "重設",
|
||||
"label.reset-website": "重設網站",
|
||||
"label.retention": "保留",
|
||||
"label.retention-description": "Measure your website stickiness by tracking how often users return.",
|
||||
"label.role": "角色",
|
||||
"label.run-query": "執行查詢",
|
||||
"label.save": "儲存",
|
||||
"label.screens": "螢幕",
|
||||
"label.search": "Search",
|
||||
"label.select-date": "選擇日期",
|
||||
"label.select-website": "選擇網站",
|
||||
"label.sessions": "工作階段",
|
||||
"label.settings": "設定",
|
||||
"label.share-url": "分享網址",
|
||||
"label.single-day": "單日",
|
||||
"label.sum": "Sum",
|
||||
"label.sum": "總和",
|
||||
"label.tablet": "平板",
|
||||
"label.team": "Team",
|
||||
"label.team-guest": "Team guest",
|
||||
"label.team-id": "Team ID",
|
||||
"label.team-member": "Team member",
|
||||
"label.team-name": "Team name",
|
||||
"label.team-owner": "Team owner",
|
||||
"label.team-websites": "Team websites",
|
||||
"label.teams": "Teams",
|
||||
"label.team": "團隊",
|
||||
"label.team-guest": "團隊訪客",
|
||||
"label.team-id": "團隊 ID",
|
||||
"label.team-member": "團隊成員",
|
||||
"label.team-name": "團隊名稱",
|
||||
"label.team-owner": "團隊擁有者",
|
||||
"label.team-websites": "團隊網站",
|
||||
"label.teams": "團隊",
|
||||
"label.theme": "主題",
|
||||
"label.this-month": "本月",
|
||||
"label.this-week": "本週",
|
||||
"label.this-year": "今年",
|
||||
"label.timezone": "時區",
|
||||
"label.title": "Title",
|
||||
"label.title": "標題",
|
||||
"label.today": "今天",
|
||||
"label.toggle-charts": "切換圖表",
|
||||
"label.total": "Total",
|
||||
"label.total-records": "Total records",
|
||||
"label.total": "總計",
|
||||
"label.total-records": "總記錄",
|
||||
"label.tracking-code": "追蹤代碼",
|
||||
"label.true": "True",
|
||||
"label.type": "Type",
|
||||
"label.unique": "Unique",
|
||||
"label.true": "是",
|
||||
"label.type": "類型",
|
||||
"label.unique": "獨立",
|
||||
"label.unique-visitors": "獨立訪客",
|
||||
"label.unknown": "未知",
|
||||
"label.untitled": "Untitled",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URLs",
|
||||
"label.user": "User",
|
||||
"label.username": "用户名",
|
||||
"label.users": "Users",
|
||||
"label.value": "Value",
|
||||
"label.view": "View",
|
||||
"label.view-details": "查看更多",
|
||||
"label.view-only": "View only",
|
||||
"label.views": "頁面流量",
|
||||
"label.visitors": "獨立訪客",
|
||||
"label.website": "Website",
|
||||
"label.website-id": "Website ID",
|
||||
"label.untitled": "無標題",
|
||||
"label.url": "網址",
|
||||
"label.urls": "網址",
|
||||
"label.user": "使用者",
|
||||
"label.username": "使用者名稱",
|
||||
"label.users": "使用者",
|
||||
"label.value": "值",
|
||||
"label.view": "檢視",
|
||||
"label.view-details": "檢視詳細資訊",
|
||||
"label.view-only": "僅供檢視",
|
||||
"label.views": "檢視",
|
||||
"label.visitors": "訪客",
|
||||
"label.website": "網站",
|
||||
"label.website-id": "網站 ID",
|
||||
"label.websites": "網站",
|
||||
"label.window": "Window",
|
||||
"label.yesterday": "Yesterday",
|
||||
"message.active-users": "當前線上 {x} 人",
|
||||
"message.confirm-delete": "你確定要刪除 {target} 嗎?",
|
||||
"message.confirm-leave": "Are you sure you want to leave {target}?",
|
||||
"message.confirm-reset": "您確定要重置 {target} 的數據嗎?",
|
||||
"message.delete-account": "To delete this account, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-website": "To delete this website, type {confirmation} in the box below to confirm.",
|
||||
"message.delete-website-warning": "所有相關數據將會被刪除。",
|
||||
"message.error": "出現錯誤。",
|
||||
"message.event-log": "{event} on {url}",
|
||||
"message.go-to-settings": "去設定",
|
||||
"message.incorrect-username-password": "用户名或密碼不正確。",
|
||||
"message.invalid-domain": "無效域名",
|
||||
"message.min-password-length": "Minimum length of {n} characters",
|
||||
"message.new-version-available": "A new version of Umami {version} is available!",
|
||||
"message.no-data-available": "無可用數據。",
|
||||
"message.no-event-data": "No event data is available.",
|
||||
"message.no-match-password": "密碼不一致",
|
||||
"message.no-results-found": "No results were found.",
|
||||
"message.no-team-websites": "This team does not have any websites.",
|
||||
"message.no-teams": "You have not created any teams.",
|
||||
"message.no-users": "There are no users.",
|
||||
"message.no-websites-configured": "目前無任何網站設定。",
|
||||
"message.page-not-found": "網頁未找到。",
|
||||
"message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.",
|
||||
"message.reset-website-warning": "本網站的所有統計數據將被刪除,但您的跟蹤代碼將保持不變。",
|
||||
"message.saved": "成功保存。",
|
||||
"message.share-url": "這是 {target} 的分享連結。",
|
||||
"message.team-already-member": "You are already a member of the team.",
|
||||
"message.team-not-found": "Team not found.",
|
||||
"message.team-websites-info": "Websites can be viewed by anyone on the team.",
|
||||
"message.tracking-code": "追蹤代碼",
|
||||
"message.user-deleted": "User deleted.",
|
||||
"message.visitor-log": "來自{country}的訪客在搭載 {os} 的{device}上使用 {browser} 進行訪問。"
|
||||
"label.window": "視窗",
|
||||
"label.yesterday": "昨天",
|
||||
"message.active-users": "目前有 {x} 個活躍的訪客",
|
||||
"message.confirm-delete": "您確定要刪除 {target} 嗎?",
|
||||
"message.confirm-leave": "您確定要離開 {target} 嗎?",
|
||||
"message.confirm-reset": "您確定要重設 {target} 嗎?",
|
||||
"message.delete-account": "要刪除此帳戶,請在下方的方框中輸入 {confirmation} 以確認。",
|
||||
"message.delete-website": "要刪除此網站,請在下方的方框中輸入 {confirmation} 以確認。",
|
||||
"message.delete-website-warning": "所有網站資料將被刪除。",
|
||||
"message.error": "發生錯誤。",
|
||||
"message.event-log": "{event} 在 {url}",
|
||||
"message.go-to-settings": "前往設定",
|
||||
"message.incorrect-username-password": "使用者名稱和/或密碼不正確。",
|
||||
"message.invalid-domain": "無效的網域。請不要包含 http/https。",
|
||||
"message.min-password-length": "最少需要 {n} 個字元",
|
||||
"message.new-version-available": "Umami {version} 的新版本已經可以使用!",
|
||||
"message.no-data-available": "沒有可用的資料。",
|
||||
"message.no-event-data": "沒有可用的事件資料。",
|
||||
"message.no-match-password": "密碼不一致。",
|
||||
"message.no-results-found": "找不到結果。",
|
||||
"message.no-team-websites": "此團隊沒有任何網站。",
|
||||
"message.no-teams": "您尚未建立任何團隊。",
|
||||
"message.no-users": "沒有使用者。",
|
||||
"message.no-websites-configured": "您尚未設定任何網站。",
|
||||
"message.page-not-found": "找不到頁面",
|
||||
"message.reset-website": "要重設此網站,請在下方的方框中輸入 {confirmation} 以確認。",
|
||||
"message.reset-website-warning": "此網站的所有統計將被刪除,但您的設定將保持不變。",
|
||||
"message.saved": "已儲存。",
|
||||
"message.share-url": "您的網站統計資料可以在以下網址公開檢視:",
|
||||
"message.team-already-member": "您已經是團隊的成員。",
|
||||
"message.team-not-found": "找不到團隊。",
|
||||
"message.team-websites-info": "團隊的任何成員都可以檢視網站。",
|
||||
"message.tracking-code": "要追蹤此網站的統計,請將以下代碼放在您的 HTML 的 <head>...</head> 區段中。",
|
||||
"message.user-deleted": "使用者已刪除。",
|
||||
"message.visitor-log": "來自 {country} 的訪客在 {device} 上的 {os} 使用 {browser} 瀏覽。"
|
||||
}
|
||||
|
||||
@@ -57,6 +57,14 @@ export function getDevice(screen, os) {
|
||||
}
|
||||
}
|
||||
|
||||
function getRegionCode(country, region) {
|
||||
if (!country || !region) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return region.includes('-') ? region : `${country}-${region}`;
|
||||
}
|
||||
|
||||
export async function getLocation(ip, req) {
|
||||
// Ignore local ips
|
||||
if (await isLocalhost(ip)) {
|
||||
@@ -65,19 +73,27 @@ export async function getLocation(ip, req) {
|
||||
|
||||
// Cloudflare headers
|
||||
if (req.headers['cf-ipcountry']) {
|
||||
const country = safeDecodeURIComponent(req.headers['cf-ipcountry']);
|
||||
const subdivision1 = safeDecodeURIComponent(req.headers['cf-region-code']);
|
||||
const city = safeDecodeURIComponent(req.headers['cf-ipcity']);
|
||||
|
||||
return {
|
||||
country: safeDecodeURIComponent(req.headers['cf-ipcountry']),
|
||||
subdivision1: safeDecodeURIComponent(req.headers['cf-region-code']),
|
||||
city: safeDecodeURIComponent(req.headers['cf-ipcity']),
|
||||
country,
|
||||
subdivision1: getRegionCode(country, subdivision1),
|
||||
city,
|
||||
};
|
||||
}
|
||||
|
||||
// Vercel headers
|
||||
if (req.headers['x-vercel-ip-country']) {
|
||||
const country = safeDecodeURIComponent(req.headers['x-vercel-ip-country']);
|
||||
const subdivision1 = safeDecodeURIComponent(req.headers['x-vercel-ip-country-region']);
|
||||
const city = safeDecodeURIComponent(req.headers['x-vercel-ip-city']);
|
||||
|
||||
return {
|
||||
country: safeDecodeURIComponent(req.headers['x-vercel-ip-country']),
|
||||
subdivision1: safeDecodeURIComponent(req.headers['x-vercel-ip-country-region']),
|
||||
city: safeDecodeURIComponent(req.headers['x-vercel-ip-city']),
|
||||
country,
|
||||
subdivision1: getRegionCode(country, subdivision1),
|
||||
city,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -114,11 +130,3 @@ export async function getClientInfo(req: NextApiRequestCollect, { screen }) {
|
||||
|
||||
return { userAgent, browser, os, ip, country, subdivision1, subdivision2, city, device };
|
||||
}
|
||||
|
||||
export function getJsonBody<T>(req): T {
|
||||
if ((req.headers['content-type'] || '').indexOf('text/plain') !== -1) {
|
||||
return JSON.parse(req.body);
|
||||
}
|
||||
|
||||
return req.body;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { isUuid, secret, uuid } from 'lib/crypto';
|
||||
import { getClientInfo, getJsonBody } from 'lib/detect';
|
||||
import { getClientInfo } from 'lib/detect';
|
||||
import { parseToken } from 'next-basics';
|
||||
import { CollectRequestBody, NextApiRequestCollect } from 'pages/api/send';
|
||||
import { NextApiRequestCollect } from 'pages/api/send';
|
||||
import { createSession } from 'queries';
|
||||
import cache from './cache';
|
||||
import clickhouse from './clickhouse';
|
||||
@@ -22,7 +22,7 @@ export async function findSession(req: NextApiRequestCollect): Promise<{
|
||||
city: any;
|
||||
ownerId: string;
|
||||
}> {
|
||||
const { payload } = getJsonBody<CollectRequestBody>(req);
|
||||
const { payload } = req.body;
|
||||
|
||||
if (!payload) {
|
||||
throw new Error('Invalid payload.');
|
||||
|
||||
@@ -6,7 +6,6 @@ import Script from 'next/script';
|
||||
import { useRouter } from 'next/router';
|
||||
import ErrorBoundary from 'components/common/ErrorBoundary';
|
||||
import useLocale from 'components/hooks/useLocale';
|
||||
import useConfig from 'components/hooks/useConfig';
|
||||
import '@fontsource/inter/400.css';
|
||||
import '@fontsource/inter/700.css';
|
||||
import 'react-basics/dist/styles.css';
|
||||
@@ -27,22 +26,10 @@ const client = new QueryClient({
|
||||
export default function App({ Component, pageProps }) {
|
||||
const { locale, messages } = useLocale();
|
||||
const { basePath, pathname } = useRouter();
|
||||
const config = useConfig();
|
||||
|
||||
const Wrapper = ({ children }) => <span className={locale}>{children}</span>;
|
||||
|
||||
if (config?.uiDisabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<QueryClientProvider client={client}>
|
||||
<IntlProvider
|
||||
locale={locale}
|
||||
messages={messages[locale]}
|
||||
textComponent={Wrapper}
|
||||
onError={() => null}
|
||||
>
|
||||
<IntlProvider locale={locale} messages={messages[locale]} onError={() => null}>
|
||||
<ReactBasicsProvider>
|
||||
<ErrorBoundary>
|
||||
<Head>
|
||||
|
||||
@@ -2,21 +2,19 @@ import { NextApiRequest, NextApiResponse } from 'next';
|
||||
import { ok, methodNotAllowed } from 'next-basics';
|
||||
|
||||
export interface ConfigResponse {
|
||||
basePath: string;
|
||||
trackerScriptName: string;
|
||||
updatesDisabled: boolean;
|
||||
telemetryDisabled: boolean;
|
||||
cloudMode: boolean;
|
||||
trackerScriptName: string;
|
||||
uiDisabled: boolean;
|
||||
updatesDisabled: boolean;
|
||||
}
|
||||
|
||||
export default async (req: NextApiRequest, res: NextApiResponse<ConfigResponse>) => {
|
||||
if (req.method === 'GET') {
|
||||
return ok(res, {
|
||||
basePath: process.env.BASE_PATH || '',
|
||||
trackerScriptName: process.env.TRACKER_SCRIPT_NAME,
|
||||
updatesDisabled: !!process.env.DISABLE_UPDATES,
|
||||
telemetryDisabled: !!process.env.DISABLE_TELEMETRY,
|
||||
cloudMode: !!process.env.CLOUD_MODE,
|
||||
trackerScriptName: process.env.TRACKER_SCRIPT_NAME,
|
||||
uiDisabled: !!process.env.DISABLE_UI,
|
||||
updatesDisabled: !!process.env.DISABLE_UPDATES,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ export interface UserPasswordRequestBody {
|
||||
|
||||
const schema = {
|
||||
POST: yup.object().shape({
|
||||
id: yup.string().uuid().required(),
|
||||
currentPassword: yup.string().required(),
|
||||
newPassword: yup.string().min(8).required(),
|
||||
}),
|
||||
|
||||
@@ -3,11 +3,11 @@ import ipaddr from 'ipaddr.js';
|
||||
import isbot from 'isbot';
|
||||
import { COLLECTION_TYPE, HOSTNAME_REGEX } from 'lib/constants';
|
||||
import { secret } from 'lib/crypto';
|
||||
import { getIpAddress, getJsonBody } from 'lib/detect';
|
||||
import { getIpAddress } from 'lib/detect';
|
||||
import { useCors, useSession, useValidate } from 'lib/middleware';
|
||||
import { CollectionType, YupRequest } from 'lib/types';
|
||||
import { NextApiRequest, NextApiResponse } from 'next';
|
||||
import { badRequest, createToken, forbidden, ok, send } from 'next-basics';
|
||||
import { badRequest, createToken, forbidden, methodNotAllowed, ok, send } from 'next-basics';
|
||||
import { saveEvent, saveSessionData } from 'queries';
|
||||
import * as yup from 'yup';
|
||||
|
||||
@@ -73,71 +73,75 @@ const schema = {
|
||||
export default async (req: NextApiRequestCollect, res: NextApiResponse) => {
|
||||
await useCors(req, res);
|
||||
|
||||
if (isbot(req.headers['user-agent']) && !process.env.DISABLE_BOT_CHECK) {
|
||||
return ok(res);
|
||||
}
|
||||
|
||||
const { type, payload } = getJsonBody<CollectRequestBody>(req);
|
||||
|
||||
req.yup = schema;
|
||||
await useValidate(req, res);
|
||||
|
||||
if (await hasBlockedIp(req)) {
|
||||
return forbidden(res);
|
||||
}
|
||||
|
||||
const { url, referrer, name: eventName, data: eventData, title: pageTitle } = payload;
|
||||
|
||||
await useSession(req, res);
|
||||
|
||||
const session = req.session;
|
||||
|
||||
if (type === COLLECTION_TYPE.event) {
|
||||
// eslint-disable-next-line prefer-const
|
||||
let [urlPath, urlQuery] = url?.split('?') || [];
|
||||
let [referrerPath, referrerQuery] = referrer?.split('?') || [];
|
||||
let referrerDomain;
|
||||
|
||||
if (!urlPath) {
|
||||
urlPath = '/';
|
||||
if (req.method === 'POST') {
|
||||
if (isbot(req.headers['user-agent']) && !process.env.DISABLE_BOT_CHECK) {
|
||||
return ok(res);
|
||||
}
|
||||
|
||||
if (referrerPath?.startsWith('http')) {
|
||||
const refUrl = new URL(referrer);
|
||||
referrerPath = refUrl.pathname;
|
||||
referrerQuery = refUrl.search.substring(1);
|
||||
referrerDomain = refUrl.hostname.replace(/www\./, '');
|
||||
const { type, payload } = req.body;
|
||||
|
||||
req.yup = schema;
|
||||
await useValidate(req, res);
|
||||
|
||||
if (await hasBlockedIp(req)) {
|
||||
return forbidden(res);
|
||||
}
|
||||
|
||||
if (process.env.REMOVE_TRAILING_SLASH) {
|
||||
urlPath = urlPath.replace(/.+\/$/, '');
|
||||
const { url, referrer, name: eventName, data: eventData, title: pageTitle } = payload;
|
||||
|
||||
await useSession(req, res);
|
||||
|
||||
const session = req.session;
|
||||
|
||||
if (type === COLLECTION_TYPE.event) {
|
||||
// eslint-disable-next-line prefer-const
|
||||
let [urlPath, urlQuery] = url?.split('?') || [];
|
||||
let [referrerPath, referrerQuery] = referrer?.split('?') || [];
|
||||
let referrerDomain;
|
||||
|
||||
if (!urlPath) {
|
||||
urlPath = '/';
|
||||
}
|
||||
|
||||
if (referrerPath?.startsWith('http')) {
|
||||
const refUrl = new URL(referrer);
|
||||
referrerPath = refUrl.pathname;
|
||||
referrerQuery = refUrl.search.substring(1);
|
||||
referrerDomain = refUrl.hostname.replace(/www\./, '');
|
||||
}
|
||||
|
||||
if (process.env.REMOVE_TRAILING_SLASH) {
|
||||
urlPath = urlPath.replace(/.+\/$/, '');
|
||||
}
|
||||
|
||||
await saveEvent({
|
||||
urlPath,
|
||||
urlQuery,
|
||||
referrerPath,
|
||||
referrerQuery,
|
||||
referrerDomain,
|
||||
pageTitle,
|
||||
eventName,
|
||||
eventData,
|
||||
...session,
|
||||
sessionId: session.id,
|
||||
});
|
||||
}
|
||||
|
||||
await saveEvent({
|
||||
urlPath,
|
||||
urlQuery,
|
||||
referrerPath,
|
||||
referrerQuery,
|
||||
referrerDomain,
|
||||
pageTitle,
|
||||
eventName,
|
||||
eventData,
|
||||
...session,
|
||||
sessionId: session.id,
|
||||
});
|
||||
if (type === COLLECTION_TYPE.identify) {
|
||||
if (!eventData) {
|
||||
return badRequest(res, 'Data required.');
|
||||
}
|
||||
|
||||
await saveSessionData({ ...session, sessionData: eventData, sessionId: session.id });
|
||||
}
|
||||
|
||||
const token = createToken(session, secret());
|
||||
|
||||
return send(res, token);
|
||||
}
|
||||
|
||||
if (type === COLLECTION_TYPE.identify) {
|
||||
if (!eventData) {
|
||||
return badRequest(res, 'Data required.');
|
||||
}
|
||||
|
||||
await saveSessionData({ ...session, sessionData: eventData, sessionId: session.id });
|
||||
}
|
||||
|
||||
const token = createToken(session, secret());
|
||||
|
||||
return send(res, token);
|
||||
return methodNotAllowed(res);
|
||||
};
|
||||
|
||||
async function hasBlockedIp(req: NextApiRequestCollect) {
|
||||
|
||||
17
src/pages/api/version.ts
Normal file
17
src/pages/api/version.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { NextApiRequest, NextApiResponse } from 'next';
|
||||
import { ok, methodNotAllowed } from 'next-basics';
|
||||
import { CURRENT_VERSION } from 'lib/constants';
|
||||
|
||||
export interface VersionResponse {
|
||||
version: string;
|
||||
}
|
||||
|
||||
export default async (req: NextApiRequest, res: NextApiResponse<VersionResponse>) => {
|
||||
if (req.method === 'GET') {
|
||||
return ok(res, {
|
||||
version: CURRENT_VERSION,
|
||||
});
|
||||
}
|
||||
|
||||
return methodNotAllowed(res);
|
||||
};
|
||||
@@ -13,23 +13,26 @@ export interface WebsiteMetricsRequestQuery {
|
||||
type: string;
|
||||
startAt: number;
|
||||
endAt: number;
|
||||
url: string;
|
||||
referrer: string;
|
||||
title: string;
|
||||
query: string;
|
||||
event: string;
|
||||
os: string;
|
||||
browser: string;
|
||||
device: string;
|
||||
country: string;
|
||||
region: string;
|
||||
city: string;
|
||||
language: string;
|
||||
url?: string;
|
||||
referrer?: string;
|
||||
title?: string;
|
||||
query?: string;
|
||||
os?: string;
|
||||
browser?: string;
|
||||
device?: string;
|
||||
country?: string;
|
||||
region?: string;
|
||||
city?: string;
|
||||
language?: string;
|
||||
event?: string;
|
||||
}
|
||||
|
||||
const schema = {
|
||||
GET: yup.object().shape({
|
||||
id: yup.string().uuid().required(),
|
||||
type: yup.string().required(),
|
||||
startAt: yup.number().required(),
|
||||
endAt: yup.number().required(),
|
||||
}),
|
||||
};
|
||||
|
||||
@@ -50,7 +53,6 @@ export default async (
|
||||
referrer,
|
||||
title,
|
||||
query,
|
||||
event,
|
||||
os,
|
||||
browser,
|
||||
device,
|
||||
@@ -58,6 +60,7 @@ export default async (
|
||||
region,
|
||||
city,
|
||||
language,
|
||||
event,
|
||||
} = req.query;
|
||||
|
||||
if (req.method === 'GET') {
|
||||
@@ -74,7 +77,6 @@ export default async (
|
||||
referrer,
|
||||
title,
|
||||
query,
|
||||
event,
|
||||
os,
|
||||
browser,
|
||||
device,
|
||||
@@ -82,10 +84,9 @@ export default async (
|
||||
region,
|
||||
city,
|
||||
language,
|
||||
event,
|
||||
};
|
||||
|
||||
filters[type] = undefined;
|
||||
|
||||
const column = FILTER_COLUMNS[type] || type;
|
||||
|
||||
if (SESSION_COLUMNS.includes(type)) {
|
||||
|
||||
@@ -42,8 +42,13 @@ export default async (
|
||||
} = req.auth;
|
||||
|
||||
if (req.method === 'GET') {
|
||||
req.query.id = userId;
|
||||
req.query.pageSize = 100;
|
||||
if (!req.query.id) {
|
||||
req.query.id = userId;
|
||||
}
|
||||
|
||||
if (!req.query.pageSize) {
|
||||
req.query.pageSize = 100;
|
||||
}
|
||||
|
||||
return userWebsites(req as any, res);
|
||||
}
|
||||
|
||||
@@ -142,6 +142,7 @@ export async function getReports(
|
||||
...pageFilters,
|
||||
...(options?.include && { include: options.include }),
|
||||
});
|
||||
|
||||
const count = await prisma.client.report.count({
|
||||
where,
|
||||
});
|
||||
|
||||
@@ -135,6 +135,7 @@ export async function getTeams(
|
||||
...pageFilters,
|
||||
...(options?.include && { include: options?.include }),
|
||||
});
|
||||
|
||||
const count = await prisma.client.team.count({ where });
|
||||
|
||||
return { data: teams, count, ...getParameters };
|
||||
|
||||
@@ -107,7 +107,8 @@ export async function getWebsites(
|
||||
...pageFilters,
|
||||
...(options?.include && { include: options.include }),
|
||||
});
|
||||
const count = await prisma.client.website.count({ where });
|
||||
|
||||
const count = await prisma.client.website.count({ where: { ...where, deletedAt: null } });
|
||||
|
||||
return { data: websites, count, ...getParameters };
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user