diff --git a/.eslintrc.json b/.eslintrc.json
index 7a824ff6..a77ed5bd 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -19,22 +19,21 @@
"plugin:@typescript-eslint/recommended",
"next"
],
-
"plugins": ["@typescript-eslint", "prettier"],
"settings": {
"import/resolver": {
"alias": {
"map": [
- ["assets", "./assets"],
- ["components", "./components"],
+ ["assets", "./src/assets"],
+ ["components", "./src/components"],
["db", "./db"],
- ["hooks", "./hooks"],
- ["lang", "./lang"],
- ["lib", "./lib"],
+ ["hooks", "./src/components/hooks"],
+ ["lang", "./src/lang"],
+ ["lib", "./src/lib"],
["public", "./public"],
- ["queries", "./queries"],
- ["store", "./store"],
- ["styles", "./styles"]
+ ["queries", "./src/queries"],
+ ["store", "./src/store"],
+ ["styles", "./src/styles"]
],
"extensions": [".ts", ".tsx", ".js", ".jsx", ".json"]
}
@@ -50,7 +49,9 @@
"@next/next/no-img-element": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-explicit-any": "off",
- "@typescript-eslint/no-var-requires": "off"
+ "@typescript-eslint/no-var-requires": "off",
+ "@typescript-eslint/no-empty-interface": "off",
+ "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true }]
},
"globals": {
"React": "writable"
diff --git a/.github/ISSUE_TEMPLATE/2.feature_request.yml b/.github/ISSUE_TEMPLATE/2.feature_request.yml
index 3034767b..529a6c73 100644
--- a/.github/ISSUE_TEMPLATE/2.feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/2.feature_request.yml
@@ -1,10 +1,9 @@
-name: "✨ Feature Request"
+name: '✨ Feature Request'
description: Create a feature or enhancement request for Umami.
-labels: ['enhancement']
body:
- type: textarea
attributes:
label: Describe the feature or enhancement
description: A clear and concise description of what the feature or enhancement is.
validations:
- required: true
\ No newline at end of file
+ required: true
diff --git a/.github/stale.yml b/.github/stale.yml
deleted file mode 100644
index 2dc5b675..00000000
--- a/.github/stale.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-# Number of days of inactivity before an issue becomes stale
-daysUntilStale: 60
-# Number of days of inactivity before a stale issue is closed
-daysUntilClose: 7
-# Issues with these labels will never be considered stale
-exemptLabels:
- - pinned
- - security
- - enhancement
- - bug
-# Label to use when marking an issue as stale
-staleLabel: wontfix
-# Comment to post when marking an issue as stale. Set to `false` to disable
-markComment: >
- This issue has been automatically marked as stale because it has not had
- recent activity. It will be closed if no further activity occurs. Thank you
- for your contributions.
-# Comment to post when closing a stale issue. Set to `false` to disable
-closeComment: false
diff --git a/.github/workflows/cd-manual.yml b/.github/workflows/cd-manual.yml
index 1afc6e93..ac701fcc 100644
--- a/.github/workflows/cd-manual.yml
+++ b/.github/workflows/cd-manual.yml
@@ -21,7 +21,7 @@ jobs:
- uses: actions/checkout@v3
- uses: mr-smithers-excellent/docker-build-push@v6
- name: Build & push Docker image for ${{ matrix.db-type }}
+ name: Build & push Docker image to ghcr.io for ${{ matrix.db-type }}
with:
image: umami
tags: ${{ matrix.db-type }}-${{ inputs.version }}, ${{ matrix.db-type }}-latest
@@ -31,3 +31,13 @@ jobs:
platform: linux/amd64,linux/arm64
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
+
+ - uses: mr-smithers-excellent/docker-build-push@v6
+ name: Build & push Docker image to docker.io for ${{ matrix.db-type }}
+ with:
+ image: umamisoftware/umami
+ tags: ${{ matrix.db-type }}-${{ inputs.version }}, ${{ matrix.db-type }}-latest
+ buildArgs: DATABASE_TYPE=${{ matrix.db-type }}
+ registry: docker.io
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
\ No newline at end of file
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
index 6fda05a6..0660bcba 100644
--- a/.github/workflows/cd.yml
+++ b/.github/workflows/cd.yml
@@ -19,7 +19,7 @@ jobs:
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- uses: mr-smithers-excellent/docker-build-push@v6
- name: Build & push Docker image for ${{ matrix.db-type }}
+ name: Build & push Docker image to ghcr.io for ${{ matrix.db-type }}
with:
image: umami
tags: ${{ matrix.db-type }}-${{ env.RELEASE_VERSION }}, ${{ matrix.db-type }}-latest
@@ -29,3 +29,13 @@ jobs:
platform: linux/amd64,linux/arm64
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
+
+ - uses: mr-smithers-excellent/docker-build-push@v6
+ name: Build & push Docker image to docker.io for ${{ matrix.db-type }}
+ with:
+ image: umamisoftware/umami
+ tags: ${{ matrix.db-type }}-${{ env.RELEASE_VERSION }}, ${{ matrix.db-type }}-latest
+ buildArgs: DATABASE_TYPE=${{ matrix.db-type }}
+ registry: docker.io
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
\ No newline at end of file
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 307107b2..775f9ecf 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,27 +16,24 @@ jobs:
strategy:
matrix:
include:
- - node-version: 14.x
- db-type: postgresql
- - node-version: 14.x
- db-type: mysql
- - node-version: 16.x
- db-type: postgresql
- - node-version: 16.x
- db-type: mysql
- - node-version: 18.x
- db-type: postgresql
- - node-version: 18.x
- db-type: mysql
+ - node-version: 16.x
+ db-type: postgresql
+ - node-version: 16.x
+ db-type: mysql
+ - node-version: 18.x
+ db-type: postgresql
+ - node-version: 18.x
+ db-type: mysql
+
steps:
- - uses: actions/checkout@v3
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v3
- with:
- node-version: ${{ matrix.node-version }}
- cache: 'npm'
- env:
- DATABASE_TYPE: ${{ matrix.db-type }}
- - run: npm install --global yarn
- - run: yarn install --frozen-lockfile
- - run: yarn build
+ - uses: actions/checkout@v3
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node-version }}
+ cache: 'npm'
+ env:
+ DATABASE_TYPE: ${{ matrix.db-type }}
+ - run: npm install --global yarn
+ - run: yarn install --frozen-lockfile
+ - run: yarn build
diff --git a/.github/workflows/stale-issues.yml b/.github/workflows/stale-issues.yml
new file mode 100644
index 00000000..24711fba
--- /dev/null
+++ b/.github/workflows/stale-issues.yml
@@ -0,0 +1,24 @@
+name: Close stale issues
+on:
+ schedule:
+ - cron: '30 1 * * *'
+
+jobs:
+ stale:
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ pull-requests: write
+ steps:
+ - uses: actions/stale@v8
+ with:
+ days-before-issue-stale: 60
+ days-before-issue-close: 7
+ stale-issue-label: 'stale'
+ stale-issue-message: 'This issue is stale because it has been open for 60 days with no activity.'
+ close-issue-message: 'This issue was closed because it has been inactive for 7 days since being marked as stale.'
+ days-before-pr-stale: -1
+ days-before-pr-close: -1
+ operations-per-run: 200
+ ascending: true
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 7066fb28..99087ab5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,7 @@ node_modules
*.iml
*.log
.vscode
+.tool-versions
# debug
npm-debug.log*
diff --git a/assets/add-user.svg b/assets/add-user.svg
deleted file mode 100644
index 9d0544c6..00000000
--- a/assets/add-user.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/dashboard.svg b/assets/dashboard.svg
deleted file mode 100644
index 11859d28..00000000
--- a/assets/dashboard.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/components/common/HoverTooltip.module.css b/components/common/HoverTooltip.module.css
deleted file mode 100644
index ec1abc1c..00000000
--- a/components/common/HoverTooltip.module.css
+++ /dev/null
@@ -1,43 +0,0 @@
-.chart {
- position: relative;
-}
-
-.tooltip {
- position: fixed;
- pointer-events: none;
- z-index: var(--z-index-popup);
-}
-
-.content {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- text-align: center;
-}
-
-.title {
- font-size: var(--font-size-xs);
- font-weight: 600;
-}
-
-.metric {
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: var(--font-size-sm);
- font-weight: 600;
-}
-
-.dot {
- position: relative;
- overflow: hidden;
- border-radius: 100%;
- margin-right: 8px;
- background: var(--base50);
-}
-
-.color {
- width: 10px;
- height: 10px;
-}
diff --git a/components/common/NoData.js b/components/common/NoData.js
deleted file mode 100644
index e9c95754..00000000
--- a/components/common/NoData.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import classNames from 'classnames';
-import styles from './NoData.module.css';
-import useMessages from 'hooks/useMessages';
-
-export function NoData({ className }) {
- const { formatMessage, messages } = useMessages();
-
- return (
-
- {formatMessage(messages.noDataAvailable)}
-
- );
-}
-
-export default NoData;
diff --git a/components/common/SettingsTable.js b/components/common/SettingsTable.js
deleted file mode 100644
index 8f039858..00000000
--- a/components/common/SettingsTable.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Table, TableHeader, TableBody, TableRow, TableCell, TableColumn } from 'react-basics';
-import styles from './SettingsTable.module.css';
-
-export function SettingsTable({ columns = [], data = [], children, cellRender }) {
- return (
-
-
- {(column, index) => {
- return (
-
- {column.label}
-
- );
- }}
-
-
- {(row, keys, rowIndex) => {
- row.action = children(row, keys, rowIndex);
-
- return (
-
- {(data, key, colIndex) => {
- return (
-
-
- {cellRender ? cellRender(row, data, key, colIndex) : data[key]}
-
- );
- }}
-
- );
- }}
-
-
- );
-}
-
-export default SettingsTable;
diff --git a/components/input/LanguageButton.js b/components/input/LanguageButton.js
deleted file mode 100644
index 1297d6c2..00000000
--- a/components/input/LanguageButton.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import { Icon, Button, PopupTrigger, Popup, Text } from 'react-basics';
-import classNames from 'classnames';
-import { languages } from 'lib/lang';
-import useLocale from 'hooks/useLocale';
-import Icons from 'components/icons';
-import styles from './LanguageButton.module.css';
-
-export function LanguageButton() {
- const { locale, saveLocale, dir } = useLocale();
- const items = Object.keys(languages).map(key => ({ ...languages[key], value: key }));
-
- function handleSelect(value) {
- saveLocale(value);
- }
-
- return (
-
-
-
-
- {items.map(({ value, label }) => {
- return (
-
- {label}
- {value === locale && (
-
-
-
- )}
-
- );
- })}
-
-
-
- );
-}
-
-export default LanguageButton;
diff --git a/components/input/RefreshButton.js b/components/input/RefreshButton.js
deleted file mode 100644
index b3e2b815..00000000
--- a/components/input/RefreshButton.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import { LoadingButton, Icon, Tooltip } from 'react-basics';
-import { setWebsiteDateRange } from 'store/websites';
-import useDateRange from 'hooks/useDateRange';
-import Icons from 'components/icons';
-import useMessages from 'hooks/useMessages';
-
-export function RefreshButton({ websiteId, isLoading }) {
- const { formatMessage, labels } = useMessages();
- const [dateRange] = useDateRange(websiteId);
-
- function handleClick() {
- if (!isLoading && dateRange) {
- if (/^\d+/.test(dateRange.value)) {
- setWebsiteDateRange(websiteId, dateRange.value);
- } else {
- setWebsiteDateRange(websiteId, dateRange);
- }
- }
- }
-
- return (
-
-
-
-
-
-
-
- );
-}
-
-export default RefreshButton;
diff --git a/components/layout/Footer.js b/components/layout/Footer.js
deleted file mode 100644
index 7cc5d3de..00000000
--- a/components/layout/Footer.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Row, Column } from 'react-basics';
-import { FormattedMessage } from 'react-intl';
-import { CURRENT_VERSION, HOMEPAGE_URL, REPO_URL } from 'lib/constants';
-import { labels } from 'components/messages';
-import styles from './Footer.module.css';
-
-export function Footer() {
- return (
-
- );
-}
-
-export default Footer;
diff --git a/components/layout/Footer.module.css b/components/layout/Footer.module.css
deleted file mode 100644
index a23f496d..00000000
--- a/components/layout/Footer.module.css
+++ /dev/null
@@ -1,16 +0,0 @@
-.footer {
- font-size: var(--font-size-sm);
- text-align: center;
- line-height: 30px;
- margin: 60px 0;
-}
-
-.footer a {
- color: var(--font-color100);
-}
-
-.version {
- text-align: right;
- padding-right: 10px;
- white-space: nowrap;
-}
diff --git a/components/layout/PageHeader.js b/components/layout/PageHeader.js
deleted file mode 100644
index bf243c21..00000000
--- a/components/layout/PageHeader.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from 'react';
-import styles from './PageHeader.module.css';
-
-export function PageHeader({ title, children }) {
- return (
-
- );
-}
-
-export default PageHeader;
diff --git a/components/metrics/BarChart.js b/components/metrics/BarChart.js
deleted file mode 100644
index cd7070e8..00000000
--- a/components/metrics/BarChart.js
+++ /dev/null
@@ -1,214 +0,0 @@
-import { useState, useRef, useEffect, useMemo, useCallback } from 'react';
-import { StatusLight, Loading } from 'react-basics';
-import classNames from 'classnames';
-import Chart from 'chart.js/auto';
-import HoverTooltip from 'components/common/HoverTooltip';
-import Legend from 'components/metrics/Legend';
-import { formatLongNumber } from 'lib/format';
-import { dateFormat } from 'lib/date';
-import useLocale from 'hooks/useLocale';
-import useTheme from 'hooks/useTheme';
-import { DEFAULT_ANIMATION_DURATION, THEME_COLORS } from 'lib/constants';
-import styles from './BarChart.module.css';
-
-export function BarChart({
- datasets,
- unit,
- animationDuration = DEFAULT_ANIMATION_DURATION,
- stacked = false,
- loading = false,
- onCreate = () => {},
- onUpdate = () => {},
- className,
-}) {
- const canvas = useRef();
- const chart = useRef(null);
- const [tooltip, setTooltip] = useState(null);
- const { locale } = useLocale();
- const [theme] = useTheme();
-
- const colors = useMemo(
- () => ({
- text: THEME_COLORS[theme].gray700,
- line: THEME_COLORS[theme].gray200,
- }),
- [theme],
- );
-
- const renderYLabel = label => {
- return +label > 1000 ? formatLongNumber(label) : label;
- };
-
- const renderXLabel = useCallback(
- (label, index, values) => {
- const d = new Date(values[index].value);
-
- switch (unit) {
- case 'minute':
- return dateFormat(d, 'h:mm', locale);
- case 'hour':
- return dateFormat(d, 'p', locale);
- case 'day':
- return dateFormat(d, 'MMM d', locale);
- case 'month':
- return dateFormat(d, 'MMM', locale);
- default:
- return label;
- }
- },
- [locale, unit],
- );
-
- const renderTooltip = useCallback(
- model => {
- const { opacity, labelColors, dataPoints } = model.tooltip;
-
- if (!dataPoints?.length || !opacity) {
- setTooltip(null);
- return;
- }
-
- const formats = {
- millisecond: 'T',
- second: 'pp',
- minute: 'p',
- hour: 'h:mm aaa - PP',
- day: 'PPPP',
- week: 'PPPP',
- month: 'LLLL yyyy',
- quarter: 'qqq',
- year: 'yyyy',
- };
-
- setTooltip(
-
-
{dateFormat(new Date(dataPoints[0].raw.x), formats[unit], locale)}
-
-
-
- {formatLongNumber(dataPoints[0].raw.y)} {dataPoints[0].dataset.label}
-
-
-
-
,
- );
- },
- [unit],
- );
-
- const getOptions = useCallback(() => {
- return {
- responsive: true,
- maintainAspectRatio: false,
- animation: {
- duration: animationDuration,
- resize: {
- duration: 0,
- },
- active: {
- duration: 0,
- },
- },
- plugins: {
- legend: {
- display: false,
- },
- tooltip: {
- enabled: false,
- external: renderTooltip,
- },
- },
- scales: {
- x: {
- type: 'time',
- stacked: true,
- time: {
- unit,
- },
- grid: {
- display: false,
- },
- border: {
- color: colors.line,
- },
- ticks: {
- color: colors.text,
- autoSkip: false,
- maxRotation: 0,
- callback: renderXLabel,
- },
- },
- y: {
- type: 'linear',
- min: 0,
- beginAtZero: true,
- stacked,
- grid: {
- color: colors.line,
- },
- border: {
- color: colors.line,
- },
- ticks: {
- color: colors.text,
- callback: renderYLabel,
- },
- },
- },
- };
- }, [animationDuration, renderTooltip, renderXLabel, stacked, colors, unit, locale]);
-
- const createChart = () => {
- Chart.defaults.font.family = 'Inter';
-
- const options = getOptions();
-
- chart.current = new Chart(canvas.current, {
- type: 'bar',
- data: {
- datasets,
- },
- options,
- });
-
- onCreate(chart.current);
- };
-
- const updateChart = () => {
- setTooltip(null);
-
- datasets.forEach((dataset, index) => {
- chart.current.data.datasets[index].data = dataset.data;
- chart.current.data.datasets[index].label = dataset.label;
- });
-
- chart.current.options = getOptions();
-
- onUpdate(chart.current);
-
- chart.current.update();
- };
-
- useEffect(() => {
- if (datasets) {
- if (!chart.current) {
- createChart();
- } else {
- updateChart();
- }
- }
- }, [datasets, unit, theme, animationDuration, locale]);
-
- return (
- <>
-
- {loading && }
-
-
-
- {tooltip && }
- >
- );
-}
-
-export default BarChart;
diff --git a/components/metrics/CitiesTable.js b/components/metrics/CitiesTable.js
deleted file mode 100644
index 2e74780d..00000000
--- a/components/metrics/CitiesTable.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import MetricsTable from './MetricsTable';
-import { emptyFilter } from 'lib/filters';
-import FilterLink from 'components/common/FilterLink';
-import useLocale from 'hooks/useLocale';
-import useMessages from 'hooks/useMessages';
-
-export function CitiesTable({ websiteId, ...props }) {
- const { locale } = useLocale();
- const { formatMessage, labels } = useMessages();
-
- function renderLink({ x }) {
- return (
-
-
-
- );
- }
-
- return (
-
- );
-}
-
-export default CitiesTable;
diff --git a/components/metrics/MetricsBar.js b/components/metrics/MetricsBar.js
deleted file mode 100644
index 25b93115..00000000
--- a/components/metrics/MetricsBar.js
+++ /dev/null
@@ -1,115 +0,0 @@
-import { useState } from 'react';
-import { Loading } from 'react-basics';
-import ErrorMessage from 'components/common/ErrorMessage';
-import useApi from 'hooks/useApi';
-import useDateRange from 'hooks/useDateRange';
-import usePageQuery from 'hooks/usePageQuery';
-import { formatShortTime, formatNumber, formatLongNumber } from 'lib/format';
-import MetricCard from './MetricCard';
-import useMessages from 'hooks/useMessages';
-import styles from './MetricsBar.module.css';
-
-export function MetricsBar({ websiteId }) {
- const { formatMessage, labels } = useMessages();
- const { get, useQuery } = useApi();
- const [dateRange] = useDateRange(websiteId);
- const { startDate, endDate, modified } = dateRange;
- const [format, setFormat] = useState(true);
- const {
- query: { url, referrer, os, browser, device, country, region, city },
- } = usePageQuery();
-
- const { data, error, isLoading, isFetched } = useQuery(
- [
- 'websites:stats',
- { websiteId, modified, url, referrer, os, browser, device, country, region, city },
- ],
- () =>
- get(`/websites/${websiteId}/stats`, {
- startAt: +startDate,
- endAt: +endDate,
- url,
- referrer,
- os,
- browser,
- device,
- country,
- region,
- city,
- }),
- );
-
- const formatFunc = format
- ? n => (n >= 0 ? formatLongNumber(n) : `-${formatLongNumber(Math.abs(n))}`)
- : formatNumber;
-
- function handleSetFormat() {
- setFormat(state => !state);
- }
-
- const { pageviews, uniques, bounces, totaltime } = data || {};
- const num = Math.min(data && uniques.value, data && bounces.value);
- const diffs = data && {
- pageviews: pageviews.value - pageviews.change,
- uniques: uniques.value - uniques.change,
- bounces: bounces.value - bounces.change,
- totaltime: totaltime.value - totaltime.change,
- };
-
- return (
-
- {isLoading && !isFetched && }
- {error && }
- {data && !error && isFetched && (
- <>
-
-
- Number(n).toFixed(0) + '%'}
- reverseColors
- />
- `${n < 0 ? '-' : ''}${formatShortTime(Math.abs(~~n), ['m', 's'], ' ')}`}
- />
- >
- )}
-
- );
-}
-
-export default MetricsBar;
diff --git a/components/metrics/PageviewsChart.js b/components/metrics/PageviewsChart.js
deleted file mode 100644
index 6ea16226..00000000
--- a/components/metrics/PageviewsChart.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import { useMemo } from 'react';
-import { colord } from 'colord';
-import BarChart from './BarChart';
-import { THEME_COLORS } from 'lib/constants';
-import useTheme from 'hooks/useTheme';
-import useMessages from 'hooks/useMessages';
-import useLocale from 'hooks/useLocale';
-
-export function PageviewsChart({ websiteId, data, unit, records, className, loading, ...props }) {
- const { formatMessage, labels } = useMessages();
- const [theme] = useTheme();
- const { locale } = useLocale();
-
- const colors = useMemo(() => {
- const primaryColor = colord(THEME_COLORS[theme].primary);
- return {
- views: {
- hoverBackgroundColor: primaryColor.alpha(0.7).toRgbString(),
- backgroundColor: primaryColor.alpha(0.4).toRgbString(),
- borderColor: primaryColor.alpha(0.7).toRgbString(),
- hoverBorderColor: primaryColor.toRgbString(),
- },
- visitors: {
- hoverBackgroundColor: primaryColor.alpha(0.9).toRgbString(),
- backgroundColor: primaryColor.alpha(0.6).toRgbString(),
- borderColor: primaryColor.alpha(0.9).toRgbString(),
- hoverBorderColor: primaryColor.toRgbString(),
- },
- };
- }, [theme]);
-
- const datasets = useMemo(() => {
- if (!data) return [];
-
- return [
- {
- label: formatMessage(labels.uniqueVisitors),
- data: data.sessions,
- borderWidth: 1,
- ...colors.visitors,
- },
- {
- label: formatMessage(labels.pageViews),
- data: data.pageviews,
- borderWidth: 1,
- ...colors.views,
- },
- ];
- }, [data, locale, colors]);
-
- return (
-
- );
-}
-
-export default PageviewsChart;
diff --git a/components/metrics/WebsiteChart.js b/components/metrics/WebsiteChart.js
deleted file mode 100644
index 6614d40f..00000000
--- a/components/metrics/WebsiteChart.js
+++ /dev/null
@@ -1,132 +0,0 @@
-import { useMemo } from 'react';
-import { Button, Icon, Text, Row, Column } from 'react-basics';
-import Link from 'next/link';
-import classNames from 'classnames';
-import PageviewsChart from './PageviewsChart';
-import MetricsBar from './MetricsBar';
-import WebsiteHeader from './WebsiteHeader';
-import DateFilter from 'components/input/DateFilter';
-import ErrorMessage from 'components/common/ErrorMessage';
-import FilterTags from 'components/metrics/FilterTags';
-import RefreshButton from 'components/input/RefreshButton';
-import useApi from 'hooks/useApi';
-import useDateRange from 'hooks/useDateRange';
-import useTimezone from 'hooks/useTimezone';
-import usePageQuery from 'hooks/usePageQuery';
-import { getDateArray, getDateLength } from 'lib/date';
-import Icons from 'components/icons';
-import useSticky from 'hooks/useSticky';
-import useMessages from 'hooks/useMessages';
-import styles from './WebsiteChart.module.css';
-import useLocale from 'hooks/useLocale';
-
-export function WebsiteChart({
- websiteId,
- name,
- domain,
- stickyHeader = false,
- showChart = true,
- showDetailsButton = false,
- onDataLoad = () => {},
-}) {
- const { formatMessage, labels } = useMessages();
- const [dateRange] = useDateRange(websiteId);
- const { startDate, endDate, unit, value, modified } = dateRange;
- const [timezone] = useTimezone();
- const {
- query: { url, referrer, os, browser, device, country, region, city, title },
- } = usePageQuery();
- const { get, useQuery } = useApi();
- const { ref, isSticky } = useSticky({ enabled: stickyHeader });
-
- const { data, isLoading, error } = useQuery(
- [
- 'websites:pageviews',
- { websiteId, modified, url, referrer, os, browser, device, country, region, city, title },
- ],
- () =>
- get(`/websites/${websiteId}/pageviews`, {
- startAt: +startDate,
- endAt: +endDate,
- unit,
- timezone,
- url,
- referrer,
- os,
- browser,
- device,
- country,
- region,
- city,
- title,
- }),
- { onSuccess: onDataLoad },
- );
-
- const chartData = useMemo(() => {
- if (data) {
- return {
- pageviews: getDateArray(data.pageviews, startDate, endDate, unit),
- sessions: getDateArray(data.sessions, startDate, endDate, unit),
- };
- }
- return { pageviews: [], sessions: [] };
- }, [data, modified]);
-
- const { dir } = useLocale();
- return (
- <>
-
- {showDetailsButton && (
-
-
-
- )}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {error && }
- {showChart && (
-
- )}
-
-
- >
- );
-}
-
-export default WebsiteChart;
diff --git a/components/metrics/WebsiteHeader.js b/components/metrics/WebsiteHeader.js
deleted file mode 100644
index de21c0c7..00000000
--- a/components/metrics/WebsiteHeader.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Row, Column, Text } from 'react-basics';
-import Favicon from 'components/common/Favicon';
-import ActiveUsers from './ActiveUsers';
-import styles from './WebsiteHeader.module.css';
-
-export function WebsiteHeader({ websiteId, name, domain, children }) {
- return (
-
-
-
- {name}
-
-
-
- {children}
-
-
- );
-}
-
-export default WebsiteHeader;
diff --git a/components/metrics/WebsiteHeader.module.css b/components/metrics/WebsiteHeader.module.css
deleted file mode 100644
index e5ebcca7..00000000
--- a/components/metrics/WebsiteHeader.module.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.title {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: 10px;
- font-size: 24px;
- font-weight: 700;
- overflow: hidden;
- height: 100px;
-}
-
-.info {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: flex-end;
- gap: 30px;
- min-height: 0;
-}
diff --git a/components/pages/dashboard/DashboardSettingsButton.js b/components/pages/dashboard/DashboardSettingsButton.js
deleted file mode 100644
index a963aa5f..00000000
--- a/components/pages/dashboard/DashboardSettingsButton.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import { Menu, Icon, Text, PopupTrigger, Popup, Item, Button } from 'react-basics';
-import Icons from 'components/icons';
-import { saveDashboard } from 'store/dashboard';
-import useMessages from 'hooks/useMessages';
-
-export function DashboardSettingsButton() {
- const { formatMessage, labels } = useMessages();
-
- const menuOptions = [
- {
- label: formatMessage(labels.toggleCharts),
- value: 'charts',
- },
- {
- label: formatMessage(labels.editDashboard),
- value: 'order',
- },
- ];
-
- function handleSelect(value) {
- if (value === 'charts') {
- saveDashboard(state => ({ showCharts: !state.showCharts }));
- }
- if (value === 'order') {
- saveDashboard({ editing: true });
- }
- }
-
- return (
-
-
-
-
-
-
- );
-}
-
-export default DashboardSettingsButton;
diff --git a/components/pages/realtime/RealtimeCountries.js b/components/pages/realtime/RealtimeCountries.js
deleted file mode 100644
index 525eb28f..00000000
--- a/components/pages/realtime/RealtimeCountries.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import { useCallback } from 'react';
-import DataTable from 'components/metrics/DataTable';
-import useLocale from 'hooks/useLocale';
-import useCountryNames from 'hooks/useCountryNames';
-import useMessages from 'hooks/useMessages';
-
-export function RealtimeCountries({ data }) {
- const { formatMessage, labels } = useMessages();
- const { locale } = useLocale();
- const countryNames = useCountryNames(locale);
-
- const renderCountryName = useCallback(
- ({ x }) => {countryNames[x]},
- [countryNames, locale],
- );
-
- return (
-
- );
-}
-
-export default RealtimeCountries;
diff --git a/components/pages/settings/teams/TeamMembers.js b/components/pages/settings/teams/TeamMembers.js
deleted file mode 100644
index 333e176d..00000000
--- a/components/pages/settings/teams/TeamMembers.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import { Loading, useToast } from 'react-basics';
-import TeamMembersTable from 'components/pages/settings/teams/TeamMembersTable';
-import useApi from 'hooks/useApi';
-import useMessages from 'hooks/useMessages';
-
-export function TeamMembers({ teamId, readOnly }) {
- const { toast, showToast } = useToast();
- const { get, useQuery } = useApi();
- const { formatMessage, messages } = useMessages();
- const { data, isLoading, refetch } = useQuery(['teams:users', teamId], () =>
- get(`/teams/${teamId}/users`),
- );
-
- if (isLoading) {
- return ;
- }
-
- const handleSave = async () => {
- await refetch();
- showToast({ message: formatMessage(messages.saved), variant: 'success' });
- };
-
- return (
- <>
- {toast}
-
- >
- );
-}
-
-export default TeamMembers;
diff --git a/components/pages/settings/users/UserWebsites.js b/components/pages/settings/users/UserWebsites.js
deleted file mode 100644
index 144fae44..00000000
--- a/components/pages/settings/users/UserWebsites.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Loading } from 'react-basics';
-import useApi from 'hooks/useApi';
-import WebsitesTable from 'components/pages/settings/websites/WebsitesTable';
-import useMessages from 'hooks/useMessages';
-
-export function UserWebsites({ userId }) {
- const { formatMessage, messages } = useMessages();
- const { get, useQuery } = useApi();
- const { data, isLoading } = useQuery(['user:websites', userId], () =>
- get(`/users/${userId}/websites`),
- );
- const hasData = data && data.length !== 0;
-
- if (isLoading) {
- return ;
- }
-
- return (
-
- {hasData && }
- {!hasData && formatMessage(messages.noDataAvailable)}
-
- );
-}
-
-export default UserWebsites;
diff --git a/components/pages/settings/websites/WebsitesList.js b/components/pages/settings/websites/WebsitesList.js
deleted file mode 100644
index 84f96c83..00000000
--- a/components/pages/settings/websites/WebsitesList.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Button, Icon, Text, Modal, ModalTrigger, useToast, Icons } from 'react-basics';
-import Page from 'components/layout/Page';
-import PageHeader from 'components/layout/PageHeader';
-import EmptyPlaceholder from 'components/common/EmptyPlaceholder';
-import WebsiteAddForm from 'components/pages/settings/websites/WebsiteAddForm';
-import WebsitesTable from 'components/pages/settings/websites/WebsitesTable';
-import useApi from 'hooks/useApi';
-import useUser from 'hooks/useUser';
-import useMessages from 'hooks/useMessages';
-
-export function WebsitesList() {
- const { formatMessage, labels, messages } = useMessages();
- const { user } = useUser();
- const { get, useQuery } = useApi();
- const { data, isLoading, error, refetch } = useQuery(
- ['websites', user?.id],
- () => get(`/users/${user?.id}/websites`),
- { enabled: !!user },
- );
- const { toast, showToast } = useToast();
- const hasData = data && data.length !== 0;
-
- const handleSave = async () => {
- await refetch();
- showToast({ message: formatMessage(messages.saved), variant: 'success' });
- };
-
- const addButton = (
-
-
-
- {close => }
-
-
- );
-
- return (
-
- {toast}
- {addButton}
- {hasData && }
- {!hasData && (
-
- {addButton}
-
- )}
-
- );
-}
-
-export default WebsitesList;
diff --git a/components/pages/settings/websites/WebsitesTable.js b/components/pages/settings/websites/WebsitesTable.js
deleted file mode 100644
index 902393e6..00000000
--- a/components/pages/settings/websites/WebsitesTable.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import Link from 'next/link';
-import { Button, Text, Icon, Icons } from 'react-basics';
-import SettingsTable from 'components/common/SettingsTable';
-import useMessages from 'hooks/useMessages';
-import useConfig from 'hooks/useConfig';
-
-export function WebsitesTable({ data = [] }) {
- const { formatMessage, labels } = useMessages();
- const { openExternal } = useConfig();
-
- const columns = [
- { name: 'name', label: formatMessage(labels.name) },
- { name: 'domain', label: formatMessage(labels.domain) },
- { name: 'action', label: ' ' },
- ];
-
- return (
-
- {row => {
- const { id } = row;
-
- return (
- <>
-
-
-
-
-
-
- >
- );
- }}
-
- );
-}
-
-export default WebsitesTable;
diff --git a/components/pages/websites/WebsiteChartList.js b/components/pages/websites/WebsiteChartList.js
deleted file mode 100644
index 0c552704..00000000
--- a/components/pages/websites/WebsiteChartList.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import { useMemo } from 'react';
-import { firstBy } from 'thenby';
-import WebsiteChart from 'components/metrics/WebsiteChart';
-import useDashboard from 'store/dashboard';
-import styles from './WebsiteList.module.css';
-
-export default function WebsiteChartList({ websites, showCharts, limit }) {
- const { websiteOrder } = useDashboard();
-
- const ordered = useMemo(
- () =>
- websites
- .map(website => ({ ...website, order: websiteOrder.indexOf(website.id) || 0 }))
- .sort(firstBy('order')),
- [websites, websiteOrder],
- );
-
- return (
-
- {ordered.map(({ id, name, domain }, index) => {
- return index < limit ? (
-
-
-
- ) : null;
- })}
-
- );
-}
diff --git a/components/pages/websites/WebsiteDetails.js b/components/pages/websites/WebsiteDetails.js
deleted file mode 100644
index ba80bcf8..00000000
--- a/components/pages/websites/WebsiteDetails.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import { useState } from 'react';
-import { Loading } from 'react-basics';
-import Page from 'components/layout/Page';
-import WebsiteChart from 'components/metrics/WebsiteChart';
-import useApi from 'hooks/useApi';
-import usePageQuery from 'hooks/usePageQuery';
-import { DEFAULT_ANIMATION_DURATION } from 'lib/constants';
-import WebsiteTableView from './WebsiteTableView';
-import WebsiteMenuView from './WebsiteMenuView';
-
-export default function WebsiteDetails({ websiteId }) {
- const { get, useQuery } = useApi();
- const { data, isLoading, error } = useQuery(['websites', websiteId], () =>
- get(`/websites/${websiteId}`),
- );
- const [chartLoaded, setChartLoaded] = useState(false);
-
- const {
- query: { view },
- } = usePageQuery();
-
- function handleDataLoad() {
- if (!chartLoaded) {
- setTimeout(() => setChartLoaded(true), DEFAULT_ANIMATION_DURATION);
- }
- }
-
- return (
-
-
- {!chartLoaded && }
- {chartLoaded && (
- <>
- {!view && }
- {view && }
- >
- )}
-
- );
-}
diff --git a/components/pages/websites/WebsiteDetails.module.css b/components/pages/websites/WebsiteDetails.module.css
deleted file mode 100644
index b0632be6..00000000
--- a/components/pages/websites/WebsiteDetails.module.css
+++ /dev/null
@@ -1,31 +0,0 @@
-.chart {
- margin-bottom: 30px;
-}
-
-.view {
- border-top: 1px solid var(--base300);
-}
-
-.menu {
- font-size: var(--font-size-sm);
-}
-
-.content {
- min-height: 600px;
- padding: 20px 0;
-}
-
-.backButton {
- display: flex;
- justify-content: center;
- align-items: center;
- margin-bottom: 16px;
-}
-
-.backButton svg {
- transform: rotate(180deg);
-}
-
-.hidden {
- display: none;
-}
diff --git a/db/clickhouse/migrations/01_edit_keys.sql b/db/clickhouse/migrations/01_edit_keys.sql
new file mode 100644
index 00000000..3fc7dd79
--- /dev/null
+++ b/db/clickhouse/migrations/01_edit_keys.sql
@@ -0,0 +1,18 @@
+-- edit event_data values
+ALTER TABLE "event_data" RENAME COLUMN "event_date_value" TO "date_value";
+ALTER TABLE "event_data" RENAME COLUMN "event_numeric_value" TO "number_value";
+ALTER TABLE "event_data" RENAME COLUMN "event_string_value" TO "string_value";
+ALTER TABLE "event_data" RENAME COLUMN "event_data_type" TO "data_type";
+
+-- add job_id
+ALTER TABLE "website_event" ADD COLUMN "job_id" UUID AFTER "created_at";
+ALTER TABLE "event_data" ADD COLUMN "job_id" UUID AFTER "created_at";
+
+-- update event_data string
+alter table umami.event_data
+update string_value = number_value
+where data_type = 2
+
+alter table umami.event_data
+update string_value = replaceOne(concat(CAST(toDateTime(date_value, 'UTC'), 'String'),'Z'), ' ', 'T')
+where data_type = 4
\ No newline at end of file
diff --git a/db/clickhouse/schema.sql b/db/clickhouse/schema.sql
index 77176413..94b560c3 100644
--- a/db/clickhouse/schema.sql
+++ b/db/clickhouse/schema.sql
@@ -6,7 +6,7 @@ CREATE TABLE umami.website_event
website_id UUID,
session_id UUID,
event_id UUID,
- --session
+ --sessions
hostname LowCardinality(String),
browser LowCardinality(String),
os LowCardinality(String),
@@ -17,17 +17,18 @@ CREATE TABLE umami.website_event
subdivision1 LowCardinality(String),
subdivision2 LowCardinality(String),
city String,
- --pageview
+ --pageviews
url_path String,
url_query String,
referrer_path String,
referrer_query String,
referrer_domain String,
page_title String,
- --event
+ --events
event_type UInt32,
event_name String,
- created_at DateTime('UTC')
+ created_at DateTime('UTC'),
+ job_id UUID
)
engine = MergeTree
ORDER BY (website_id, session_id, created_at)
@@ -37,7 +38,7 @@ CREATE TABLE umami.website_event_queue (
website_id UUID,
session_id UUID,
event_id UUID,
- --session
+ --sessions
hostname LowCardinality(String),
browser LowCardinality(String),
os LowCardinality(String),
@@ -48,25 +49,28 @@ CREATE TABLE umami.website_event_queue (
subdivision1 LowCardinality(String),
subdivision2 LowCardinality(String),
city String,
- --pageview
+ --pageviews
url_path String,
url_query String,
referrer_path String,
referrer_query String,
referrer_domain String,
page_title String,
- --event
+ --events
event_type UInt32,
event_name String,
- created_at DateTime('UTC')
+ created_at DateTime('UTC'),
+ --virtual columns
+ _error String,
+ _raw_message String
)
ENGINE = Kafka
SETTINGS kafka_broker_list = 'domain:9092,domain:9093,domain:9094', -- input broker list
- kafka_topic_list = 'event',
+ kafka_topic_list = 'events',
kafka_group_name = 'event_consumer_group',
kafka_format = 'JSONEachRow',
kafka_max_block_size = 1048576,
- kafka_skip_broken_messages = 100;
+ kafka_handle_error_mode = 'stream';
CREATE MATERIALIZED VIEW umami.website_event_queue_mv TO umami.website_event AS
SELECT website_id,
@@ -93,6 +97,19 @@ SELECT website_id,
created_at
FROM umami.website_event_queue;
+CREATE MATERIALIZED VIEW umami.website_event_errors_mv
+(
+ error String,
+ raw String
+)
+ENGINE = MergeTree
+ORDER BY (error, raw)
+SETTINGS index_granularity = 8192 AS
+SELECT _error AS error,
+ _raw_message AS raw
+FROM umami.website_event_queue
+WHERE length(_error) > 0;
+
CREATE TABLE umami.event_data
(
website_id UUID,
@@ -101,11 +118,12 @@ CREATE TABLE umami.event_data
url_path String,
event_name String,
event_key String,
- event_string_value Nullable(String),
- event_numeric_value Nullable(Decimal64(4)), --922337203685477.5625
- event_date_value Nullable(DateTime('UTC')),
- event_data_type UInt32,
- created_at DateTime('UTC')
+ string_value Nullable(String),
+ number_value Nullable(Decimal64(4)), --922337203685477.5625
+ date_value Nullable(DateTime('UTC')),
+ data_type UInt32,
+ created_at DateTime('UTC'),
+ job_id UUID
)
engine = MergeTree
ORDER BY (website_id, event_id, event_key, created_at)
@@ -118,11 +136,14 @@ CREATE TABLE umami.event_data_queue (
url_path String,
event_name String,
event_key String,
- event_string_value Nullable(String),
- event_numeric_value Nullable(Decimal64(4)), --922337203685477.5625
- event_date_value Nullable(DateTime('UTC')),
- event_data_type UInt32,
- created_at DateTime('UTC')
+ string_value Nullable(String),
+ number_value Nullable(Decimal64(4)), --922337203685477.5625
+ date_value Nullable(DateTime('UTC')),
+ data_type UInt32,
+ created_at DateTime('UTC'),
+ --virtual columns
+ _error String,
+ _raw_message String
)
ENGINE = Kafka
SETTINGS kafka_broker_list = 'domain:9092,domain:9093,domain:9094', -- input broker list
@@ -130,7 +151,7 @@ SETTINGS kafka_broker_list = 'domain:9092,domain:9093,domain:9094', -- input bro
kafka_group_name = 'event_data_consumer_group',
kafka_format = 'JSONEachRow',
kafka_max_block_size = 1048576,
- kafka_skip_broken_messages = 100;
+ kafka_handle_error_mode = 'stream';
CREATE MATERIALIZED VIEW umami.event_data_queue_mv TO umami.event_data AS
SELECT website_id,
@@ -139,9 +160,22 @@ SELECT website_id,
url_path,
event_name,
event_key,
- event_string_value,
- event_numeric_value,
- event_date_value,
- event_data_type,
+ string_value,
+ number_value,
+ date_value,
+ data_type,
created_at
-FROM umami.event_data_queue;
\ No newline at end of file
+FROM umami.event_data_queue;
+
+CREATE MATERIALIZED VIEW umami.event_data_errors_mv
+(
+ error String,
+ raw String
+)
+ENGINE = MergeTree
+ORDER BY (error, raw)
+SETTINGS index_granularity = 8192 AS
+SELECT _error AS error,
+ _raw_message AS raw
+FROM umami.event_data_queue
+WHERE length(_error) > 0;
\ No newline at end of file
diff --git a/db/mysql/migrations/02_report_schema_session_data/migration.sql b/db/mysql/migrations/02_report_schema_session_data/migration.sql
new file mode 100644
index 00000000..49708899
--- /dev/null
+++ b/db/mysql/migrations/02_report_schema_session_data/migration.sql
@@ -0,0 +1,53 @@
+-- AlterTable
+ALTER TABLE `event_data` RENAME COLUMN `event_data_type` TO `data_type`;
+ALTER TABLE `event_data` RENAME COLUMN `event_date_value` TO `date_value`;
+ALTER TABLE `event_data` RENAME COLUMN `event_id` TO `event_data_id`;
+ALTER TABLE `event_data` RENAME COLUMN `event_numeric_value` TO `number_value`;
+ALTER TABLE `event_data` RENAME COLUMN `event_string_value` TO `string_value`;
+
+-- CreateTable
+CREATE TABLE `session_data` (
+ `session_data_id` VARCHAR(36) NOT NULL,
+ `website_id` VARCHAR(36) NOT NULL,
+ `session_id` VARCHAR(36) NOT NULL,
+ `event_key` VARCHAR(500) NOT NULL,
+ `string_value` VARCHAR(500) NULL,
+ `number_value` DECIMAL(19, 4) NULL,
+ `date_value` TIMESTAMP(0) NULL,
+ `data_type` INTEGER UNSIGNED NOT NULL,
+ `created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
+
+ INDEX `session_data_created_at_idx`(`created_at`),
+ INDEX `session_data_website_id_idx`(`website_id`),
+ INDEX `session_data_session_id_idx`(`session_id`),
+ PRIMARY KEY (`session_data_id`)
+) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+
+-- CreateTable
+CREATE TABLE `report` (
+ `report_id` VARCHAR(36) NOT NULL,
+ `user_id` VARCHAR(36) NOT NULL,
+ `website_id` VARCHAR(36) NOT NULL,
+ `type` VARCHAR(200) NOT NULL,
+ `name` VARCHAR(200) NOT NULL,
+ `description` VARCHAR(500) NOT NULL,
+ `parameters` VARCHAR(6000) NOT NULL,
+ `created_at` TIMESTAMP(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
+ `updated_at` TIMESTAMP(0) NULL,
+
+ UNIQUE INDEX `report_report_id_key`(`report_id`),
+ INDEX `report_user_id_idx`(`user_id`),
+ INDEX `report_website_id_idx`(`website_id`),
+ INDEX `report_type_idx`(`type`),
+ INDEX `report_name_idx`(`name`),
+ PRIMARY KEY (`report_id`)
+) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+
+-- EventData migration
+UPDATE event_data
+SET string_value = number_value
+WHERE data_type = 2;
+
+UPDATE event_data
+SET string_value = CONCAT(REPLACE(DATE_FORMAT(date_value, '%Y-%m-%d %T'), ' ', 'T'), 'Z')
+WHERE data_type = 4;
\ No newline at end of file
diff --git a/db/mysql/migrations/03_metric_performance_index/migration.sql b/db/mysql/migrations/03_metric_performance_index/migration.sql
new file mode 100644
index 00000000..64681364
--- /dev/null
+++ b/db/mysql/migrations/03_metric_performance_index/migration.sql
@@ -0,0 +1,50 @@
+-- CreateIndex
+CREATE INDEX `event_data_website_id_created_at_idx` ON `event_data`(`website_id`, `created_at`);
+
+-- CreateIndex
+CREATE INDEX `event_data_website_id_created_at_event_key_idx` ON `event_data`(`website_id`, `created_at`, `event_key`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_idx` ON `session`(`website_id`, `created_at`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_hostname_idx` ON `session`(`website_id`, `created_at`, `hostname`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_browser_idx` ON `session`(`website_id`, `created_at`, `browser`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_os_idx` ON `session`(`website_id`, `created_at`, `os`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_device_idx` ON `session`(`website_id`, `created_at`, `device`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_screen_idx` ON `session`(`website_id`, `created_at`, `screen`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_language_idx` ON `session`(`website_id`, `created_at`, `language`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_country_idx` ON `session`(`website_id`, `created_at`, `country`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_subdivision1_idx` ON `session`(`website_id`, `created_at`, `subdivision1`);
+
+-- CreateIndex
+CREATE INDEX `session_website_id_created_at_city_idx` ON `session`(`website_id`, `created_at`, `city`);
+
+-- CreateIndex
+CREATE INDEX `website_event_website_id_created_at_url_path_idx` ON `website_event`(`website_id`, `created_at`, `url_path`);
+
+-- CreateIndex
+CREATE INDEX `website_event_website_id_created_at_url_query_idx` ON `website_event`(`website_id`, `created_at`, `url_query`);
+
+-- CreateIndex
+CREATE INDEX `website_event_website_id_created_at_referrer_domain_idx` ON `website_event`(`website_id`, `created_at`, `referrer_domain`);
+
+-- CreateIndex
+CREATE INDEX `website_event_website_id_created_at_page_title_idx` ON `website_event`(`website_id`, `created_at`, `page_title`);
+
+-- CreateIndex
+CREATE INDEX `website_event_website_id_created_at_event_name_idx` ON `website_event`(`website_id`, `created_at`, `event_name`);
diff --git a/db/mysql/schema.prisma b/db/mysql/schema.prisma
index 6455c8c0..38bb91f4 100644
--- a/db/mysql/schema.prisma
+++ b/db/mysql/schema.prisma
@@ -14,11 +14,12 @@ model User {
password String @db.VarChar(60)
role String @map("role") @db.VarChar(50)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamp(0)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamp(0)
deletedAt DateTime? @map("deleted_at") @db.Timestamp(0)
website Website[]
teamUser TeamUser[]
+ report Report[]
@@map("user")
}
@@ -39,9 +40,20 @@ model Session {
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
websiteEvent WebsiteEvent[]
+ sessionData SessionData[]
@@index([createdAt])
@@index([websiteId])
+ @@index([websiteId, createdAt])
+ @@index([websiteId, createdAt, hostname])
+ @@index([websiteId, createdAt, browser])
+ @@index([websiteId, createdAt, os])
+ @@index([websiteId, createdAt, device])
+ @@index([websiteId, createdAt, screen])
+ @@index([websiteId, createdAt, language])
+ @@index([websiteId, createdAt, country])
+ @@index([websiteId, createdAt, subdivision1])
+ @@index([websiteId, createdAt, city])
@@map("session")
}
@@ -53,12 +65,14 @@ model Website {
resetAt DateTime? @map("reset_at") @db.Timestamp(0)
userId String? @map("user_id") @db.VarChar(36)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamp(0)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamp(0)
deletedAt DateTime? @map("deleted_at") @db.Timestamp(0)
user User? @relation(fields: [userId], references: [id])
teamWebsite TeamWebsite[]
eventData EventData[]
+ report Report[]
+ sessionData SessionData[]
@@index([userId])
@@index([createdAt])
@@ -87,20 +101,25 @@ model WebsiteEvent {
@@index([sessionId])
@@index([websiteId])
@@index([websiteId, createdAt])
+ @@index([websiteId, createdAt, urlPath])
+ @@index([websiteId, createdAt, urlQuery])
+ @@index([websiteId, createdAt, referrerDomain])
+ @@index([websiteId, createdAt, pageTitle])
+ @@index([websiteId, createdAt, eventName])
@@index([websiteId, sessionId, createdAt])
@@map("website_event")
}
model EventData {
- id String @id() @map("event_id") @db.VarChar(36)
- websiteEventId String @map("website_event_id") @db.VarChar(36)
- websiteId String @map("website_id") @db.VarChar(36)
- eventKey String @map("event_key") @db.VarChar(500)
- eventStringValue String? @map("event_string_value") @db.VarChar(500)
- eventNumericValue Decimal? @map("event_numeric_value") @db.Decimal(19, 4)
- eventDateValue DateTime? @map("event_date_value") @db.Timestamp(0)
- eventDataType Int @map("event_data_type") @db.UnsignedInt
- createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
+ id String @id() @map("event_data_id") @db.VarChar(36)
+ websiteId String @map("website_id") @db.VarChar(36)
+ websiteEventId String @map("website_event_id") @db.VarChar(36)
+ eventKey String @map("event_key") @db.VarChar(500)
+ stringValue String? @map("string_value") @db.VarChar(500)
+ numberValue Decimal? @map("number_value") @db.Decimal(19, 4)
+ dateValue DateTime? @map("date_value") @db.Timestamp(0)
+ dataType Int @map("data_type") @db.UnsignedInt
+ createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
website Website @relation(fields: [websiteId], references: [id])
websiteEvent WebsiteEvent @relation(fields: [websiteEventId], references: [id])
@@ -109,15 +128,37 @@ model EventData {
@@index([websiteId])
@@index([websiteEventId])
@@index([websiteId, websiteEventId, createdAt])
+ @@index([websiteId, createdAt])
+ @@index([websiteId, createdAt, eventKey])
@@map("event_data")
}
+model SessionData {
+ id String @id() @map("session_data_id") @db.VarChar(36)
+ websiteId String @map("website_id") @db.VarChar(36)
+ sessionId String @map("session_id") @db.VarChar(36)
+ eventKey String @map("event_key") @db.VarChar(500)
+ stringValue String? @map("string_value") @db.VarChar(500)
+ numberValue Decimal? @map("number_value") @db.Decimal(19, 4)
+ dateValue DateTime? @map("date_value") @db.Timestamp(0)
+ dataType Int @map("data_type") @db.UnsignedInt
+ createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
+
+ website Website @relation(fields: [websiteId], references: [id])
+ session Session @relation(fields: [sessionId], references: [id])
+
+ @@index([createdAt])
+ @@index([websiteId])
+ @@index([sessionId])
+ @@map("session_data")
+}
+
model Team {
id String @id() @unique() @map("team_id") @db.VarChar(36)
name String @db.VarChar(50)
accessCode String? @unique @map("access_code") @db.VarChar(50)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamp(0)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamp(0)
teamUser TeamUser[]
teamWebsite TeamWebsite[]
@@ -132,7 +173,7 @@ model TeamUser {
userId String @map("user_id") @db.VarChar(36)
role String @map("role") @db.VarChar(50)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamp(0)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamp(0)
team Team @relation(fields: [teamId], references: [id])
user User @relation(fields: [userId], references: [id])
@@ -155,3 +196,24 @@ model TeamWebsite {
@@index([websiteId])
@@map("team_website")
}
+
+model Report {
+ id String @id() @unique() @map("report_id") @db.VarChar(36)
+ userId String @map("user_id") @db.VarChar(36)
+ websiteId String @map("website_id") @db.VarChar(36)
+ type String @map("type") @db.VarChar(200)
+ name String @map("name") @db.VarChar(200)
+ description String @map("description") @db.VarChar(500)
+ parameters String @map("parameters") @db.VarChar(6000)
+ createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamp(0)
+
+ user User @relation(fields: [userId], references: [id])
+ website Website @relation(fields: [websiteId], references: [id])
+
+ @@index([userId])
+ @@index([websiteId])
+ @@index([type])
+ @@index([name])
+ @@map("report")
+}
diff --git a/db/postgresql/migrations/02_report_schema_session_data/migration.sql b/db/postgresql/migrations/02_report_schema_session_data/migration.sql
new file mode 100644
index 00000000..5fe6ef9d
--- /dev/null
+++ b/db/postgresql/migrations/02_report_schema_session_data/migration.sql
@@ -0,0 +1,70 @@
+-- AlterTable
+ALTER TABLE "event_data" RENAME COLUMN "event_data_type" TO "data_type";
+ALTER TABLE "event_data" RENAME COLUMN "event_date_value" TO "date_value";
+ALTER TABLE "event_data" RENAME COLUMN "event_id" TO "event_data_id";
+ALTER TABLE "event_data" RENAME COLUMN "event_numeric_value" TO "number_value";
+ALTER TABLE "event_data" RENAME COLUMN "event_string_value" TO "string_value";
+
+-- CreateTable
+CREATE TABLE "session_data" (
+ "session_data_id" UUID NOT NULL,
+ "website_id" UUID NOT NULL,
+ "session_id" UUID NOT NULL,
+ "session_key" VARCHAR(500) NOT NULL,
+ "string_value" VARCHAR(500),
+ "number_value" DECIMAL(19,4),
+ "date_value" TIMESTAMPTZ(6),
+ "data_type" INTEGER NOT NULL,
+ "created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
+ "deleted_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
+
+ CONSTRAINT "session_data_pkey" PRIMARY KEY ("session_data_id")
+);
+
+-- CreateTable
+CREATE TABLE "report" (
+ "report_id" UUID NOT NULL,
+ "user_id" UUID NOT NULL,
+ "website_id" UUID NOT NULL,
+ "type" VARCHAR(200) NOT NULL,
+ "name" VARCHAR(200) NOT NULL,
+ "description" VARCHAR(500) NOT NULL,
+ "parameters" VARCHAR(6000) NOT NULL,
+ "created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
+ "updated_at" TIMESTAMPTZ(6),
+
+ CONSTRAINT "report_pkey" PRIMARY KEY ("report_id")
+);
+
+-- CreateIndex
+CREATE INDEX "session_data_created_at_idx" ON "session_data"("created_at");
+
+-- CreateIndex
+CREATE INDEX "session_data_website_id_idx" ON "session_data"("website_id");
+
+-- CreateIndex
+CREATE INDEX "session_data_session_id_idx" ON "session_data"("session_id");
+
+-- CreateIndex
+CREATE UNIQUE INDEX "report_report_id_key" ON "report"("report_id");
+
+-- CreateIndex
+CREATE INDEX "report_user_id_idx" ON "report"("user_id");
+
+-- CreateIndex
+CREATE INDEX "report_website_id_idx" ON "report"("website_id");
+
+-- CreateIndex
+CREATE INDEX "report_type_idx" ON "report"("type");
+
+-- CreateIndex
+CREATE INDEX "report_name_idx" ON "report"("name");
+
+-- EventData migration
+UPDATE "event_data"
+SET string_value = number_value
+WHERE data_type = 2;
+
+UPDATE "event_data"
+SET string_value = CONCAT(REPLACE(TO_CHAR(date_value, 'YYYY-MM-DD HH24:MI:SS'), ' ', 'T'), 'Z')
+WHERE data_type = 4;
\ No newline at end of file
diff --git a/db/postgresql/migrations/03_metric_performance_index/migration.sql b/db/postgresql/migrations/03_metric_performance_index/migration.sql
new file mode 100644
index 00000000..5db7aa50
--- /dev/null
+++ b/db/postgresql/migrations/03_metric_performance_index/migration.sql
@@ -0,0 +1,50 @@
+-- CreateIndex
+CREATE INDEX "event_data_website_id_created_at_idx" ON "event_data"("website_id", "created_at");
+
+-- CreateIndex
+CREATE INDEX "event_data_website_id_created_at_event_key_idx" ON "event_data"("website_id", "created_at", "event_key");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_idx" ON "session"("website_id", "created_at");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_hostname_idx" ON "session"("website_id", "created_at", "hostname");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_browser_idx" ON "session"("website_id", "created_at", "browser");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_os_idx" ON "session"("website_id", "created_at", "os");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_device_idx" ON "session"("website_id", "created_at", "device");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_screen_idx" ON "session"("website_id", "created_at", "screen");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_language_idx" ON "session"("website_id", "created_at", "language");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_country_idx" ON "session"("website_id", "created_at", "country");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_subdivision1_idx" ON "session"("website_id", "created_at", "subdivision1");
+
+-- CreateIndex
+CREATE INDEX "session_website_id_created_at_city_idx" ON "session"("website_id", "created_at", "city");
+
+-- CreateIndex
+CREATE INDEX "website_event_website_id_created_at_url_path_idx" ON "website_event"("website_id", "created_at", "url_path");
+
+-- CreateIndex
+CREATE INDEX "website_event_website_id_created_at_url_query_idx" ON "website_event"("website_id", "created_at", "url_query");
+
+-- CreateIndex
+CREATE INDEX "website_event_website_id_created_at_referrer_domain_idx" ON "website_event"("website_id", "created_at", "referrer_domain");
+
+-- CreateIndex
+CREATE INDEX "website_event_website_id_created_at_page_title_idx" ON "website_event"("website_id", "created_at", "page_title");
+
+-- CreateIndex
+CREATE INDEX "website_event_website_id_created_at_event_name_idx" ON "website_event"("website_id", "created_at", "event_name");
diff --git a/db/postgresql/schema.prisma b/db/postgresql/schema.prisma
index b336bce4..d7a70ab0 100644
--- a/db/postgresql/schema.prisma
+++ b/db/postgresql/schema.prisma
@@ -14,11 +14,12 @@ model User {
password String @db.VarChar(60)
role String @map("role") @db.VarChar(50)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamptz(6)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamptz(6)
deletedAt DateTime? @map("deleted_at") @db.Timestamptz(6)
website Website[]
teamUser TeamUser[]
+ report Report[]
@@map("user")
}
@@ -39,9 +40,20 @@ model Session {
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
websiteEvent WebsiteEvent[]
+ sessionData SessionData[]
@@index([createdAt])
@@index([websiteId])
+ @@index([websiteId, createdAt])
+ @@index([websiteId, createdAt, hostname])
+ @@index([websiteId, createdAt, browser])
+ @@index([websiteId, createdAt, os])
+ @@index([websiteId, createdAt, device])
+ @@index([websiteId, createdAt, screen])
+ @@index([websiteId, createdAt, language])
+ @@index([websiteId, createdAt, country])
+ @@index([websiteId, createdAt, subdivision1])
+ @@index([websiteId, createdAt, city])
@@map("session")
}
@@ -53,12 +65,14 @@ model Website {
resetAt DateTime? @map("reset_at") @db.Timestamptz(6)
userId String? @map("user_id") @db.Uuid
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamptz(6)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamptz(6)
deletedAt DateTime? @map("deleted_at") @db.Timestamptz(6)
user User? @relation(fields: [userId], references: [id])
teamWebsite TeamWebsite[]
eventData EventData[]
+ report Report[]
+ sessionData SessionData[]
@@index([userId])
@@index([createdAt])
@@ -87,20 +101,25 @@ model WebsiteEvent {
@@index([sessionId])
@@index([websiteId])
@@index([websiteId, createdAt])
+ @@index([websiteId, createdAt, urlPath])
+ @@index([websiteId, createdAt, urlQuery])
+ @@index([websiteId, createdAt, referrerDomain])
+ @@index([websiteId, createdAt, pageTitle])
+ @@index([websiteId, createdAt, eventName])
@@index([websiteId, sessionId, createdAt])
@@map("website_event")
}
model EventData {
- id String @id() @map("event_id") @db.Uuid
- websiteId String @map("website_id") @db.Uuid
- websiteEventId String @map("website_event_id") @db.Uuid
- eventKey String @map("event_key") @db.VarChar(500)
- eventStringValue String? @map("event_string_value") @db.VarChar(500)
- eventNumericValue Decimal? @map("event_numeric_value") @db.Decimal(19, 4)
- eventDateValue DateTime? @map("event_date_value") @db.Timestamptz(6)
- eventDataType Int @map("event_data_type") @db.Integer
- createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
+ id String @id() @map("event_data_id") @db.Uuid
+ websiteId String @map("website_id") @db.Uuid
+ websiteEventId String @map("website_event_id") @db.Uuid
+ eventKey String @map("event_key") @db.VarChar(500)
+ stringValue String? @map("string_value") @db.VarChar(500)
+ numberValue Decimal? @map("number_value") @db.Decimal(19, 4)
+ dateValue DateTime? @map("date_value") @db.Timestamptz(6)
+ dataType Int @map("data_type") @db.Integer
+ createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
website Website @relation(fields: [websiteId], references: [id])
websiteEvent WebsiteEvent @relation(fields: [websiteEventId], references: [id])
@@ -108,15 +127,38 @@ model EventData {
@@index([createdAt])
@@index([websiteId])
@@index([websiteEventId])
+ @@index([websiteId, createdAt])
+ @@index([websiteId, createdAt, eventKey])
@@map("event_data")
}
+model SessionData {
+ id String @id() @map("session_data_id") @db.Uuid
+ websiteId String @map("website_id") @db.Uuid
+ sessionId String @map("session_id") @db.Uuid
+ sessionKey String @map("session_key") @db.VarChar(500)
+ stringValue String? @map("string_value") @db.VarChar(500)
+ numberValue Decimal? @map("number_value") @db.Decimal(19, 4)
+ dateValue DateTime? @map("date_value") @db.Timestamptz(6)
+ dataType Int @map("data_type") @db.Integer
+ createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
+ deletedAt DateTime? @default(now()) @map("deleted_at") @db.Timestamptz(6)
+
+ website Website @relation(fields: [websiteId], references: [id])
+ session Session @relation(fields: [sessionId], references: [id])
+
+ @@index([createdAt])
+ @@index([websiteId])
+ @@index([sessionId])
+ @@map("session_data")
+}
+
model Team {
id String @id() @unique() @map("team_id") @db.Uuid
name String @db.VarChar(50)
accessCode String? @unique @map("access_code") @db.VarChar(50)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamptz(6)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamptz(6)
teamUser TeamUser[]
teamWebsite TeamWebsite[]
@@ -131,7 +173,7 @@ model TeamUser {
userId String @map("user_id") @db.Uuid
role String @map("role") @db.VarChar(50)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
- updatedAt DateTime? @map("updated_at") @updatedAt @db.Timestamptz(6)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamptz(6)
team Team @relation(fields: [teamId], references: [id])
user User @relation(fields: [userId], references: [id])
@@ -154,3 +196,24 @@ model TeamWebsite {
@@index([websiteId])
@@map("team_website")
}
+
+model Report {
+ id String @id() @unique() @map("report_id") @db.Uuid
+ userId String @map("user_id") @db.Uuid
+ websiteId String @map("website_id") @db.Uuid
+ type String @map("type") @db.VarChar(200)
+ name String @map("name") @db.VarChar(200)
+ description String @map("description") @db.VarChar(500)
+ parameters String @map("parameters") @db.VarChar(6000)
+ createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
+ updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamptz(6)
+
+ user User @relation(fields: [userId], references: [id])
+ website Website @relation(fields: [websiteId], references: [id])
+
+ @@index([userId])
+ @@index([websiteId])
+ @@index([type])
+ @@index([name])
+ @@map("report")
+}
diff --git a/docker-compose.yml b/docker-compose.yml
index bd63c68b..b8da9373 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,7 +10,8 @@ services:
DATABASE_TYPE: postgresql
APP_SECRET: replace-me-with-a-random-string
depends_on:
- - db
+ db:
+ condition: service_healthy
restart: always
db:
image: postgres:15-alpine
@@ -19,8 +20,12 @@ services:
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
- umami-db-data:/var/lib/postgresql/data
restart: always
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
+ interval: 5s
+ timeout: 5s
+ retries: 5
volumes:
umami-db-data:
diff --git a/hooks/useDateRange.js b/hooks/useDateRange.js
deleted file mode 100644
index a9896065..00000000
--- a/hooks/useDateRange.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { parseDateRange } from 'lib/date';
-import { setItem } from 'next-basics';
-import { DATE_RANGE_CONFIG, DEFAULT_DATE_RANGE } from 'lib/constants';
-import useLocale from './useLocale';
-import websiteStore, { setWebsiteDateRange } from 'store/websites';
-import appStore, { setDateRange } from 'store/app';
-
-export default function useDateRange(websiteId) {
- const { locale } = useLocale();
- const websiteConfig = websiteStore(state => state[websiteId]?.dateRange);
- const defaultConfig = DEFAULT_DATE_RANGE;
- const globalConfig = appStore(state => state.dateRange);
- const dateRange = parseDateRange(websiteConfig || globalConfig || defaultConfig, locale);
-
- function saveDateRange(value) {
- if (websiteId) {
- setWebsiteDateRange(websiteId, value);
- } else {
- setItem(DATE_RANGE_CONFIG, value);
- setDateRange(value);
- }
- }
-
- return [dateRange, saveDateRange];
-}
diff --git a/hooks/useTheme.js b/hooks/useTheme.js
deleted file mode 100644
index c50f442f..00000000
--- a/hooks/useTheme.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { useEffect } from 'react';
-import useStore, { setTheme } from 'store/app';
-import { getItem, setItem } from 'next-basics';
-import { THEME_CONFIG } from 'lib/constants';
-
-const selector = state => state.theme;
-
-export default function useTheme() {
- const defaultTheme =
- typeof window !== 'undefined'
- ? window?.matchMedia('(prefers-color-scheme: dark)')?.matches
- ? 'dark'
- : 'light'
- : 'light';
- const theme = useStore(selector) || getItem(THEME_CONFIG) || defaultTheme;
-
- function saveTheme(value) {
- setItem(THEME_CONFIG, value);
- setTheme(value);
- }
-
- useEffect(() => {
- document.body.setAttribute('data-theme', theme);
- }, [theme]);
-
- useEffect(() => {
- const url = new URL(window?.location?.href);
- const theme = url.searchParams.get('theme');
-
- if (['light', 'dark'].includes(theme)) {
- saveTheme(theme);
- }
- }, []);
-
- return [theme, saveTheme];
-}
diff --git a/jsconfig.json b/jsconfig.json
index b639b0f8..738e8a46 100644
--- a/jsconfig.json
+++ b/jsconfig.json
@@ -1,5 +1,5 @@
{
"compilerOptions": {
- "baseUrl": "."
+ "baseUrl": "./src"
}
-}
\ No newline at end of file
+}
diff --git a/lang-ignore.json b/lang-ignore.json
index d4707cda..4a0f9d41 100644
--- a/lang-ignore.json
+++ b/lang-ignore.json
@@ -1,16 +1,32 @@
{
"cs-CZ": ["label.reset", "metrics.device.tablet"],
- "de-DE": [
- "label.administrator",
- "label.name",
+ "de-CH": [
+ "label.admin",
+ "label.analytics",
+ "label.desktop",
+ "label.details",
"label.domain",
- "label.theme",
- "metrics.device.desktop",
- "metrics.device.laptop",
- "metrics.device.tablet",
- "metrics.referrers",
- "metrics.utm",
- "metrics.utm_medium"
+ "label.laptop",
+ "label.tablet",
+ "label.name",
+ "label.sessions",
+ "label.team",
+ "label.team-id",
+ "label.teams"
+ ],
+ "de-DE": [
+ "label.admin",
+ "label.analytics",
+ "label.desktop",
+ "label.details",
+ "label.domain",
+ "label.laptop",
+ "label.tablet",
+ "label.name",
+ "label.sessions",
+ "label.team",
+ "label.team-id",
+ "label.teams"
],
"en-GB": "*",
"fr-FR": ["metrics.actions", "metrics.pages"],
@@ -22,12 +38,15 @@
],
"nb-NO": ["label.administrator", "label.dashboard"],
"nl-NL": [
- "label.administrator",
- "label.websites",
- "metrics.browsers",
- "metrics.device.desktop",
- "metrics.device.laptop",
- "metrics.device.tablet"
+ "label.analytics",
+ "label.browsers",
+ "label.laptop",
+ "label.tablet",
+ "label.team",
+ "label.team-id",
+ "label.teams",
+ "label.website-id",
+ "label.websites"
],
"it-IT": [
"label.password",
@@ -37,9 +56,5 @@
"metrics.device.tablet",
"metrics.filter.raw"
],
- "pt-PT": [
- "label.websites",
- "metrics.device.desktop",
- "metrics.device.tablet"
- ]
+ "pt-PT": ["label.websites", "metrics.device.desktop", "metrics.device.tablet"]
}
diff --git a/lang/am-ET.json b/lang/am-ET.json
deleted file mode 100644
index f58a25cd..00000000
--- a/lang/am-ET.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "label.accounts": "Accounts",
- "label.add-account": "Add account",
- "label.add-column": "Add column",
- "label.add-filter": "Add filter",
- "label.add-website": "Add website",
- "label.administrator": "Administrator",
- "label.all": "All",
- "label.all-time": "All time",
- "label.all-websites": "All websites",
- "label.back": "Back",
- "label.cancel": "Cancel",
- "label.change-password": "Change password",
- "label.confirm-password": "Confirm password",
- "label.copy-to-clipboard": "Copy to clipboard",
- "label.current-password": "Current password",
- "label.custom-range": "Custom range",
- "label.dashboard": "Dashboard",
- "label.date-range": "Date range",
- "label.default-date-range": "Default date range",
- "label.delete": "Delete",
- "label.delete-account": "Delete account",
- "label.delete-website": "Delete website",
- "label.dismiss": "Dismiss",
- "label.domain": "Domain",
- "label.edit": "Edit",
- "label.edit-account": "Edit account",
- "label.edit-website": "Edit website",
- "label.enable-share-url": "Enable share URL",
- "label.event-data": "Event Data",
- "label.field-name": "Field Name",
- "label.invalid": "Invalid",
- "label.invalid-domain": "Invalid domain",
- "label.language": "Language",
- "label.last-days": "Last {x} days",
- "label.last-hours": "Last {x} hours",
- "label.logged-in-as": "Logged in as {username}",
- "label.login": "Login",
- "label.logout": "Logout",
- "label.more": "More",
- "label.name": "Name",
- "label.new-password": "New password",
- "label.none": "None",
- "label.owner": "Owner",
- "label.password": "Password",
- "label.passwords-dont-match": "Passwords don't match",
- "label.profile": "Profile",
- "label.realtime": "Realtime",
- "label.realtime-logs": "Realtime logs",
- "label.refresh": "Refresh",
- "label.required": "Required",
- "label.reset": "Reset",
- "label.reset-website": "Reset statistics",
- "label.save": "Save",
- "label.search": "Search",
- "label.settings": "Settings",
- "label.share-url": "Share URL",
- "label.single-day": "Single day",
- "label.theme": "Theme",
- "label.this-month": "This month",
- "label.this-week": "This week",
- "label.this-year": "This year",
- "label.timezone": "Timezone",
- "label.today": "Today",
- "label.tracking-code": "Tracking code",
- "label.type": "Type",
- "label.unknown": "Unknown",
- "label.username": "Username",
- "label.value": "Value",
- "label.view-details": "View details",
- "label.websites": "Websites",
- "label.yesterday": "Yesterday",
- "message.active-users": "{x} current {x, plural, one {visitor} other {visitors}}",
- "message.confirm-delete": "Are you sure you want to delete {target}?",
- "message.confirm-reset": "Are you sure you want to reset {target}'s statistics?",
- "message.copied": "Copied!",
- "message.delete-warning": "All associated data will be deleted as well.",
- "message.edit-dashboard": "Edit dashboard",
- "message.failure": "Something went wrong.",
- "message.get-share-url": "Get share URL",
- "message.get-tracking-code": "Get tracking code",
- "message.go-to-settings": "Go to settings",
- "message.incorrect-username-password": "Incorrect username/password.",
- "message.log.visitor": "Visitor from {country} using {browser} on {os} {device}",
- "message.new-version-available": "A new version of umami {version} is available!",
- "message.no-data-available": "No data available.",
- "message.no-websites-configured": "You don't have any websites configured.",
- "message.page-not-found": "Page not found.",
- "message.powered-by": "Powered by {name}",
- "message.reset-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.",
- "message.save-success": "Saved successfully.",
- "message.share-url": "This is the publicly shared URL for {target}.",
- "message.toggle-charts": "Toggle charts",
- "message.track-stats": "To track stats for {target}, place the following code in the {head} section of your website.",
- "message.type-delete": "Type {delete} in the box below to confirm.",
- "message.type-reset": "Type {reset} in the box below to confirm.",
- "metrics.actions": "Actions",
- "metrics.average-visit-time": "Average visit time",
- "metrics.bounce-rate": "Bounce rate",
- "metrics.browsers": "Browsers",
- "metrics.countries": "Countries",
- "metrics.device.desktop": "Desktop",
- "metrics.device.laptop": "Laptop",
- "metrics.device.mobile": "Mobile",
- "metrics.device.tablet": "Tablet",
- "metrics.devices": "Devices",
- "metrics.events": "Events",
- "metrics.filter.combined": "Combined",
- "metrics.filter.raw": "Raw",
- "metrics.languages": "Languages",
- "metrics.operating-systems": "Operating systems",
- "metrics.page-views": "Page views",
- "metrics.pages": "Pages",
- "metrics.query-parameters": "Query parameters",
- "metrics.referrers": "Referrers",
- "metrics.screens": "Screens",
- "metrics.unique-visitors": "Unique visitors",
- "metrics.views": "Views",
- "metrics.visitors": "Visitors"
-}
diff --git a/lang/de-CH.json b/lang/de-CH.json
deleted file mode 100644
index 03980e5c..00000000
--- a/lang/de-CH.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "label.access-code": "Access code",
- "label.actions": "Aktione",
- "label.activity-log": "Activity log",
- "label.add-website": "Websiite hinzuefüege",
- "label.admin": "Administrator",
- "label.all": "Alli",
- "label.all-time": "Gesamte Zitruum",
- "label.analytics": "Analytics",
- "label.average-visit-time": "Durchschn. Bsuechsziit",
- "label.back": "Zrugg",
- "label.bounce-rate": "Absprungsrate",
- "label.browsers": "Browser",
- "label.cancel": "Abbreche",
- "label.change-password": "Passwort ändere",
- "label.cities": "Cities",
- "label.clear-all": "Clear all",
- "label.confirm": "Confirm",
- "label.confirm-password": "Passwort widerhole",
- "label.continue": "Continue",
- "label.countries": "Länder",
- "label.create-team": "Create team",
- "label.create-user": "Create user",
- "label.created": "Created",
- "label.current-password": "Jetzigs Passwort",
- "label.custom-range": "Benutzerdefinierte Bereich",
- "label.dashboard": "Übersicht",
- "label.data": "Data",
- "label.date-range": "Datumsbereich",
- "label.default-date-range": "Vorigstellte Datumsbereich",
- "label.delete": "Lösche",
- "label.delete-team": "Delete team",
- "label.delete-user": "Delete user",
- "label.delete-website": "Websiite lösche",
- "label.desktop": "Desktop",
- "label.details": "Details",
- "label.devices": "Grät",
- "label.dismiss": "Verwerfe",
- "label.domain": "Domain",
- "label.edit": "Bearbeite",
- "label.edit-dashboard": "Dashboard bearbeite",
- "label.enable-share-url": "Freigab-URL aktiviere",
- "label.events": "Ereigniss",
- "label.filter-combined": "Kombiniert",
- "label.filter-raw": "Rohdate",
- "label.join": "Join",
- "label.join-team": "Join team",
- "label.language": "Sprach",
- "label.languages": "Sprache",
- "label.laptop": "Laptop",
- "label.last-days": "Letzti {x} Täg",
- "label.last-hours": "Letzti {x} Stunde",
- "label.leave": "Leave",
- "label.leave-team": "Leave team",
- "label.login": "Login",
- "label.logout": "Abmelde",
- "label.members": "Members",
- "label.mobile": "Handy",
- "label.more": "Meh",
- "label.name": "Name",
- "label.new-password": "Neus Passwort",
- "label.none": "Keis",
- "label.operating-systems": "Betriebssystem",
- "label.owner": "Bsitzer",
- "label.page-views": "Siitenufrüef",
- "label.pages": "Siite",
- "label.password": "Passwort",
- "label.powered-by": "Betribe dur {name}",
- "label.profile": "Profil",
- "label.queries": "Queries",
- "label.query-parameters": "Abfragparameter",
- "label.realtime": "Echtzit",
- "label.referrers": "Referrer",
- "label.refresh": "Aktualisiere",
- "label.regenerate": "Regenerate",
- "label.regions": "Regions",
- "label.remove": "Remove",
- "label.required": "Erforderlich",
- "label.reset": "Zruggsetze",
- "label.reset-website": "Statistik zruggsetze",
- "label.role": "Role",
- "label.save": "Speichere",
- "label.screens": "Bildschirmuflösige",
- "label.select-website": "Select website",
- "label.sessions": "Sessions",
- "label.settings": "Istellige",
- "label.share-url": "Freigab-URL",
- "label.single-day": "Ein Tag",
- "label.tablet": "Tablet",
- "label.team": "Team",
- "label.team-guest": "Team guest",
- "label.team-id": "Team ID",
- "label.team-member": "Team member",
- "label.team-owner": "Team owner",
- "label.teams": "Teams",
- "label.theme": "Thema",
- "label.this-month": "De Monet",
- "label.this-week": "Die Wuche",
- "label.this-year": "Das Jahr",
- "label.timezone": "Zitzone",
- "label.title": "Title",
- "label.today": "Hüt",
- "label.toggle-charts": "Schaubilder umschalte",
- "label.tracking-code": "Tracking Code",
- "label.unique-visitors": "Eidütigi Bsuecher",
- "label.unknown": "Unbekannt",
- "label.user": "User",
- "label.username": "Benutzername",
- "label.users": "Users",
- "label.view": "View",
- "label.view-details": "Details azeige",
- "label.views": "Ufrüef",
- "label.visitors": "Bsuecher",
- "label.website-id": "Website ID",
- "label.websites": "Websiite",
- "label.yesterday": "Gester",
- "message.active-users": "{x} {x, plural, one {aktive Bsuecher} other {aktivi Bsuecher}}",
- "message.confirm-delete": "Sind Sie sich sicher, {target} zlösche?",
- "message.confirm-leave": "Are you sure you want to leave {target}?",
- "message.confirm-reset": "Sind Sie sicher, dass Sie dStatistike vo {target} zruggsetze wend?",
- "message.delete-website": "Websiite lösche",
- "message.delete-website-warning": "Alli dezueghörige Date werdet ebefalls glöscht.",
- "message.error": "Es isch en Fehler uftrete.",
- "message.event-log": "{event} on {url}",
- "message.go-to-settings": "Zu de Istellige",
- "message.incorrect-username-password": "Falschs Passwort oder Benutzername.",
- "message.invalid-domain": "Ungültigi Domain",
- "message.min-password-length": "Minimum length of {n} characters",
- "message.no-data-available": "Kei Date vorhande.",
- "message.no-match-password": "Passwörter stimmed ned überi",
- "message.no-teams": "You have not created any teams.",
- "message.no-users": "There are no users.",
- "message.page-not-found": "Siite ned gfunde.",
- "message.reset-website": "Statistik zruggsetze",
- "message.reset-website-warning": "Alli Date für die Websiite werdet glöscht, nur de Tracking Code blibt bestah.",
- "message.saved": "Erfolgrich gspeichert.",
- "message.share-url": "Das isch die öffentlichi URL zum Teile für {target}.",
- "message.team-already-member": "You are already a member of the team.",
- "message.team-not-found": "Team not found.",
- "message.tracking-code": "Tracking Code",
- "message.user-deleted": "User deleted.",
- "message.visitor-log": "Bsuecher us {country} benutzt {browser} uf {os} {device}",
- "messages.no-team-websites": "This team does not have any websites.",
- "messages.no-websites-configured": "Es isch kei Websiite vorhande.",
- "messages.team-websites-info": "Websites can be viewed by anyone on the team."
-}
diff --git a/lang/hr-HR.json b/lang/hr-HR.json
deleted file mode 100644
index e9072a89..00000000
--- a/lang/hr-HR.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "label.accounts": "Računi",
- "label.add-account": "Dodaj račun",
- "label.add-column": "Dodaj stupac",
- "label.add-filter": "Dodaj filter",
- "label.add-website": "Dodaj web stranicu",
- "label.administrator": "Administrator",
- "label.all": "Sve",
- "label.all-time": "Svo vrijeme",
- "label.all-websites": "Sve web stranice",
- "label.back": "Natrag ",
- "label.cancel": "Odustani",
- "label.change-password": "Promijeni lozinku",
- "label.confirm-password": "Potvrdi lozinku",
- "label.copy-to-clipboard": "Kopiraj u međuspremnik",
- "label.current-password": "Trenutna lozinka",
- "label.custom-range": "Prilagođeni raspon",
- "label.dashboard": "Nadzorna ploča",
- "label.date-range": "Raspon datuma",
- "label.default-date-range": "Zadani datumski raspon",
- "label.delete": "Obriši",
- "label.delete-account": "Obriši račun",
- "label.delete-website": "Obriši web stranicu",
- "label.dismiss": "Odbaci",
- "label.domain": "Domena",
- "label.edit": "Uredi",
- "label.edit-account": "Uredi račun",
- "label.edit-website": "Uredi web stranicu",
- "label.enable-share-url": "Omogući dijeljenje poveznice",
- "label.event-data": "Podaci događaja",
- "label.field-name": "Naziv polja",
- "label.invalid": "Neispravno",
- "label.invalid-domain": "Neispravna domena",
- "label.language": "Jezik",
- "label.last-days": "Zadnjih {x} dana",
- "label.last-hours": "Zadnjih {x} sati",
- "label.logged-in-as": "Prijavljen kao {username}",
- "label.login": "Prijava",
- "label.logout": "Odjava",
- "label.more": "Više",
- "label.name": "Ime",
- "label.new-password": "Nova lozinka",
- "label.none": "Ništa",
- "label.owner": "Vlasnik",
- "label.password": "Lozinka",
- "label.passwords-dont-match": "Lozinke se ne podudaraju",
- "label.profile": "Profil",
- "label.realtime": "Stvarno vrijeme",
- "label.realtime-logs": "Trenutni zapisi",
- "label.refresh": "Osvježi",
- "label.required": "Potrebna",
- "label.reset": "Resetirati",
- "label.reset-website": "Resetirati web stranicu",
- "label.save": "Spremi",
- "label.search": "Pretraži",
- "label.settings": "Postavke",
- "label.share-url": "Podijeli poveznicu",
- "label.single-day": "Jedan dan",
- "label.theme": "Tema",
- "label.this-month": "Ovaj mjesec",
- "label.this-week": "Ovaj tjedan",
- "label.this-year": "Ova godina",
- "label.timezone": "Vremenska zona",
- "label.today": "Danas",
- "label.tracking-code": "Kod za praćenje",
- "label.type": "Tip",
- "label.unknown": "Nepoznato",
- "label.username": "Korisničko ime",
- "label.value": "Vrijednost",
- "label.view-details": "Pogledaj detalje",
- "label.websites": "Web stranice",
- "label.yesterday": "Jučer",
- "message.active-users": "{x} Trenutno {x, plural, one {posjetitelj} other {posjetitelja}}",
- "message.confirm-delete": "Jeste li sigurni da želite obrisati {target}?",
- "message.confirm-reset": "Jeste li sigurni da želite resetirati {target}'s statistiku?",
- "message.copied": "Kopirano!",
- "message.delete-warning": "Izbrisat će se svi povezani podaci.",
- "message.edit-dashboard": "Uredi nadzornu ploču",
- "message.failure": "Nešto je pošlo po zlu.",
- "message.get-share-url": "Dohvati poveznicu za dijeljenje",
- "message.get-tracking-code": "Dohvati kod za praćenje",
- "message.go-to-settings": "Idi u postavke",
- "message.incorrect-username-password": "Neispravno korisničke ime/lozinka.",
- "message.log.visitor": "Posjetitelj iz {country} koristi {browser} na {os} {device}",
- "message.new-version-available": "Nova verzija umami {version} je dostupna!",
- "message.no-data-available": "Nema dostupnih podataka.",
- "message.no-websites-configured": "Nemate konfiguriranu nijednu web stranicu.",
- "message.page-not-found": "Stranica nije pronađena.",
- "message.powered-by": "Pokreće {name}",
- "message.reset-warning": "Sve statistike za ovu web stranicu bit će izbrisane, ali će vaš kod za praćenje ostati netaknut.",
- "message.save-success": "Uspješno spremljeno.",
- "message.share-url": "Ovo je javno dijeljena poveznica za {target}.",
- "message.toggle-charts": "Uključi/isključi grafikone",
- "message.track-stats": "Da biste pratili statistiku za {target}, postavite sljedeći kod u odjeljak {head} svoje web stranice.",
- "message.type-delete": "Upišite {delete} u donji okvir za potvrdu.",
- "message.type-reset": " Upišite {reset} u donji okvir za potvrdu. ",
- "metrics.actions": "Akcije",
- "metrics.average-visit-time": "Prosječno vrijeme posjeta",
- "metrics.bounce-rate": "Stopa napuštanja stranice",
- "metrics.browsers": "Web preglednici",
- "metrics.countries": "Zemlje",
- "metrics.device.desktop": "Pc",
- "metrics.device.laptop": "Laptop",
- "metrics.device.mobile": "Mobitel",
- "metrics.device.tablet": "Tablet",
- "metrics.devices": "Uređaji",
- "metrics.events": "Događaji",
- "metrics.filter.combined": "Kombinirano",
- "metrics.filter.raw": "Neobrađeni podaci",
- "metrics.languages": "Jezici",
- "metrics.operating-systems": "Operativni sustavi",
- "metrics.page-views": "Pregledi stranice",
- "metrics.pages": "Stranice",
- "metrics.query-parameters": "Parametri upita",
- "metrics.referrers": "Upučivaći",
- "metrics.screens": "Zasloni",
- "metrics.unique-visitors": "Jedinstveni posjetitelji",
- "metrics.views": "Pregledi",
- "metrics.visitors": "Posjetitelji"
-}
diff --git a/lang/ja-JP.json b/lang/ja-JP.json
deleted file mode 100644
index 58a326bd..00000000
--- a/lang/ja-JP.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "label.access-code": "Access code",
- "label.actions": "アクション",
- "label.activity-log": "Activity log",
- "label.add-website": "Webサイトの追加",
- "label.admin": "管理者",
- "label.all": "すべて表示",
- "label.all-time": "All time",
- "label.analytics": "Analytics",
- "label.average-visit-time": "平均滞在時間",
- "label.back": "戻る",
- "label.bounce-rate": "直帰率",
- "label.browsers": "ブラウザ",
- "label.cancel": "キャンセル",
- "label.change-password": "パスワード変更",
- "label.cities": "Cities",
- "label.clear-all": "Clear all",
- "label.confirm": "Confirm",
- "label.confirm-password": "パスワード(確認)",
- "label.continue": "Continue",
- "label.countries": "国",
- "label.create-team": "Create team",
- "label.create-user": "Create user",
- "label.created": "Created",
- "label.current-password": "現在のパスワード",
- "label.custom-range": "期間を指定する",
- "label.dashboard": "ダッシュボード",
- "label.data": "Data",
- "label.date-range": "範囲指定",
- "label.default-date-range": "最初に表示する期間",
- "label.delete": "削除",
- "label.delete-team": "Delete team",
- "label.delete-user": "Delete user",
- "label.delete-website": "Webサイトの削除",
- "label.desktop": "デスクトップ",
- "label.details": "Details",
- "label.devices": "デバイス",
- "label.dismiss": "無視する",
- "label.domain": "ドメイン",
- "label.edit": "編集",
- "label.edit-dashboard": "Edit dashboard",
- "label.enable-share-url": "共有リンクを有効にする",
- "label.events": "イベント",
- "label.filter-combined": "パスまで",
- "label.filter-raw": "すべて表示",
- "label.join": "Join",
- "label.join-team": "Join team",
- "label.language": "Language",
- "label.languages": "Languages",
- "label.laptop": "ノートPC",
- "label.last-days": "過去{x}日間",
- "label.last-hours": "過去{x}時間",
- "label.leave": "Leave",
- "label.leave-team": "Leave team",
- "label.login": "ログイン",
- "label.logout": "ログアウト",
- "label.members": "Members",
- "label.mobile": "携帯電話",
- "label.more": "さらに表示",
- "label.name": "名前",
- "label.new-password": "新しいパスワード",
- "label.none": "None",
- "label.operating-systems": "OS",
- "label.owner": "Owner",
- "label.page-views": "閲覧数",
- "label.pages": "ページ",
- "label.password": "パスワード",
- "label.powered-by": "このシステムは {name} で実行されています。",
- "label.profile": "プロファイル",
- "label.queries": "Queries",
- "label.query-parameters": "Query parameters",
- "label.realtime": "リアルタイム",
- "label.referrers": "リファラー",
- "label.refresh": "更新",
- "label.regenerate": "Regenerate",
- "label.regions": "Regions",
- "label.remove": "Remove",
- "label.required": "必須",
- "label.reset": "リセット",
- "label.reset-website": "Reset statistics",
- "label.role": "Role",
- "label.save": "保存",
- "label.screens": "Screens",
- "label.select-website": "Select website",
- "label.sessions": "Sessions",
- "label.settings": "設定",
- "label.share-url": "共有リンク",
- "label.single-day": "一日のみ",
- "label.tablet": "タブレット",
- "label.team": "Team",
- "label.team-guest": "Team guest",
- "label.team-id": "Team ID",
- "label.team-member": "Team member",
- "label.team-owner": "Team owner",
- "label.teams": "Teams",
- "label.theme": "Theme",
- "label.this-month": "今月",
- "label.this-week": "今週",
- "label.this-year": "今年",
- "label.timezone": "タイムゾーン",
- "label.title": "Title",
- "label.today": "今日",
- "label.toggle-charts": "Toggle charts",
- "label.tracking-code": "トラッキングコード",
- "label.unique-visitors": "ユニーク訪問者数",
- "label.unknown": "不明",
- "label.user": "User",
- "label.username": "ユーザー名",
- "label.users": "Users",
- "label.view": "View",
- "label.view-details": "詳細を見る",
- "label.views": "閲覧数",
- "label.visitors": "訪問者数",
- "label.website-id": "Website ID",
- "label.websites": "Webサイト",
- "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": "Are your sure you want to reset {target}'s statistics?",
- "message.delete-website": "Webサイトの削除",
- "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.no-data-available": "データがありません。",
- "message.no-match-password": "パスワードが一致しません",
- "message.no-teams": "You have not created any teams.",
- "message.no-users": "There are no users.",
- "message.page-not-found": "ページが見つかりません。",
- "message.reset-website": "Reset statistics",
- "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.tracking-code": "トラッキングコード",
- "message.user-deleted": "User deleted.",
- "message.visitor-log": "{os}({device})で{browser}を使用している{country}からの訪問者",
- "messages.no-team-websites": "This team does not have any websites.",
- "messages.no-websites-configured": "Webサイトが設定されていません。",
- "messages.team-websites-info": "Websites can be viewed by anyone on the team."
-}
diff --git a/lang/mn-MN.json b/lang/mn-MN.json
deleted file mode 100644
index 9e3b4499..00000000
--- a/lang/mn-MN.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "label.access-code": "Access code",
- "label.actions": "Үйлдлүүд",
- "label.activity-log": "Activity log",
- "label.add-website": "Веб нэмэх",
- "label.admin": "Админ",
- "label.all": "Бүх",
- "label.all-time": "Бүх цаг үеийн",
- "label.analytics": "Analytics",
- "label.average-visit-time": "Зочилсон дундаж хугацаа",
- "label.back": "Буцах",
- "label.bounce-rate": "Нэг хуудас үзээд гарсан",
- "label.browsers": "Хөтөч",
- "label.cancel": "Цуцлах",
- "label.change-password": "Нууц үг солих",
- "label.cities": "Cities",
- "label.clear-all": "Clear all",
- "label.confirm": "Confirm",
- "label.confirm-password": "Шинэ нууц үгээ давтах",
- "label.continue": "Continue",
- "label.countries": "Улс",
- "label.create-team": "Create team",
- "label.create-user": "Create user",
- "label.created": "Created",
- "label.current-password": "Ашиглаж буй нууц үг",
- "label.custom-range": "Дурын хугацаа",
- "label.dashboard": "Хянах самбар",
- "label.data": "Data",
- "label.date-range": "Хугацааны мужид",
- "label.default-date-range": "Өгөгдмөл хугацааны муж",
- "label.delete": "Устгах",
- "label.delete-team": "Delete team",
- "label.delete-user": "Delete user",
- "label.delete-website": "Веб устгах",
- "label.desktop": "Суурин компьютер",
- "label.details": "Details",
- "label.devices": "Төхөөрөмж",
- "label.dismiss": "Үл хэргэсэх",
- "label.domain": "Домэйн",
- "label.edit": "Засах",
- "label.edit-dashboard": "Хянах самбар засах",
- "label.enable-share-url": "Хуваалцах холбоос идэвхжүүлэх",
- "label.events": "Үйлдэл",
- "label.filter-combined": "Нэгтгэсэн",
- "label.filter-raw": "Түүхий",
- "label.join": "Join",
- "label.join-team": "Join team",
- "label.language": "Хэл",
- "label.languages": "Хэл",
- "label.laptop": "Зөөврийн компьютер",
- "label.last-days": "Сүүлийн {x} хоног",
- "label.last-hours": "Сүүлийн {x} цаг",
- "label.leave": "Leave",
- "label.leave-team": "Leave team",
- "label.login": "Нэвтрэх",
- "label.logout": "Гарах",
- "label.members": "Members",
- "label.mobile": "Утас",
- "label.more": "Цааш",
- "label.name": "Нэр",
- "label.new-password": "Шинэ нууц үг",
- "label.none": "Байхгүй",
- "label.operating-systems": "Үйлдлийн систем",
- "label.owner": "Эзэмшигч",
- "label.page-views": "Хуудас үзсэн",
- "label.pages": "Хуудас",
- "label.password": "Нууц үг",
- "label.powered-by": "{name} дээр суурилсан",
- "label.profile": "Бүртгэл",
- "label.queries": "Queries",
- "label.query-parameters": "Query параметр",
- "label.realtime": "Яг одоо",
- "label.referrers": "Чиглүүлэгч",
- "label.refresh": "Сэргээх",
- "label.regenerate": "Regenerate",
- "label.regions": "Regions",
- "label.remove": "Remove",
- "label.required": "Шаардлагатай",
- "label.reset": "Хуучин хэвд нь оруулах",
- "label.reset-website": "Тоон үзүүлэлтийг дахин эхлүүлэх",
- "label.role": "Role",
- "label.save": "Хадгалах",
- "label.screens": "Дэлгэц",
- "label.select-website": "Select website",
- "label.sessions": "Sessions",
- "label.settings": "Тохиргоо",
- "label.share-url": "Хуваалцах холбоос",
- "label.single-day": "Нэг өдөр",
- "label.tablet": "Таблет",
- "label.team": "Team",
- "label.team-guest": "Team guest",
- "label.team-id": "Team ID",
- "label.team-member": "Team member",
- "label.team-owner": "Team owner",
- "label.teams": "Teams",
- "label.theme": "Загвар",
- "label.this-month": "Энэ сар",
- "label.this-week": "Энэ долоо хоног",
- "label.this-year": "Энэ жил",
- "label.timezone": "Цагийн бүс",
- "label.title": "Title",
- "label.today": "Өнөөдөр",
- "label.toggle-charts": "Графикийг харуулах/нуух",
- "label.tracking-code": "Мөрдөх код",
- "label.unique-visitors": "Зочин",
- "label.unknown": "Тодорхойгүй",
- "label.user": "User",
- "label.username": "Хэрэглэгчийн нэр",
- "label.users": "Users",
- "label.view": "View",
- "label.view-details": "Дэлгэрүүлж харах",
- "label.views": "Үзсэн",
- "label.visitors": "Зочин",
- "label.website-id": "Website ID",
- "label.websites": "Вебүүд",
- "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": "Та {target}-н тоон үзүүлэлтүүдийг устгахдаа итгэлтэй байна уу?",
- "message.delete-website": "Веб устгах",
- "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.no-data-available": "Өгөгдөл алга.",
- "message.no-match-password": "Нууц үг тохирохгүй байна",
- "message.no-teams": "You have not created any teams.",
- "message.no-users": "There are no users.",
- "message.page-not-found": "Хуудас олдсонгүй.",
- "message.reset-website": "Тоон үзүүлэлтийг дахин эхлүүлэх",
- "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.tracking-code": "Мөрдөх код",
- "message.user-deleted": "User deleted.",
- "message.visitor-log": "{country} улсаас {os} {device} дээр {browser} хөтөч ашиглан орсон",
- "messages.no-team-websites": "This team does not have any websites.",
- "messages.no-websites-configured": "Та ямар нэгэн веб тохируулаагүй байна.",
- "messages.team-websites-info": "Websites can be viewed by anyone on the team."
-}
diff --git a/lang/nl-NL.json b/lang/nl-NL.json
deleted file mode 100644
index bac675f9..00000000
--- a/lang/nl-NL.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "label.access-code": "Access code",
- "label.actions": "Acties",
- "label.activity-log": "Activity log",
- "label.add-website": "Website toevoegen",
- "label.admin": "Administrator",
- "label.all": "Alles",
- "label.all-time": "Onbeperkt",
- "label.analytics": "Analytics",
- "label.average-visit-time": "Gemiddelde bezoektijd",
- "label.back": "Terug",
- "label.bounce-rate": "Bouncepercentage",
- "label.browsers": "Browsers",
- "label.cancel": "Annuleren",
- "label.change-password": "Wachtwoord wijzigen",
- "label.cities": "Cities",
- "label.clear-all": "Clear all",
- "label.confirm": "Confirm",
- "label.confirm-password": "Wachtwoord bevestigen",
- "label.continue": "Continue",
- "label.countries": "Landen",
- "label.create-team": "Create team",
- "label.create-user": "Create user",
- "label.created": "Created",
- "label.current-password": "Huidig wachtwoord",
- "label.custom-range": "Aangepast bereik",
- "label.dashboard": "Overzicht",
- "label.data": "Data",
- "label.date-range": "Datumbereik",
- "label.default-date-range": "Standaard bereik",
- "label.delete": "Verwijderen",
- "label.delete-team": "Delete team",
- "label.delete-user": "Delete user",
- "label.delete-website": "Website verwijderen",
- "label.desktop": "Desktop",
- "label.details": "Details",
- "label.devices": "Apparaten",
- "label.dismiss": "Negeren",
- "label.domain": "Domein",
- "label.edit": "Bewerken",
- "label.edit-dashboard": "Edit dashboard",
- "label.enable-share-url": "Sta delen via openbare URL toe",
- "label.events": "Gebeurtenissen",
- "label.filter-combined": "Gecombineerd",
- "label.filter-raw": "Ruw",
- "label.join": "Join",
- "label.join-team": "Join team",
- "label.language": "Taal",
- "label.languages": "Languages",
- "label.laptop": "Laptop",
- "label.last-days": "Laatste {x} dagen",
- "label.last-hours": "Laatste {x} uur",
- "label.leave": "Leave",
- "label.leave-team": "Leave team",
- "label.login": "Inloggen",
- "label.logout": "Uitloggen",
- "label.members": "Members",
- "label.mobile": "Mobiel",
- "label.more": "Toon meer",
- "label.name": "Naam",
- "label.new-password": "Nieuw wachtwoord",
- "label.none": "Geen",
- "label.operating-systems": "Besturingssystemen",
- "label.owner": "Eigenaar",
- "label.page-views": "Paginaweergaven",
- "label.pages": "Pagina's",
- "label.password": "Wachtwoord",
- "label.powered-by": "mogelijk gemaakt door {name}",
- "label.profile": "Profiel",
- "label.queries": "Queries",
- "label.query-parameters": "Query parameters",
- "label.realtime": "Actueel",
- "label.referrers": "Verwijzers",
- "label.refresh": "Vernieuwen",
- "label.regenerate": "Regenerate",
- "label.regions": "Regions",
- "label.remove": "Remove",
- "label.required": "Verplicht",
- "label.reset": "Resetten",
- "label.reset-website": "Statistieken opnieuw instellen",
- "label.role": "Role",
- "label.save": "Opslaan",
- "label.screens": "Schermen",
- "label.select-website": "Select website",
- "label.sessions": "Sessions",
- "label.settings": "Instellingen",
- "label.share-url": "URL delen",
- "label.single-day": "Enkele dag",
- "label.tablet": "Tablet",
- "label.team": "Team",
- "label.team-guest": "Team guest",
- "label.team-id": "Team ID",
- "label.team-member": "Team member",
- "label.team-owner": "Team owner",
- "label.teams": "Teams",
- "label.theme": "Thema",
- "label.this-month": "Deze maand",
- "label.this-week": "Deze week",
- "label.this-year": "Dit jaar",
- "label.timezone": "Tijdzone",
- "label.title": "Title",
- "label.today": "Vandaag",
- "label.toggle-charts": "Grafieken tonen/verbergen",
- "label.tracking-code": "Volgcode",
- "label.unique-visitors": "Unieke bezoekers",
- "label.unknown": "Onbekend",
- "label.user": "User",
- "label.username": "Gebruikersnaam",
- "label.users": "Users",
- "label.view": "View",
- "label.view-details": "Meer details",
- "label.views": "Weergaven",
- "label.visitors": "Bezoekers",
- "label.website-id": "Website ID",
- "label.websites": "Websites",
- "label.yesterday": "Yesterday",
- "message.active-users": "{x} actieve {x, plural, one {bezoeker} other {bezoekers}}",
- "message.confirm-delete": "Weet je zeker dat je {target} wilt verwijderen?",
- "message.confirm-leave": "Are you sure you want to leave {target}?",
- "message.confirm-reset": "Weet je zeker dat je de statistieken van {target} opnieuw wilt instellen?",
- "message.delete-website": "Website verwijderen",
- "message.delete-website-warning": "Alle verwante gegezens zullen ook verwijderd worden.",
- "message.error": "Er is iets misgegaan.",
- "message.event-log": "{event} on {url}",
- "message.go-to-settings": "Naar instellingen",
- "message.incorrect-username-password": "Incorrecte gebruikersnaam/wachtwoord.",
- "message.invalid-domain": "Ongeldig domein",
- "message.min-password-length": "Minimum length of {n} characters",
- "message.no-data-available": "Geen gegevens beschikbaar.",
- "message.no-match-password": "Wachtwoorden komen niet overeen",
- "message.no-teams": "You have not created any teams.",
- "message.no-users": "There are no users.",
- "message.page-not-found": "Pagina niet gevonden.",
- "message.reset-website": "Statistieken opnieuw instellen",
- "message.reset-website-warning": "Alle bijhorende statistieken van deze website worden verwijderd, maar jouw volgcode blijft gelden.",
- "message.saved": "Opslaan succesvol.",
- "message.share-url": "Met deze URL kan {target} openbaar gedeeld worden.",
- "message.team-already-member": "You are already a member of the team.",
- "message.team-not-found": "Team not found.",
- "message.tracking-code": "Volgcode",
- "message.user-deleted": "User deleted.",
- "message.visitor-log": "Bezoeker uit {country} met {browser} op een {os} {device}",
- "messages.no-team-websites": "This team does not have any websites.",
- "messages.no-websites-configured": "Je hebt geen websites ingesteld.",
- "messages.team-websites-info": "Websites can be viewed by anyone on the team."
-}
diff --git a/lang/pt-BR.json b/lang/pt-BR.json
deleted file mode 100644
index f02b7fb9..00000000
--- a/lang/pt-BR.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "label.access-code": "Access code",
- "label.actions": "Ações",
- "label.activity-log": "Activity log",
- "label.add-website": "Adicionar site",
- "label.admin": "Administrador",
- "label.all": "Todos",
- "label.all-time": "Todo o período",
- "label.analytics": "Analytics",
- "label.average-visit-time": "Tempo médio da visita",
- "label.back": "Voltar",
- "label.bounce-rate": "Taxa de rejeição",
- "label.browsers": "Navegadores",
- "label.cancel": "Cancelar",
- "label.change-password": "Alterar a senha",
- "label.cities": "Cities",
- "label.clear-all": "Clear all",
- "label.confirm": "Confirm",
- "label.confirm-password": "Confirme a nova senha",
- "label.continue": "Continue",
- "label.countries": "Países",
- "label.create-team": "Create team",
- "label.create-user": "Create user",
- "label.created": "Created",
- "label.current-password": "Senha atual",
- "label.custom-range": "Intervalo personalizado",
- "label.dashboard": "Painel",
- "label.data": "Data",
- "label.date-range": "Intervalo de datas",
- "label.default-date-range": "Intervalo de datas predefinido",
- "label.delete": "Remover",
- "label.delete-team": "Delete team",
- "label.delete-user": "Delete user",
- "label.delete-website": "Remover site",
- "label.desktop": "Computador",
- "label.details": "Details",
- "label.devices": "Dispositivos",
- "label.dismiss": "Dispensar",
- "label.domain": "Domínio",
- "label.edit": "Editar",
- "label.edit-dashboard": "Edit dashboard",
- "label.enable-share-url": "Ativar link de compartilhamento",
- "label.events": "Eventos",
- "label.filter-combined": "Combinado",
- "label.filter-raw": "Dados brutos",
- "label.join": "Join",
- "label.join-team": "Join team",
- "label.language": "Idioma",
- "label.languages": "Idiomas",
- "label.laptop": "Notebook",
- "label.last-days": "Últimos {x} dias",
- "label.last-hours": "Últimas {x} horas",
- "label.leave": "Leave",
- "label.leave-team": "Leave team",
- "label.login": "Iniciar sessão",
- "label.logout": "Sair",
- "label.members": "Members",
- "label.mobile": "Celular",
- "label.more": "Mais",
- "label.name": "Nome",
- "label.new-password": "Nova senha",
- "label.none": "None",
- "label.operating-systems": "Sistemas operacionais",
- "label.owner": "Proprietário",
- "label.page-views": "Visualizações de página",
- "label.pages": "Páginas",
- "label.password": "Senha",
- "label.powered-by": "Distribuído por {name}",
- "label.profile": "Perfil",
- "label.queries": "Queries",
- "label.query-parameters": "Parâmetros de Consulta",
- "label.realtime": "Tempo real",
- "label.referrers": "Referências",
- "label.refresh": "Atualizar",
- "label.regenerate": "Regenerate",
- "label.regions": "Regions",
- "label.remove": "Remove",
- "label.required": "Obrigatório",
- "label.reset": "Redefinir",
- "label.reset-website": "Redefinir estatísticas",
- "label.role": "Role",
- "label.save": "Salvar",
- "label.screens": "Telas",
- "label.select-website": "Select website",
- "label.sessions": "Sessions",
- "label.settings": "Configurações",
- "label.share-url": "Link de compartilhamento",
- "label.single-day": "Dia específico",
- "label.tablet": "Tablet",
- "label.team": "Team",
- "label.team-guest": "Team guest",
- "label.team-id": "Team ID",
- "label.team-member": "Team member",
- "label.team-owner": "Team owner",
- "label.teams": "Teams",
- "label.theme": "Tema",
- "label.this-month": "Este mês",
- "label.this-week": "Esta semana",
- "label.this-year": "Este ano",
- "label.timezone": "Fuso horário",
- "label.title": "Title",
- "label.today": "Hoje",
- "label.toggle-charts": "Mostrar/Esconder gráficos",
- "label.tracking-code": "Código de rastreamento",
- "label.unique-visitors": "Visitantes únicos",
- "label.unknown": "Desconhecido",
- "label.user": "User",
- "label.username": "Nome de usuário",
- "label.users": "Users",
- "label.view": "View",
- "label.view-details": "Ver detalhes",
- "label.views": "Visualizações",
- "label.visitors": "Visitantes",
- "label.website-id": "Website ID",
- "label.websites": "Sites",
- "label.yesterday": "Ontem",
- "message.active-users": "{x} {x, plural, one {visitante} other {visitantes}} neste momento",
- "message.confirm-delete": "Deseja realmente remover {target}?",
- "message.confirm-leave": "Are you sure you want to leave {target}?",
- "message.confirm-reset": "Você tem certeza que deseja redefinir as estatísticas de {target}?",
- "message.delete-website": "Remover site",
- "message.delete-website-warning": "Todos os dados associados também serão eliminados.",
- "message.error": "Ocorreu um erro.",
- "message.event-log": "{event} on {url}",
- "message.go-to-settings": "Ir para as configurações",
- "message.incorrect-username-password": "O nome de usuário e/ou senha está incorreto.",
- "message.invalid-domain": "Domínio inválido",
- "message.min-password-length": "Minimum length of {n} characters",
- "message.no-data-available": "Sem dados disponíveis.",
- "message.no-match-password": "As senhas não correspondem",
- "message.no-teams": "You have not created any teams.",
- "message.no-users": "There are no users.",
- "message.page-not-found": "Página não encontrada.",
- "message.reset-website": "Redefinir estatísticas",
- "message.reset-website-warning": "Todas as estatísticas deste site serão removidas, mas seu código de rastreamento permanecerá intacto.",
- "message.saved": "Salvo com sucesso.",
- "message.share-url": "Este é o link público de compartilhamento para {target}.",
- "message.team-already-member": "You are already a member of the team.",
- "message.team-not-found": "Team not found.",
- "message.tracking-code": "Código de rastreamento",
- "message.user-deleted": "User deleted.",
- "message.visitor-log": "Visitante de {country} usando {browser} no {device} {os}",
- "messages.no-team-websites": "This team does not have any websites.",
- "messages.no-websites-configured": "Nenhum site foi configurado ainda.",
- "messages.team-websites-info": "Websites can be viewed by anyone on the team."
-}
diff --git a/lang/si-LK.json b/lang/si-LK.json
deleted file mode 100644
index 33346087..00000000
--- a/lang/si-LK.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "label.accounts": "ගිණුම්",
- "label.add-account": "ගිණුම එකතු කරන්න",
- "label.add-column": "තීරුව එක් කරන්න",
- "label.add-filter": "පෙරහන එකතු කරන්න",
- "label.add-website": "වෙබ් අඩවිය එක් කරන්න",
- "label.administrator": "පරිපාලක",
- "label.all": "සියල්ල",
- "label.all-time": "හැම වෙලාවෙම",
- "label.all-websites": "සියලුම වෙබ් අඩවි",
- "label.back": "ආපසු",
- "label.cancel": "අවලංගු කරන්න",
- "label.change-password": "මුරපදය වෙනස් කරන්න",
- "label.confirm-password": "මුරපදය සත්යාපනය කරන්න",
- "label.copy-to-clipboard": "පසුරු පුවරුවට පිටපත් කරන්න",
- "label.current-password": "වත්මන් මුරපදය",
- "label.custom-range": "අභිරුචි පරාසය",
- "label.dashboard": "උපකරණ පුවරුව",
- "label.date-range": "දින පරාසය",
- "label.default-date-range": "පෙරනිමි දින පරාසය",
- "label.delete": "මකන්න",
- "label.delete-account": "ගිණුම මකන්න",
- "label.delete-website": "වෙබ් අඩවිය මකන්න",
- "label.dismiss": "මගහරින්න",
- "label.domain": "වසම",
- "label.edit": "සංස්කරණය කරන්න",
- "label.edit-account": "ගිණුම සංස්කරණය කරන්න",
- "label.edit-website": "වෙබ් අඩවිය සංස්කරණය කරන්න",
- "label.enable-share-url": "බෙදාගැනීමේ URL සබල කරන්න",
- "label.event-data": "සිදුවීම් දත්ත",
- "label.field-name": "ක්ෂේත්ර නාම",
- "label.invalid": "වලංගු නැත",
- "label.invalid-domain": "වලංගු නොවන වසමක්",
- "label.language": "භාෂාව",
- "label.last-days": "අන්තිම {x} දින",
- "label.last-hours": "අන්තිම {x} පැය",
- "label.logged-in-as": "ලොග් වී ඇත්තේ {username}",
- "label.login": "ලොග් වෙන්න",
- "label.logout": "පිටවීම",
- "label.more": "තවත්",
- "label.name": "නම",
- "label.new-password": "අලුත් මුරපදය",
- "label.none": "කිසිවක් නැත",
- "label.owner": "හිමිකරු",
- "label.password": "මුරපදය",
- "label.passwords-dont-match": "මුරපද නොගැලපේ",
- "label.profile": "පැතිකඩ",
- "label.realtime": "තත්ය කාල",
- "label.realtime-logs": "තත්ය කාලීන ලොග්",
- "label.refresh": "නැවුම් කරන්න",
- "label.required": "අවශ්යයි",
- "label.reset": "යළි පිහිටුවන්න",
- "label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න",
- "label.save": "සුරකින්න",
- "label.search": "සෙවීම",
- "label.settings": "සැකසුම්",
- "label.share-url": "බෙදාගැනීමේ URL",
- "label.single-day": "තනි දවස",
- "label.theme": "තේමාව",
- "label.this-month": "මෙ මාසය",
- "label.this-week": "මේ සතිය",
- "label.this-year": "මේ අවුරුද්ද",
- "label.timezone": "වේලා කලාපය",
- "label.today": "අද",
- "label.tracking-code": "ලුහුබැඳීමේ කේතය",
- "label.type": "වර්ගය",
- "label.unknown": "නොදනී",
- "label.username": "පරිශීලක නාමය",
- "label.value": "වටිනාකම",
- "label.view-details": "තොරතුරු පෙන්වන්න",
- "label.websites": "වෙබ් අඩවි",
- "label.yesterday": "ඊයේ",
- "message.active-users": "{x} දැන් {x, plural, one {අමුත්තා} other {අමුත්තන්}}",
- "message.confirm-delete": "{target} මකා දැමීම ගැන විශ්වාසද?",
- "message.confirm-reset": "{target} ට අදාල සංඛ්යාලේඛන නැවත පිහිටුවීමට අවශ්යද?",
- "message.copied": "පිටපත් කරගත්තා!",
- "message.delete-warning": "සියලුම ආශ්රිත දත්ත ද මකා දැමෙනු ඇත.",
- "message.edit-dashboard": "උපකරණ පුවරුව සංස්කරණය කරන්න",
- "message.failure": "යම් ගැටලුවක් මතු වී ඇත.",
- "message.get-share-url": "බෙදාගැනීමේ URL ලබා ගන්න",
- "message.get-tracking-code": "ලුහුබැඳීමේ කේතය ලබා ගන්න",
- "message.go-to-settings": "සැකසීම් වෙත යන්න",
- "message.incorrect-username-password": "වැරදි පරිශීලක නාමය/මුරපදය.",
- "message.log.visitor": "{country} වලින් පැමිණි අමුත්තකු {device} එකේ, මේ {os} එකේ, මේ {browser} එකෙන් ඉන්නවා",
- "message.new-version-available": "umami අලුත්ම {version} වන අනුවාදය නිකුත් උනා!",
- "message.no-data-available": "පෙන්වීමට දත්ත නොමැත.",
- "message.no-websites-configured": "ඔබට වින්යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත.",
- "message.page-not-found": "පිටුව හමු නොවීය.",
- "message.powered-by": "බල ගැන්වුයේ {name}",
- "message.reset-warning": "සියලුම සංඛ්යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත.",
- "message.save-success": "සාර්තකව සුරැකිණි.",
- "message.share-url": "මේ {target} සඳහා ප්රසිද්ධියේ බෙදාගත් URL එකයි.",
- "message.toggle-charts": "ප්රස්ථාර ටොගල් කරන්න",
- "message.track-stats": "{target} හි සංඛ්යාලේඛන බැලීම සදහා, පහත කේතය {head} කොටසට ඇතුලත් කරන්න.",
- "message.type-delete": "සත්යාපනය සදහා {delete} ලෙස පහල කොටුවේ ටයිප් කරන්න",
- "message.type-reset": "සත්යාපනය සදහා {reset} ලෙස පහල කොටුවේ ටයිප් කරන්න",
- "metrics.actions": "ක්රියාවන්",
- "metrics.average-visit-time": "සාමාන්ය සංචාර කාලය",
- "metrics.bounce-rate": "හැරී යන ප්රමාණය",
- "metrics.browsers": "බ්රව්සර්",
- "metrics.countries": "රටවල්",
- "metrics.device.desktop": "ඩෙස්ක්ටොප්",
- "metrics.device.laptop": "ලැප්ටොප්",
- "metrics.device.mobile": "ජංගම",
- "metrics.device.tablet": "ටැබ්ලට්",
- "metrics.devices": "උපකරණ",
- "metrics.events": "සිද්ධීන්",
- "metrics.filter.combined": "ඒකාබද්ධ",
- "metrics.filter.raw": "අමු",
- "metrics.languages": "භාෂා",
- "metrics.operating-systems": "මෙහෙයුම් පද්ධති",
- "metrics.page-views": "පිටු බැලීම්",
- "metrics.pages": "පිටු",
- "metrics.query-parameters": "විමසුම් පරාමිතීන්",
- "metrics.referrers": "යොමු කරන්නන්",
- "metrics.screens": "තිර",
- "metrics.unique-visitors": "අලුත්ම අමුත්තන්",
- "metrics.views": "බැලූ ගණන",
- "metrics.visitors": "අමුත්තන්"
-}
diff --git a/lang/sv-SE.json b/lang/sv-SE.json
deleted file mode 100644
index 16a8d62a..00000000
--- a/lang/sv-SE.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "label.access-code": "Access code",
- "label.actions": "Händelser",
- "label.activity-log": "Activity log",
- "label.add-website": "Lägg till webbsajt",
- "label.admin": "Administratör",
- "label.all": "Alla",
- "label.all-time": "Sedan början",
- "label.analytics": "Analytics",
- "label.average-visit-time": "Medelbesökstid",
- "label.back": "Tillbaka",
- "label.bounce-rate": "Avvisningfrekvens",
- "label.browsers": "Webbläsare",
- "label.cancel": "Avbryt",
- "label.change-password": "Byt lösenord",
- "label.cities": "Cities",
- "label.clear-all": "Clear all",
- "label.confirm": "Confirm",
- "label.confirm-password": "Bekräfta lösenord",
- "label.continue": "Continue",
- "label.countries": "Länder",
- "label.create-team": "Create team",
- "label.create-user": "Create user",
- "label.created": "Created",
- "label.current-password": "Nuvarande lösenord",
- "label.custom-range": "Anpassat urval",
- "label.dashboard": "Översikt",
- "label.data": "Data",
- "label.date-range": "Datumomfång",
- "label.default-date-range": "Standard datum-urval",
- "label.delete": "Radera",
- "label.delete-team": "Delete team",
- "label.delete-user": "Delete user",
- "label.delete-website": "Radera webbsajt",
- "label.desktop": "Stationär",
- "label.details": "Details",
- "label.devices": "Enheter",
- "label.dismiss": "Avbryt",
- "label.domain": "Domän",
- "label.edit": "Redigera",
- "label.edit-dashboard": "Edit dashboard",
- "label.enable-share-url": "Aktivera delnings-URL",
- "label.events": "Händelser",
- "label.filter-combined": "Kombinerade",
- "label.filter-raw": "Rådata",
- "label.join": "Join",
- "label.join-team": "Join team",
- "label.language": "Språk",
- "label.languages": "Språk",
- "label.laptop": "Bärbar",
- "label.last-days": "Senaste {x} dagarna",
- "label.last-hours": "Senaste {x} timmarna",
- "label.leave": "Leave",
- "label.leave-team": "Leave team",
- "label.login": "Logga in",
- "label.logout": "Logga ut",
- "label.members": "Members",
- "label.mobile": "Mobil",
- "label.more": "Mer",
- "label.name": "Namn",
- "label.new-password": "Nytt lösenord",
- "label.none": "None",
- "label.operating-systems": "Operativsystem",
- "label.owner": "Ägare",
- "label.page-views": "Sidvisningar",
- "label.pages": "Sidor",
- "label.password": "Lösenord",
- "label.powered-by": "Drivs av {name}",
- "label.profile": "Profil",
- "label.queries": "Queries",
- "label.query-parameters": "Query parameters",
- "label.realtime": "Realtid",
- "label.referrers": "Hänvisare",
- "label.refresh": "Uppdatera",
- "label.regenerate": "Regenerate",
- "label.regions": "Regions",
- "label.remove": "Remove",
- "label.required": "Krävs",
- "label.reset": "Återställ",
- "label.reset-website": "Återställ statistik",
- "label.role": "Role",
- "label.save": "Spara",
- "label.screens": "Screens",
- "label.select-website": "Select website",
- "label.sessions": "Sessions",
- "label.settings": "Inställningar",
- "label.share-url": "Delnings-URL",
- "label.single-day": "En dag",
- "label.tablet": "Platta",
- "label.team": "Team",
- "label.team-guest": "Team guest",
- "label.team-id": "Team ID",
- "label.team-member": "Team member",
- "label.team-owner": "Team owner",
- "label.teams": "Teams",
- "label.theme": "Tema",
- "label.this-month": "Denna månad",
- "label.this-week": "Denna vecka",
- "label.this-year": "Detta år",
- "label.timezone": "Tidszon",
- "label.title": "Title",
- "label.today": "Idag",
- "label.toggle-charts": "Visa/göm grafer",
- "label.tracking-code": "Spårningskod",
- "label.unique-visitors": "Unika besökare",
- "label.unknown": "Okänd",
- "label.user": "User",
- "label.username": "Användarnamn",
- "label.users": "Users",
- "label.view": "View",
- "label.view-details": "Visa detaljer",
- "label.views": "Visningar",
- "label.visitors": "Besökare",
- "label.website-id": "Website ID",
- "label.websites": "Webbsajt",
- "label.yesterday": "Yesterday",
- "message.active-users": "{x} {x, plural, one {besökare} other {besökare}} just nu",
- "message.confirm-delete": "Är du säker på att du vill radera {target}?",
- "message.confirm-leave": "Are you sure you want to leave {target}?",
- "message.confirm-reset": "Är du säker på att du vill återställa statistiken för {target}?",
- "message.delete-website": "Radera webbsajt",
- "message.delete-website-warning": "All tillhörande data kommer också raderas.",
- "message.error": "Något gick fel.",
- "message.event-log": "{event} on {url}",
- "message.go-to-settings": "Gå till inställningar",
- "message.incorrect-username-password": "Felaktigt användarnamn/lösenord.",
- "message.invalid-domain": "Ogiltig domän",
- "message.min-password-length": "Minimum length of {n} characters",
- "message.no-data-available": "Ingen data tillgänglig.",
- "message.no-match-password": "Lösenorden är inte samma",
- "message.no-teams": "You have not created any teams.",
- "message.no-users": "There are no users.",
- "message.page-not-found": "Sidan kan inte hittas.",
- "message.reset-website": "Återställ statistik",
- "message.reset-website-warning": "All statistik för webbsajten tas bort men spårningskoden förblir oförändrad.",
- "message.saved": "Sparades!",
- "message.share-url": "Det här är den offentliga delnings-URL:en för {target}.",
- "message.team-already-member": "You are already a member of the team.",
- "message.team-not-found": "Team not found.",
- "message.tracking-code": "Spårningskod",
- "message.user-deleted": "User deleted.",
- "message.visitor-log": "Besökare från {country} med {browser} på {os} {device}",
- "messages.no-team-websites": "This team does not have any websites.",
- "messages.no-websites-configured": "Du har inga webbsajter.",
- "messages.team-websites-info": "Websites can be viewed by anyone on the team."
-}
diff --git a/lang/zh-TW.json b/lang/zh-TW.json
deleted file mode 100644
index 42370059..00000000
--- a/lang/zh-TW.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "label.access-code": "Access code",
- "label.actions": "用戶行為",
- "label.activity-log": "Activity log",
- "label.add-website": "增加網站",
- "label.admin": "管理員",
- "label.all": "所有",
- "label.all-time": "所有時間段",
- "label.analytics": "Analytics",
- "label.average-visit-time": "平均訪問時間",
- "label.back": "返回",
- "label.bounce-rate": "跳出率",
- "label.browsers": "瀏覽器",
- "label.cancel": "取消",
- "label.change-password": "更新密碼",
- "label.cities": "Cities",
- "label.clear-all": "Clear all",
- "label.confirm": "Confirm",
- "label.confirm-password": "確認密碼",
- "label.continue": "Continue",
- "label.countries": "國家/地區",
- "label.create-team": "Create team",
- "label.create-user": "Create user",
- "label.created": "Created",
- "label.current-password": "目前密碼",
- "label.custom-range": "自定義時段",
- "label.dashboard": "管理面板",
- "label.data": "Data",
- "label.date-range": "多日",
- "label.default-date-range": "默認日期範圍",
- "label.delete": "刪除",
- "label.delete-team": "Delete team",
- "label.delete-user": "Delete user",
- "label.delete-website": "刪除網站",
- "label.desktop": "桌機",
- "label.details": "Details",
- "label.devices": "裝置",
- "label.dismiss": "關閉",
- "label.domain": "域名",
- "label.edit": "編輯",
- "label.edit-dashboard": "編輯管理面板",
- "label.enable-share-url": "啟用分享連結",
- "label.events": "行為類別",
- "label.filter-combined": "總和",
- "label.filter-raw": "原始",
- "label.join": "Join",
- "label.join-team": "Join team",
- "label.language": "語言",
- "label.languages": "語言",
- "label.laptop": "筆記本",
- "label.last-days": "最近 {x} 天",
- "label.last-hours": "最近 {x} 小時",
- "label.leave": "Leave",
- "label.leave-team": "Leave team",
- "label.login": "登入",
- "label.logout": "退出",
- "label.members": "Members",
- "label.mobile": "手機",
- "label.more": "更多",
- "label.name": "名字",
- "label.new-password": "新密碼",
- "label.none": "無",
- "label.operating-systems": "操作系統",
- "label.owner": "擁有者",
- "label.page-views": "網頁流量",
- "label.pages": "網頁",
- "label.password": "密碼",
- "label.powered-by": "運行 {name}",
- "label.profile": "個人資料",
- "label.queries": "Queries",
- "label.query-parameters": "查詢參數",
- "label.realtime": "實時",
- "label.referrers": "指入域名",
- "label.refresh": "刷新",
- "label.regenerate": "Regenerate",
- "label.regions": "Regions",
- "label.remove": "Remove",
- "label.required": "必填",
- "label.reset": "重置",
- "label.reset-website": "重置統計數據",
- "label.role": "Role",
- "label.save": "保存",
- "label.screens": "屏幕尺寸",
- "label.select-website": "Select website",
- "label.sessions": "Sessions",
- "label.settings": "設置",
- "label.share-url": "分享連結",
- "label.single-day": "單日",
- "label.tablet": "平板",
- "label.team": "Team",
- "label.team-guest": "Team guest",
- "label.team-id": "Team ID",
- "label.team-member": "Team member",
- "label.team-owner": "Team owner",
- "label.teams": "Teams",
- "label.theme": "主題",
- "label.this-month": "本月",
- "label.this-week": "本週",
- "label.this-year": "今年",
- "label.timezone": "時區",
- "label.title": "Title",
- "label.today": "今天",
- "label.toggle-charts": "切換圖表",
- "label.tracking-code": "追蹤代碼",
- "label.unique-visitors": "獨立訪客",
- "label.unknown": "未知",
- "label.user": "User",
- "label.username": "用户名",
- "label.users": "Users",
- "label.view": "View",
- "label.view-details": "查看更多",
- "label.views": "頁面流量",
- "label.visitors": "獨立訪客",
- "label.website-id": "Website ID",
- "label.websites": "網站",
- "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-website": "刪除網站",
- "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.no-data-available": "無可用數據。",
- "message.no-match-password": "密碼不一致",
- "message.no-teams": "You have not created any teams.",
- "message.no-users": "There are no users.",
- "message.page-not-found": "網頁未找到。",
- "message.reset-website": "重置統計數據",
- "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.tracking-code": "追蹤代碼",
- "message.user-deleted": "User deleted.",
- "message.visitor-log": "來自{country}的訪客在搭載 {os} 的{device}上使用 {browser} 進行訪問。",
- "messages.no-team-websites": "This team does not have any websites.",
- "messages.no-websites-configured": "目前無任何網站設定。",
- "messages.team-websites-info": "Websites can be viewed by anyone on the team."
-}
diff --git a/lib/prisma.ts b/lib/prisma.ts
deleted file mode 100644
index 0a10d981..00000000
--- a/lib/prisma.ts
+++ /dev/null
@@ -1,162 +0,0 @@
-import prisma from '@umami/prisma-client';
-import moment from 'moment-timezone';
-import { MYSQL, POSTGRESQL, getDatabaseType } from 'lib/db';
-import { getEventDataType } from './eventData';
-import { FILTER_COLUMNS } from './constants';
-
-const MYSQL_DATE_FORMATS = {
- minute: '%Y-%m-%d %H:%i:00',
- hour: '%Y-%m-%d %H:00:00',
- day: '%Y-%m-%d',
- month: '%Y-%m-01',
- year: '%Y-01-01',
-};
-
-const POSTGRESQL_DATE_FORMATS = {
- minute: 'YYYY-MM-DD HH24:MI:00',
- hour: 'YYYY-MM-DD HH24:00:00',
- day: 'YYYY-MM-DD',
- month: 'YYYY-MM-01',
- year: 'YYYY-01-01',
-};
-
-function toUuid(): string {
- const db = getDatabaseType(process.env.DATABASE_URL);
-
- if (db === POSTGRESQL) {
- return '::uuid';
- }
-
- if (db === MYSQL) {
- return '';
- }
-}
-
-function getDateQuery(field: string, unit: string, timezone?: string): string {
- const db = getDatabaseType(process.env.DATABASE_URL);
-
- if (db === POSTGRESQL) {
- if (timezone) {
- return `to_char(date_trunc('${unit}', ${field} at time zone '${timezone}'), '${POSTGRESQL_DATE_FORMATS[unit]}')`;
- }
- return `to_char(date_trunc('${unit}', ${field}), '${POSTGRESQL_DATE_FORMATS[unit]}')`;
- }
-
- if (db === MYSQL) {
- if (timezone) {
- const tz = moment.tz(timezone).format('Z');
-
- return `date_format(convert_tz(${field},'+00:00','${tz}'), '${MYSQL_DATE_FORMATS[unit]}')`;
- }
-
- return `date_format(${field}, '${MYSQL_DATE_FORMATS[unit]}')`;
- }
-}
-
-function getTimestampInterval(field: string): string {
- const db = getDatabaseType(process.env.DATABASE_URL);
-
- if (db === POSTGRESQL) {
- return `floor(extract(epoch from max(${field}) - min(${field})))`;
- }
-
- if (db === MYSQL) {
- return `floor(unix_timestamp(max(${field})) - unix_timestamp(min(${field})))`;
- }
-}
-
-function getEventDataFilterQuery(
- filters: {
- eventKey?: string;
- eventValue?: string | number | boolean | Date;
- }[],
- params: any[],
-) {
- const query = filters.reduce((ac, cv) => {
- const type = getEventDataType(cv.eventValue);
-
- let value = cv.eventValue;
-
- ac.push(`and (event_key = $${params.length + 1}`);
- params.push(cv.eventKey);
-
- switch (type) {
- case 'number':
- ac.push(`and event_numeric_value = $${params.length + 1})`);
- params.push(value);
- break;
- case 'string':
- ac.push(`and event_string_value = $${params.length + 1})`);
- params.push(decodeURIComponent(cv.eventValue as string));
- break;
- case 'boolean':
- ac.push(`and event_string_value = $${params.length + 1})`);
- params.push(decodeURIComponent(cv.eventValue as string));
- value = cv ? 'true' : 'false';
- break;
- case 'date':
- ac.push(`and event_date_value = $${params.length + 1})`);
- params.push(cv.eventValue);
- break;
- }
-
- return ac;
- }, []);
-
- return query.join('\n');
-}
-
-function getFilterQuery(filters = {}, params = []): string {
- const query = Object.keys(filters).reduce((arr, key) => {
- const filter = filters[key];
-
- if (filter !== undefined) {
- const column = FILTER_COLUMNS[key] || key;
- arr.push(`and ${column}=$${params.length + 1}`);
- params.push(decodeURIComponent(filter));
- }
-
- return arr;
- }, []);
-
- return query.join('\n');
-}
-
-function parseFilters(
- filters: { [key: string]: any } = {},
- params = [],
- sessionKey = 'session_id',
-) {
- const { os, browser, device, country, region, city } = filters;
-
- return {
- joinSession:
- os || browser || device || country || region || city
- ? `inner join session on website_event.${sessionKey} = session.${sessionKey}`
- : '',
- filterQuery: getFilterQuery(filters, params),
- };
-}
-
-async function rawQuery(query: string, params: never[] = []): Promise {
- const db = getDatabaseType(process.env.DATABASE_URL);
-
- if (db !== POSTGRESQL && db !== MYSQL) {
- return Promise.reject(new Error('Unknown database.'));
- }
-
- const sql = db === MYSQL ? query.replace(/\$[0-9]+/g, '?') : query;
-
- return prisma.rawQuery(sql, params);
-}
-
-export default {
- ...prisma,
- getDateQuery,
- getTimestampInterval,
- getFilterQuery,
- getEventDataFilterQuery,
- toUuid,
- parseFilters,
- rawQuery,
-};
diff --git a/lib/types.ts b/lib/types.ts
deleted file mode 100644
index 37c1ffdc..00000000
--- a/lib/types.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-import { NextApiRequest } from 'next';
-import { EVENT_DATA_TYPE, EVENT_TYPE, KAFKA_TOPIC, ROLES } from './constants';
-
-type ObjectValues = T[keyof T];
-
-export type Roles = ObjectValues;
-
-export type EventTypes = ObjectValues;
-
-export type EventDataTypes = ObjectValues;
-
-export type KafkaTopics = ObjectValues;
-
-export interface EventData {
- [key: string]: number | string | EventData | number[] | string[] | EventData[];
-}
-
-export interface Auth {
- user?: {
- id: string;
- username: string;
- role: string;
- isAdmin: boolean;
- };
- shareToken?: {
- websiteId: string;
- };
-}
-
-export interface NextApiRequestQueryBody extends NextApiRequest {
- auth?: Auth;
- query: TQuery & { [key: string]: string | string[] };
- body: TBody;
- headers: any;
-}
-
-export interface NextApiRequestAuth extends NextApiRequest {
- auth?: Auth;
- headers: any;
-}
-
-export interface User {
- id: string;
- username: string;
- password?: string;
- role: string;
- createdAt?: Date;
-}
-
-export interface Website {
- id: string;
- userId: string;
- resetAt: Date;
- name: string;
- domain: string;
- shareId: string;
- createdAt: Date;
-}
-
-export interface Share {
- id: string;
- token: string;
-}
-
-export interface WebsiteActive {
- x: number;
-}
-
-export interface WebsiteMetric {
- x: string;
- y: number;
-}
-
-export interface WebsiteMetricFilter {
- domain?: string;
- url?: string;
- referrer?: string;
- title?: string;
- query?: string;
- event?: string;
- os?: string;
- browser?: string;
- device?: string;
- country?: string;
- region?: string;
- city?: string;
-}
-
-export interface WebsiteEventMetric {
- x: string;
- t: string;
- y: number;
-}
-
-export interface WebsiteEventDataMetric {
- x: string;
- t: string;
- eventName?: string;
- urlPath?: string;
-}
-
-export interface WebsitePageviews {
- pageviews: {
- t: string;
- y: number;
- };
- sessions: {
- t: string;
- y: number;
- };
-}
-
-export interface WebsiteStats {
- pageviews: { value: number; change: number };
- uniques: { value: number; change: number };
- bounces: { value: number; change: number };
- totalTime: { value: number; change: number };
-}
-
-export interface RealtimeInit {
- websites: Website[];
- token: string;
- data: RealtimeUpdate;
-}
-
-export interface RealtimeUpdate {
- pageviews: any[];
- sessions: any[];
- events: any[];
- timestamp: number;
-}
diff --git a/next.config.js b/next.config.js
index 8efb45bc..cc3cde7c 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,16 +1,15 @@
/* eslint-disable @typescript-eslint/no-var-requires */
require('dotenv').config();
+const path = require('path');
const pkg = require('./package.json');
-const CLOUD_URL = 'https://cloud.umami.is';
-
const contentSecurityPolicy = `
default-src 'self';
img-src *;
script-src 'self' 'unsafe-eval';
style-src 'self' 'unsafe-inline';
connect-src 'self' api.umami.is;
- frame-ancestors 'self';
+ frame-ancestors 'self' ${process.env.ALLOWED_FRAME_URLS};
`;
const headers = [
@@ -60,12 +59,14 @@ if (process.env.TRACKER_SCRIPT_NAME) {
const redirects = [
{
source: '/settings',
- destination: process.env.CLOUD_MODE ? '/settings/profile' : '/settings/websites',
+ destination: process.env.CLOUD_MODE
+ ? `${process.env.CLOUD_URL}/settings/websites`
+ : '/settings/websites',
permanent: true,
},
];
-if (process.env.CLOUD_MODE && process.env.DISABLE_LOGIN && process.env.CLOUD_URL) {
+if (process.env.CLOUD_MODE && process.env.CLOUD_URL && process.env.DISABLE_LOGIN) {
redirects.push({
source: '/login',
destination: process.env.CLOUD_URL,
@@ -75,7 +76,11 @@ if (process.env.CLOUD_MODE && process.env.DISABLE_LOGIN && process.env.CLOUD_URL
const config = {
env: {
+ cloudMode: process.env.CLOUD_MODE,
+ cloudUrl: process.env.CLOUD_URL,
+ configUrl: '/config',
currentVersion: pkg.version,
+ defaultLocale: process.env.DEFAULT_LOCALE,
isProduction: process.env.NODE_ENV === 'production',
},
basePath: process.env.BASE_PATH,
@@ -93,6 +98,8 @@ const config = {
use: ['@svgr/webpack'],
});
+ config.resolve.alias['public'] = path.resolve('./public');
+
return config;
},
async headers() {
diff --git a/package.components.json b/package.components.json
new file mode 100644
index 00000000..feb3fc2e
--- /dev/null
+++ b/package.components.json
@@ -0,0 +1,23 @@
+{
+ "name": "@umami/components",
+ "version": "0.11.0",
+ "description": "Umami React components.",
+ "author": "Mike Cao ",
+ "license": "MIT",
+ "type": "module",
+ "main": "./index.js",
+ "types": "./index.d.ts",
+ "peerDependencies": {
+ "@tanstack/react-query": "^4.33.0",
+ "classnames": "^2.3.1",
+ "colord": "^2.9.2",
+ "immer": "^9.0.12",
+ "moment-timezone": "^0.5.35",
+ "next": "^13.4.0",
+ "next-basics": "^0.36.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-intl": "^5.24.7",
+ "zustand": "^4.3.8"
+ }
+}
diff --git a/package.json b/package.json
index c1981e7f..4fda0a22 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "umami",
- "version": "2.2.0",
+ "version": "2.6.0",
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
"author": "Mike Cao ",
"license": "MIT",
@@ -11,28 +11,31 @@
},
"scripts": {
"dev": "next dev -p 3000",
- "build": "npm-run-all build-db check-db build-tracker build-geo build-app",
+ "build": "npm-run-all check-env build-db check-db build-tracker build-geo build-app",
"start": "next start",
"build-docker": "npm-run-all build-db build-tracker build-geo build-app",
"start-docker": "npm-run-all check-db update-tracker start-server",
"start-env": "node scripts/start-env.js",
"start-server": "node server.js",
"build-app": "next build",
- "build-tracker": "rollup -c rollup.tracker.config.js",
+ "build-components": "rollup -c rollup.components.config.mjs",
+ "build-tracker": "rollup -c rollup.tracker.config.mjs",
"build-db": "npm-run-all copy-db-files build-db-client",
- "build-lang": "npm-run-all format-lang compile-lang download-country-names download-language-names",
+ "build-lang": "npm-run-all format-lang compile-lang clean-lang download-country-names download-language-names",
"build-geo": "node scripts/build-geo.js",
"build-db-schema": "prisma db pull",
"build-db-client": "prisma generate",
"update-tracker": "node scripts/update-tracker.js",
"update-db": "prisma migrate deploy",
"check-db": "node scripts/check-db.js",
+ "check-env": "node scripts/check-env.js",
"copy-db-files": "node scripts/copy-db-files.js",
"extract-messages": "formatjs extract \"{pages,components}/**/*.js\" --out-file build/messages.json",
"merge-messages": "node scripts/merge-messages.js",
"generate-lang": "npm-run-all extract-messages merge-messages",
"format-lang": "node scripts/format-lang.js",
"compile-lang": "formatjs compile-folder --ast build/messages public/intl/messages",
+ "clean-lang": "prettier --write ./public/intl/messages/*.json",
"check-lang": "node scripts/check-lang.js",
"download-country-names": "node scripts/download-country-names.js",
"download-language-names": "node scripts/download-language-names.js",
@@ -59,10 +62,10 @@
],
"dependencies": {
"@fontsource/inter": "^4.5.15",
- "@prisma/client": "4.13.0",
- "@tanstack/react-query": "^4.16.1",
+ "@prisma/client": "5.2.0",
+ "@tanstack/react-query": "^4.33.0",
"@umami/prisma-client": "^0.2.0",
- "@umami/redis-client": "^0.2.0",
+ "@umami/redis-client": "^0.5.0",
"chalk": "^4.1.1",
"chart.js": "^4.2.1",
"chartjs-adapter-date-fns": "^3.0.0",
@@ -78,7 +81,6 @@
"del": "^6.0.0",
"detect-browser": "^5.2.0",
"dotenv": "^10.0.0",
- "formik": "^2.2.9",
"fs-extra": "^10.0.1",
"immer": "^9.0.12",
"ipaddr.js": "^2.0.1",
@@ -89,12 +91,12 @@
"kafkajs": "^2.1.0",
"maxmind": "^4.3.6",
"moment-timezone": "^0.5.35",
- "next": "13.2.4",
- "next-basics": "^0.27.0",
+ "next": "13.4.19",
+ "next-basics": "^0.36.0",
"node-fetch": "^3.2.8",
"npm-run-all": "^4.1.5",
"react": "^18.2.0",
- "react-basics": "^0.77.0",
+ "react-basics": "^0.98.0",
"react-beautiful-dnd": "^13.1.0",
"react-dom": "^18.2.0",
"react-error-boundary": "^4.0.4",
@@ -104,24 +106,27 @@
"react-use-measure": "^2.0.4",
"react-window": "^1.8.6",
"request-ip": "^3.3.0",
- "semver": "^7.3.6",
+ "semver": "^7.5.2",
"thenby": "^1.3.4",
"timezone-support": "^2.0.2",
- "uuid": "^8.3.2",
+ "uuid": "^9.0.0",
"yup": "^0.32.11",
- "zustand": "^3.7.2"
+ "zustand": "^4.3.8"
},
"devDependencies": {
"@formatjs/cli": "^4.2.29",
"@netlify/plugin-nextjs": "^4.27.3",
"@rollup/plugin-alias": "^5.0.0",
- "@rollup/plugin-buble": "^0.21.3",
- "@rollup/plugin-commonjs": "^24.1.0",
+ "@rollup/plugin-buble": "^1.0.2",
+ "@rollup/plugin-commonjs": "^25.0.4",
"@rollup/plugin-json": "^6.0.0",
- "@rollup/plugin-node-resolve": "^15.0.2",
- "@rollup/plugin-replace": "^4.0.0",
- "@svgr/rollup": "^7.0.0",
+ "@rollup/plugin-node-resolve": "^15.2.0",
+ "@rollup/plugin-replace": "^5.0.2",
+ "@svgr/rollup": "^8.1.0",
"@svgr/webpack": "^6.2.1",
+ "@types/node": "^18.11.9",
+ "@types/react": "^18.0.25",
+ "@types/react-dom": "^18.0.8",
"@typescript-eslint/eslint-plugin": "^5.50.0",
"@typescript-eslint/parser": "^5.50.0",
"cross-env": "^7.0.3",
@@ -141,21 +146,22 @@
"postcss-preset-env": "7.8.3",
"postcss-rtlcss": "^4.0.1",
"prettier": "^2.6.2",
- "prisma": "4.13.0",
+ "prisma": "5.2.0",
"prompts": "2.4.2",
- "rollup": "^2.70.1",
+ "rollup": "^3.28.0",
+ "rollup-plugin-copy": "^3.4.0",
"rollup-plugin-delete": "^2.0.0",
- "rollup-plugin-dts": "^5.3.0",
+ "rollup-plugin-dts": "^5.3.1",
"rollup-plugin-esbuild": "^5.0.0",
- "rollup-plugin-node-externals": "^5.1.2",
+ "rollup-plugin-node-externals": "^6.1.1",
"rollup-plugin-postcss": "^4.0.2",
"rollup-plugin-terser": "^7.0.2",
- "stylelint": "^14.16.1",
+ "stylelint": "^15.10.1",
"stylelint-config-css-modules": "^4.1.0",
"stylelint-config-prettier": "^9.0.3",
"stylelint-config-recommended": "^9.0.0",
"tar": "^6.1.2",
"ts-node": "^10.9.1",
- "typescript": "^4.9.5"
+ "typescript": "^5.1.6"
}
}
diff --git a/pages/_app.js b/pages/_app.js
deleted file mode 100644
index fa5efc61..00000000
--- a/pages/_app.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IntlProvider } from 'react-intl';
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
-import Head from 'next/head';
-import Script from 'next/script';
-import { useRouter } from 'next/router';
-import ErrorBoundary from 'components/common/ErrorBoundary';
-import useLocale from 'hooks/useLocale';
-import useConfig from 'hooks/useConfig';
-import '@fontsource/inter/400.css';
-import '@fontsource/inter/700.css';
-import 'react-basics/dist/styles.css';
-import 'styles/variables.css';
-import 'styles/locale.css';
-import 'styles/index.css';
-import 'chartjs-adapter-date-fns';
-
-const client = new QueryClient({
- defaultOptions: {
- queries: {
- retry: false,
- refetchOnWindowFocus: false,
- },
- },
-});
-
-export default function App({ Component, pageProps }) {
- const { locale, messages } = useLocale();
- const { basePath, pathname } = useRouter();
- const config = useConfig();
-
- const Wrapper = ({ children }) => {children};
-
- if (config?.uiDisabled) {
- return null;
- }
-
- return (
-
- null}
- >
-
-
-
-
-
-
-
-
-
-
-
-
- {!pathname.includes('/share/') && }
-
-
-
- );
-}
diff --git a/pages/api/me/websites.ts b/pages/api/me/websites.ts
deleted file mode 100644
index 15ea2485..00000000
--- a/pages/api/me/websites.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { useAuth, useCors } from 'lib/middleware';
-import { NextApiRequestQueryBody } from 'lib/types';
-import { NextApiResponse } from 'next';
-import { methodNotAllowed, ok } from 'next-basics';
-import { getUserWebsites } from 'queries';
-
-export interface WebsitesRequestBody {
- name: string;
- domain: string;
- shareId: string;
-}
-
-export default async (
- req: NextApiRequestQueryBody,
- res: NextApiResponse,
-) => {
- await useCors(req, res);
- await useAuth(req, res);
-
- const {
- user: { id: userId },
- } = req.auth;
-
- if (req.method === 'GET') {
- const websites = await getUserWebsites(userId);
-
- return ok(res, websites);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/api/realtime/[id].ts b/pages/api/realtime/[id].ts
deleted file mode 100644
index 069db54a..00000000
--- a/pages/api/realtime/[id].ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { subMinutes } from 'date-fns';
-import { RealtimeInit, NextApiRequestAuth } from 'lib/types';
-import { useAuth } from 'lib/middleware';
-import { NextApiResponse } from 'next';
-import { methodNotAllowed, ok } from 'next-basics';
-import { getRealtimeData } from 'queries';
-
-export default async (req: NextApiRequestAuth, res: NextApiResponse) => {
- await useAuth(req, res);
-
- if (req.method === 'GET') {
- const { id, startAt } = req.query;
- let startTime = subMinutes(new Date(), 30);
-
- if (+startAt > startTime.getTime()) {
- startTime = new Date(+startAt);
- }
-
- const data = await getRealtimeData(id, startTime);
-
- return ok(res, data);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/api/teams/[id]/users/index.ts b/pages/api/teams/[id]/users/index.ts
deleted file mode 100644
index af01d0ce..00000000
--- a/pages/api/teams/[id]/users/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { canUpdateTeam, canViewTeam } from 'lib/auth';
-import { useAuth } from 'lib/middleware';
-import { NextApiRequestQueryBody } from 'lib/types';
-import { NextApiResponse } from 'next';
-import { badRequest, methodNotAllowed, ok, unauthorized } from 'next-basics';
-import { createTeamUser, getTeamUsers, getUser } from 'queries';
-
-export interface TeamUserRequestQuery {
- id: string;
-}
-
-export interface TeamUserRequestBody {
- email: string;
- roleId: string;
-}
-
-export default async (
- req: NextApiRequestQueryBody,
- res: NextApiResponse,
-) => {
- await useAuth(req, res);
-
- const { id: teamId } = req.query;
-
- if (req.method === 'GET') {
- if (!(await canViewTeam(req.auth, teamId))) {
- return unauthorized(res);
- }
-
- const users = await getTeamUsers(teamId);
-
- return ok(res, users);
- }
-
- if (req.method === 'POST') {
- if (!(await canUpdateTeam(req.auth, teamId))) {
- return unauthorized(res, 'You must be the owner of this team.');
- }
-
- const { email, roleId: roleId } = req.body;
-
- // Check for User
- const user = await getUser({ username: email });
-
- if (!user) {
- return badRequest(res, 'The User does not exists.');
- }
-
- const updated = await createTeamUser(user.id, teamId, roleId);
-
- return ok(res, updated);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/api/teams/[id]/websites/index.ts b/pages/api/teams/[id]/websites/index.ts
deleted file mode 100644
index 63be478b..00000000
--- a/pages/api/teams/[id]/websites/index.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { canViewTeam } from 'lib/auth';
-import { useAuth } from 'lib/middleware';
-import { NextApiRequestQueryBody } from 'lib/types';
-import { NextApiResponse } from 'next';
-import { methodNotAllowed, ok, unauthorized } from 'next-basics';
-import { createTeamWebsites, getTeamWebsites } from 'queries/admin/teamWebsite';
-
-export interface TeamWebsiteRequestQuery {
- id: string;
-}
-
-export interface TeamWebsiteRequestBody {
- websiteIds?: string[];
-}
-
-export default async (
- req: NextApiRequestQueryBody,
- res: NextApiResponse,
-) => {
- await useAuth(req, res);
-
- const { id: teamId } = req.query;
-
- if (req.method === 'GET') {
- if (!(await canViewTeam(req.auth, teamId))) {
- return unauthorized(res);
- }
-
- const websites = await getTeamWebsites(teamId);
-
- return ok(res, websites);
- }
-
- if (req.method === 'POST') {
- if (!(await canViewTeam(req.auth, teamId))) {
- return unauthorized(res);
- }
-
- const { websiteIds } = req.body;
-
- const websites = await createTeamWebsites(teamId, websiteIds);
-
- return ok(res, websites);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/api/teams/index.ts b/pages/api/teams/index.ts
deleted file mode 100644
index 453f1ef3..00000000
--- a/pages/api/teams/index.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Team } from '@prisma/client';
-import { NextApiRequestQueryBody } from 'lib/types';
-import { canCreateTeam } from 'lib/auth';
-import { uuid } from 'lib/crypto';
-import { useAuth } from 'lib/middleware';
-import { NextApiResponse } from 'next';
-import { getRandomChars, methodNotAllowed, ok, unauthorized } from 'next-basics';
-import { createTeam, getUserTeams } from 'queries';
-
-export interface TeamsRequestBody {
- name: string;
-}
-
-export default async (
- req: NextApiRequestQueryBody,
- res: NextApiResponse,
-) => {
- await useAuth(req, res);
-
- const {
- user: { id: userId },
- } = req.auth;
-
- if (req.method === 'GET') {
- const teams = await getUserTeams(userId);
-
- return ok(res, teams);
- }
-
- if (req.method === 'POST') {
- if (!(await canCreateTeam(req.auth))) {
- return unauthorized(res);
- }
-
- const { name } = req.body;
-
- const team = await createTeam(
- {
- id: uuid(),
- name,
- accessCode: getRandomChars(16),
- },
- userId,
- );
-
- return ok(res, team);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/api/users/[id]/websites.ts b/pages/api/users/[id]/websites.ts
deleted file mode 100644
index c8b874bb..00000000
--- a/pages/api/users/[id]/websites.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { useAuth, useCors } from 'lib/middleware';
-import { NextApiRequestQueryBody } from 'lib/types';
-import { NextApiResponse } from 'next';
-import { methodNotAllowed, ok, unauthorized } from 'next-basics';
-import { getUserWebsites } from 'queries';
-
-export interface WebsitesRequestBody {
- name: string;
- domain: string;
- shareId: string;
-}
-
-export default async (
- req: NextApiRequestQueryBody,
- res: NextApiResponse,
-) => {
- await useCors(req, res);
- await useAuth(req, res);
-
- const { user } = req.auth;
- const { id: userId } = req.query;
-
- if (req.method === 'GET') {
- if (!user.isAdmin && user.id !== userId) {
- return unauthorized(res);
- }
-
- const websites = await getUserWebsites(userId);
-
- return ok(res, websites);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/api/websites/[id]/eventData.ts b/pages/api/websites/[id]/eventData.ts
deleted file mode 100644
index 65c4d687..00000000
--- a/pages/api/websites/[id]/eventData.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { canViewWebsite } from 'lib/auth';
-import { useAuth, useCors } from 'lib/middleware';
-import { NextApiRequestQueryBody, WebsiteEventDataMetric } from 'lib/types';
-import { NextApiResponse } from 'next';
-import { methodNotAllowed, ok, unauthorized } from 'next-basics';
-import { getEventData } from 'queries';
-
-export interface WebsiteEventDataRequestQuery {
- id: string;
-}
-
-export interface WebsiteEventDataRequestBody {
- startAt: string;
- endAt: string;
- eventName?: string;
- urlPath?: string;
- timeSeries?: {
- unit: string;
- timezone: string;
- };
- filters: [
- {
- eventKey?: string;
- eventValue?: string | number | boolean | Date;
- },
- ];
-}
-
-export default async (
- req: NextApiRequestQueryBody,
- res: NextApiResponse,
-) => {
- await useCors(req, res);
- await useAuth(req, res);
-
- const { id: websiteId } = req.query;
-
- if (req.method === 'POST') {
- if (!(await canViewWebsite(req.auth, websiteId))) {
- return unauthorized(res);
- }
-
- const { startAt, endAt, eventName, urlPath, filters } = req.body;
-
- const startDate = new Date(+startAt);
- const endDate = new Date(+endAt);
-
- const events = await getEventData(websiteId, {
- startDate,
- endDate,
- eventName,
- urlPath,
- filters,
- });
-
- return ok(res, events);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/api/websites/index.ts b/pages/api/websites/index.ts
deleted file mode 100644
index 49797d08..00000000
--- a/pages/api/websites/index.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { canCreateWebsite } from 'lib/auth';
-import { uuid } from 'lib/crypto';
-import { useAuth, useCors } from 'lib/middleware';
-import { NextApiRequestQueryBody } from 'lib/types';
-import { NextApiResponse } from 'next';
-import { methodNotAllowed, ok, unauthorized } from 'next-basics';
-import { createWebsite, getUserWebsites } from 'queries';
-
-export interface WebsitesRequestBody {
- name: string;
- domain: string;
- shareId: string;
-}
-
-export default async (
- req: NextApiRequestQueryBody,
- res: NextApiResponse,
-) => {
- await useCors(req, res);
- await useAuth(req, res);
-
- const {
- user: { id: userId },
- } = req.auth;
-
- if (req.method === 'GET') {
- const websites = await getUserWebsites(userId);
-
- return ok(res, websites);
- }
-
- if (req.method === 'POST') {
- const { name, domain, shareId } = req.body;
-
- if (!(await canCreateWebsite(req.auth))) {
- return unauthorized(res);
- }
-
- const data: any = {
- id: uuid(),
- name,
- domain,
- shareId,
- };
-
- data.userId = userId;
-
- const website = await createWebsite(data);
-
- return ok(res, website);
- }
-
- return methodNotAllowed(res);
-};
diff --git a/pages/realtime/[id]/index.js b/pages/realtime/[id]/index.js
deleted file mode 100644
index 43475fa5..00000000
--- a/pages/realtime/[id]/index.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { useRouter } from 'next/router';
-import AppLayout from 'components/layout/AppLayout';
-import RealtimeDashboard from 'components/pages/realtime/RealtimeDashboard';
-import useMessages from 'hooks/useMessages';
-import useApi from 'hooks/useApi';
-
-export default function RealtimeDetailsPage() {
- const router = useRouter();
- const { id: websiteId } = router.query;
- const { formatMessage, labels } = useMessages();
- const { get, useQuery } = useApi();
- const { data: website } = useQuery(['websites', websiteId], () =>
- get(`/websites/${websiteId}`, { enabled: !!websiteId }),
- );
- const title = `${formatMessage(labels.realtime)}${website?.name ? ` - ${website.name}` : ''}`;
-
- if (!websiteId) {
- return null;
- }
-
- return (
-
-
-
- );
-}
diff --git a/pages/realtime/index.js b/pages/realtime/index.js
deleted file mode 100644
index bb016173..00000000
--- a/pages/realtime/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import AppLayout from 'components/layout/AppLayout';
-import RealtimeHome from 'components/pages/realtime/RealtimeHome';
-import useMessages from 'hooks/useMessages';
-
-export default function RealtimePage() {
- const { formatMessage, labels } = useMessages();
- return (
-
-
-
- );
-}
diff --git a/public/images/browsers/android-webview.png b/public/images/browsers/android-webview.png
new file mode 100644
index 00000000..99242297
Binary files /dev/null and b/public/images/browsers/android-webview.png differ
diff --git a/public/images/browsers/android.png b/public/images/browsers/android.png
new file mode 100644
index 00000000..393001a0
Binary files /dev/null and b/public/images/browsers/android.png differ
diff --git a/public/images/browsers/aol.png b/public/images/browsers/aol.png
new file mode 100644
index 00000000..3b6f962f
Binary files /dev/null and b/public/images/browsers/aol.png differ
diff --git a/public/images/browsers/beaker.png b/public/images/browsers/beaker.png
new file mode 100644
index 00000000..8d4e61d6
Binary files /dev/null and b/public/images/browsers/beaker.png differ
diff --git a/public/images/browsers/blackberry.png b/public/images/browsers/blackberry.png
new file mode 100644
index 00000000..11ccd836
Binary files /dev/null and b/public/images/browsers/blackberry.png differ
diff --git a/public/images/browsers/brave.png b/public/images/browsers/brave.png
new file mode 100644
index 00000000..0556c120
Binary files /dev/null and b/public/images/browsers/brave.png differ
diff --git a/public/images/browsers/chrome.png b/public/images/browsers/chrome.png
new file mode 100644
index 00000000..e4e2773f
Binary files /dev/null and b/public/images/browsers/chrome.png differ
diff --git a/public/images/browsers/chromium-webview.png b/public/images/browsers/chromium-webview.png
new file mode 100644
index 00000000..a3fd998d
Binary files /dev/null and b/public/images/browsers/chromium-webview.png differ
diff --git a/public/images/browsers/crios.png b/public/images/browsers/crios.png
new file mode 100644
index 00000000..e4e2773f
Binary files /dev/null and b/public/images/browsers/crios.png differ
diff --git a/public/images/browsers/curl.png b/public/images/browsers/curl.png
new file mode 100644
index 00000000..cc0a617a
Binary files /dev/null and b/public/images/browsers/curl.png differ
diff --git a/public/images/browsers/edge-chromium.png b/public/images/browsers/edge-chromium.png
new file mode 100644
index 00000000..1f2b230f
Binary files /dev/null and b/public/images/browsers/edge-chromium.png differ
diff --git a/public/images/browsers/edge-ios.png b/public/images/browsers/edge-ios.png
new file mode 100644
index 00000000..1f2b230f
Binary files /dev/null and b/public/images/browsers/edge-ios.png differ
diff --git a/public/images/browsers/edge.png b/public/images/browsers/edge.png
new file mode 100644
index 00000000..2da3aaff
Binary files /dev/null and b/public/images/browsers/edge.png differ
diff --git a/public/images/browsers/facebook.png b/public/images/browsers/facebook.png
new file mode 100644
index 00000000..4dc9b267
Binary files /dev/null and b/public/images/browsers/facebook.png differ
diff --git a/public/images/browsers/firefox.png b/public/images/browsers/firefox.png
new file mode 100644
index 00000000..c118f9c1
Binary files /dev/null and b/public/images/browsers/firefox.png differ
diff --git a/public/images/browsers/fxios.png b/public/images/browsers/fxios.png
new file mode 100644
index 00000000..c118f9c1
Binary files /dev/null and b/public/images/browsers/fxios.png differ
diff --git a/public/images/browsers/ie.png b/public/images/browsers/ie.png
new file mode 100644
index 00000000..1d3bbe8f
Binary files /dev/null and b/public/images/browsers/ie.png differ
diff --git a/public/images/browsers/instagram.png b/public/images/browsers/instagram.png
new file mode 100644
index 00000000..8377710a
Binary files /dev/null and b/public/images/browsers/instagram.png differ
diff --git a/public/images/browsers/ios-webview.png b/public/images/browsers/ios-webview.png
new file mode 100644
index 00000000..bf7c362e
Binary files /dev/null and b/public/images/browsers/ios-webview.png differ
diff --git a/public/images/browsers/ios.png b/public/images/browsers/ios.png
new file mode 100644
index 00000000..114bf554
Binary files /dev/null and b/public/images/browsers/ios.png differ
diff --git a/public/images/browsers/kakaotalk.png b/public/images/browsers/kakaotalk.png
new file mode 100644
index 00000000..e932a67b
Binary files /dev/null and b/public/images/browsers/kakaotalk.png differ
diff --git a/public/images/browsers/miui.png b/public/images/browsers/miui.png
new file mode 100644
index 00000000..1534a0ca
Binary files /dev/null and b/public/images/browsers/miui.png differ
diff --git a/public/images/browsers/opera-mini.png b/public/images/browsers/opera-mini.png
new file mode 100644
index 00000000..d4e26712
Binary files /dev/null and b/public/images/browsers/opera-mini.png differ
diff --git a/public/images/browsers/opera.png b/public/images/browsers/opera.png
new file mode 100644
index 00000000..84e6d0fc
Binary files /dev/null and b/public/images/browsers/opera.png differ
diff --git a/public/images/browsers/safari.png b/public/images/browsers/safari.png
new file mode 100644
index 00000000..b06369aa
Binary files /dev/null and b/public/images/browsers/safari.png differ
diff --git a/public/images/browsers/samsung.png b/public/images/browsers/samsung.png
new file mode 100644
index 00000000..544e390e
Binary files /dev/null and b/public/images/browsers/samsung.png differ
diff --git a/public/images/browsers/searchbot.png b/public/images/browsers/searchbot.png
new file mode 100644
index 00000000..43b1dff9
Binary files /dev/null and b/public/images/browsers/searchbot.png differ
diff --git a/public/images/browsers/silk.png b/public/images/browsers/silk.png
new file mode 100644
index 00000000..6af1d726
Binary files /dev/null and b/public/images/browsers/silk.png differ
diff --git a/public/images/browsers/unknown.png b/public/images/browsers/unknown.png
new file mode 100644
index 00000000..52058026
Binary files /dev/null and b/public/images/browsers/unknown.png differ
diff --git a/public/images/browsers/yandexbrowser.png b/public/images/browsers/yandexbrowser.png
new file mode 100644
index 00000000..f703db23
Binary files /dev/null and b/public/images/browsers/yandexbrowser.png differ
diff --git a/public/images/device/desktop.png b/public/images/device/desktop.png
new file mode 100644
index 00000000..d5ede419
Binary files /dev/null and b/public/images/device/desktop.png differ
diff --git a/public/images/device/laptop.png b/public/images/device/laptop.png
new file mode 100644
index 00000000..19f66967
Binary files /dev/null and b/public/images/device/laptop.png differ
diff --git a/public/images/device/mobile.png b/public/images/device/mobile.png
new file mode 100644
index 00000000..d2190f4a
Binary files /dev/null and b/public/images/device/mobile.png differ
diff --git a/public/images/device/tablet.png b/public/images/device/tablet.png
new file mode 100644
index 00000000..5e06bcff
Binary files /dev/null and b/public/images/device/tablet.png differ
diff --git a/public/images/device/unknown.png b/public/images/device/unknown.png
new file mode 100644
index 00000000..52058026
Binary files /dev/null and b/public/images/device/unknown.png differ
diff --git a/public/images/os/amazon-os.png b/public/images/os/amazon-os.png
new file mode 100644
index 00000000..030e72f6
Binary files /dev/null and b/public/images/os/amazon-os.png differ
diff --git a/public/images/os/android-os.png b/public/images/os/android-os.png
new file mode 100644
index 00000000..21ea3445
Binary files /dev/null and b/public/images/os/android-os.png differ
diff --git a/public/images/os/beos.png b/public/images/os/beos.png
new file mode 100644
index 00000000..8e852b0f
Binary files /dev/null and b/public/images/os/beos.png differ
diff --git a/public/images/os/blackberry-os.png b/public/images/os/blackberry-os.png
new file mode 100644
index 00000000..093a8a40
Binary files /dev/null and b/public/images/os/blackberry-os.png differ
diff --git a/public/images/os/chrome-os.png b/public/images/os/chrome-os.png
new file mode 100644
index 00000000..ae008601
Binary files /dev/null and b/public/images/os/chrome-os.png differ
diff --git a/public/images/os/ios.png b/public/images/os/ios.png
new file mode 100644
index 00000000..7e803a69
Binary files /dev/null and b/public/images/os/ios.png differ
diff --git a/public/images/os/linux.png b/public/images/os/linux.png
new file mode 100644
index 00000000..d5c1bd8b
Binary files /dev/null and b/public/images/os/linux.png differ
diff --git a/public/images/os/mac-os.png b/public/images/os/mac-os.png
new file mode 100644
index 00000000..e57d01cf
Binary files /dev/null and b/public/images/os/mac-os.png differ
diff --git a/public/images/os/open-bsd.png b/public/images/os/open-bsd.png
new file mode 100644
index 00000000..b3423cce
Binary files /dev/null and b/public/images/os/open-bsd.png differ
diff --git a/public/images/os/os-2.png b/public/images/os/os-2.png
new file mode 100644
index 00000000..8f51e618
Binary files /dev/null and b/public/images/os/os-2.png differ
diff --git a/public/images/os/qnx.png b/public/images/os/qnx.png
new file mode 100644
index 00000000..1cf10fe5
Binary files /dev/null and b/public/images/os/qnx.png differ
diff --git a/public/images/os/sun-os.png b/public/images/os/sun-os.png
new file mode 100644
index 00000000..648eb241
Binary files /dev/null and b/public/images/os/sun-os.png differ
diff --git a/public/images/os/unknown.png b/public/images/os/unknown.png
new file mode 100644
index 00000000..52058026
Binary files /dev/null and b/public/images/os/unknown.png differ
diff --git a/public/images/os/windows-10.png b/public/images/os/windows-10.png
new file mode 100644
index 00000000..4effcd2b
Binary files /dev/null and b/public/images/os/windows-10.png differ
diff --git a/public/images/os/windows-11.png b/public/images/os/windows-11.png
new file mode 100644
index 00000000..4effcd2b
Binary files /dev/null and b/public/images/os/windows-11.png differ
diff --git a/public/images/os/windows-2000.png b/public/images/os/windows-2000.png
new file mode 100644
index 00000000..8ec7db18
Binary files /dev/null and b/public/images/os/windows-2000.png differ
diff --git a/public/images/os/windows-3-11.png b/public/images/os/windows-3-11.png
new file mode 100644
index 00000000..8ec7db18
Binary files /dev/null and b/public/images/os/windows-3-11.png differ
diff --git a/public/images/os/windows-7.png b/public/images/os/windows-7.png
new file mode 100644
index 00000000..4a899a30
Binary files /dev/null and b/public/images/os/windows-7.png differ
diff --git a/public/images/os/windows-8-1.png b/public/images/os/windows-8-1.png
new file mode 100644
index 00000000..f6605f4c
Binary files /dev/null and b/public/images/os/windows-8-1.png differ
diff --git a/public/images/os/windows-8.png b/public/images/os/windows-8.png
new file mode 100644
index 00000000..f6605f4c
Binary files /dev/null and b/public/images/os/windows-8.png differ
diff --git a/public/images/os/windows-95.png b/public/images/os/windows-95.png
new file mode 100644
index 00000000..8ec7db18
Binary files /dev/null and b/public/images/os/windows-95.png differ
diff --git a/public/images/os/windows-98.png b/public/images/os/windows-98.png
new file mode 100644
index 00000000..8ec7db18
Binary files /dev/null and b/public/images/os/windows-98.png differ
diff --git a/public/images/os/windows-me.png b/public/images/os/windows-me.png
new file mode 100644
index 00000000..4a899a30
Binary files /dev/null and b/public/images/os/windows-me.png differ
diff --git a/public/images/os/windows-server-2003.png b/public/images/os/windows-server-2003.png
new file mode 100644
index 00000000..4a899a30
Binary files /dev/null and b/public/images/os/windows-server-2003.png differ
diff --git a/public/images/os/windows-vista.png b/public/images/os/windows-vista.png
new file mode 100644
index 00000000..4a899a30
Binary files /dev/null and b/public/images/os/windows-vista.png differ
diff --git a/public/images/os/windows-xp.png b/public/images/os/windows-xp.png
new file mode 100644
index 00000000..4a899a30
Binary files /dev/null and b/public/images/os/windows-xp.png differ
diff --git a/public/intl/country/es-ES.json b/public/intl/country/es-ES.json
new file mode 100644
index 00000000..1e9f60da
--- /dev/null
+++ b/public/intl/country/es-ES.json
@@ -0,0 +1,251 @@
+{
+ "AF": "Afganist\u00e1n",
+ "AL": "Albania",
+ "DE": "Alemania",
+ "AD": "Andorra",
+ "AO": "Angola",
+ "AI": "Anguila",
+ "AQ": "Ant\u00e1rtida",
+ "AG": "Antigua y Barbuda",
+ "SA": "Arabia Saud\u00ed",
+ "DZ": "Argelia",
+ "AR": "Argentina",
+ "AM": "Armenia",
+ "AW": "Aruba",
+ "AU": "Australia",
+ "AT": "Austria",
+ "AZ": "Azerbaiy\u00e1n",
+ "BS": "Bahamas",
+ "BD": "Banglad\u00e9s",
+ "BB": "Barbados",
+ "BH": "Bar\u00e9in",
+ "BE": "B\u00e9lgica",
+ "BZ": "Belice",
+ "BJ": "Ben\u00edn",
+ "BM": "Bermudas",
+ "BY": "Bielorrusia",
+ "BO": "Bolivia",
+ "BA": "Bosnia y Herzegovina",
+ "BW": "Botsuana",
+ "BR": "Brasil",
+ "BN": "Brun\u00e9i",
+ "BG": "Bulgaria",
+ "BF": "Burkina Faso",
+ "BI": "Burundi",
+ "BT": "But\u00e1n",
+ "CV": "Cabo Verde",
+ "KH": "Camboya",
+ "CM": "Camer\u00fan",
+ "CA": "Canad\u00e1",
+ "BQ": "Caribe neerland\u00e9s",
+ "QA": "Catar",
+ "TD": "Chad",
+ "CZ": "Chequia",
+ "CL": "Chile",
+ "CN": "China",
+ "CY": "Chipre",
+ "VA": "Ciudad del Vaticano",
+ "CO": "Colombia",
+ "KM": "Comoras",
+ "CG": "Congo",
+ "KP": "Corea del Norte",
+ "KR": "Corea del Sur",
+ "CR": "Costa Rica",
+ "CI": "C\u00f4te d\u2019Ivoire",
+ "HR": "Croacia",
+ "CU": "Cuba",
+ "CW": "Curazao",
+ "DK": "Dinamarca",
+ "DM": "Dominica",
+ "EC": "Ecuador",
+ "EG": "Egipto",
+ "SV": "El Salvador",
+ "AE": "Emiratos \u00c1rabes Unidos",
+ "ER": "Eritrea",
+ "SK": "Eslovaquia",
+ "SI": "Eslovenia",
+ "ES": "Espa\u00f1a",
+ "US": "Estados Unidos",
+ "EE": "Estonia",
+ "SZ": "Esuatini",
+ "ET": "Etiop\u00eda",
+ "PH": "Filipinas",
+ "FI": "Finlandia",
+ "FJ": "Fiyi",
+ "FR": "Francia",
+ "GA": "Gab\u00f3n",
+ "GM": "Gambia",
+ "GE": "Georgia",
+ "GH": "Ghana",
+ "GI": "Gibraltar",
+ "GD": "Granada",
+ "GR": "Grecia",
+ "GL": "Groenlandia",
+ "GP": "Guadalupe",
+ "GU": "Guam",
+ "GT": "Guatemala",
+ "GF": "Guayana Francesa",
+ "GG": "Guernsey",
+ "GN": "Guinea",
+ "GQ": "Guinea Ecuatorial",
+ "GW": "Guinea-Bis\u00e1u",
+ "GY": "Guyana",
+ "HT": "Hait\u00ed",
+ "HN": "Honduras",
+ "HU": "Hungr\u00eda",
+ "IN": "India",
+ "ID": "Indonesia",
+ "IQ": "Irak",
+ "IR": "Ir\u00e1n",
+ "IE": "Irlanda",
+ "BV": "Isla Bouvet",
+ "IM": "Isla de Man",
+ "CX": "Isla de Navidad",
+ "NF": "Isla Norfolk",
+ "IS": "Islandia",
+ "AX": "Islas \u00c5land",
+ "KY": "Islas Caim\u00e1n",
+ "CC": "Islas Cocos",
+ "CK": "Islas Cook",
+ "FO": "Islas Feroe",
+ "GS": "Islas Georgia del Sur y Sandwich del Sur",
+ "HM": "Islas Heard y McDonald",
+ "FK": "Islas Malvinas",
+ "MP": "Islas Marianas del Norte",
+ "MH": "Islas Marshall",
+ "UM": "Islas menores alejadas de EE. UU.",
+ "PN": "Islas Pitcairn",
+ "SB": "Islas Salom\u00f3n",
+ "TC": "Islas Turcas y Caicos",
+ "VG": "Islas V\u00edrgenes Brit\u00e1nicas",
+ "VI": "Islas V\u00edrgenes de EE. UU.",
+ "IL": "Israel",
+ "IT": "Italia",
+ "JM": "Jamaica",
+ "JP": "Jap\u00f3n",
+ "JE": "Jersey",
+ "JO": "Jordania",
+ "KZ": "Kazajist\u00e1n",
+ "KE": "Kenia",
+ "KG": "Kirguist\u00e1n",
+ "KI": "Kiribati",
+ "KW": "Kuwait",
+ "LA": "Laos",
+ "LS": "Lesoto",
+ "LV": "Letonia",
+ "LB": "L\u00edbano",
+ "LR": "Liberia",
+ "LY": "Libia",
+ "LI": "Liechtenstein",
+ "LT": "Lituania",
+ "LU": "Luxemburgo",
+ "MK": "Macedonia del Norte",
+ "MG": "Madagascar",
+ "MY": "Malasia",
+ "MW": "Malaui",
+ "MV": "Maldivas",
+ "ML": "Mali",
+ "MT": "Malta",
+ "MA": "Marruecos",
+ "MQ": "Martinica",
+ "MU": "Mauricio",
+ "MR": "Mauritania",
+ "YT": "Mayotte",
+ "MX": "M\u00e9xico",
+ "FM": "Micronesia",
+ "MD": "Moldavia",
+ "MC": "M\u00f3naco",
+ "MN": "Mongolia",
+ "ME": "Montenegro",
+ "MS": "Montserrat",
+ "MZ": "Mozambique",
+ "MM": "Myanmar (Birmania)",
+ "NA": "Namibia",
+ "NR": "Nauru",
+ "NP": "Nepal",
+ "NI": "Nicaragua",
+ "NE": "N\u00edger",
+ "NG": "Nigeria",
+ "NU": "Niue",
+ "NO": "Noruega",
+ "NC": "Nueva Caledonia",
+ "NZ": "Nueva Zelanda",
+ "OM": "Om\u00e1n",
+ "NL": "Pa\u00edses Bajos",
+ "PK": "Pakist\u00e1n",
+ "PW": "Palaos",
+ "PA": "Panam\u00e1",
+ "PG": "Pap\u00faa Nueva Guinea",
+ "PY": "Paraguay",
+ "PE": "Per\u00fa",
+ "PF": "Polinesia Francesa",
+ "PL": "Polonia",
+ "PT": "Portugal",
+ "PR": "Puerto Rico",
+ "HK": "RAE de Hong Kong (China)",
+ "MO": "RAE de Macao (China)",
+ "GB": "Reino Unido",
+ "CF": "Rep\u00fablica Centroafricana",
+ "CD": "Rep\u00fablica Democr\u00e1tica del Congo",
+ "DO": "Rep\u00fablica Dominicana",
+ "RE": "Reuni\u00f3n",
+ "RW": "Ruanda",
+ "RO": "Ruman\u00eda",
+ "RU": "Rusia",
+ "EH": "S\u00e1hara Occidental",
+ "WS": "Samoa",
+ "AS": "Samoa Americana",
+ "BL": "San Bartolom\u00e9",
+ "KN": "San Crist\u00f3bal y Nieves",
+ "SM": "San Marino",
+ "MF": "San Mart\u00edn",
+ "PM": "San Pedro y Miquel\u00f3n",
+ "VC": "San Vicente y las Granadinas",
+ "SH": "Santa Elena",
+ "LC": "Santa Luc\u00eda",
+ "ST": "Santo Tom\u00e9 y Pr\u00edncipe",
+ "SN": "Senegal",
+ "RS": "Serbia",
+ "SC": "Seychelles",
+ "SL": "Sierra Leona",
+ "SG": "Singapur",
+ "SX": "Sint Maarten",
+ "SY": "Siria",
+ "SO": "Somalia",
+ "LK": "Sri Lanka",
+ "ZA": "Sud\u00e1frica",
+ "SD": "Sud\u00e1n",
+ "SS": "Sud\u00e1n del Sur",
+ "SE": "Suecia",
+ "CH": "Suiza",
+ "SR": "Surinam",
+ "SJ": "Svalbard y Jan Mayen",
+ "TH": "Tailandia",
+ "TW": "Taiw\u00e1n",
+ "TZ": "Tanzania",
+ "TJ": "Tayikist\u00e1n",
+ "IO": "Territorio Brit\u00e1nico del Oc\u00e9ano \u00cdndico",
+ "TF": "Territorios Australes Franceses",
+ "PS": "Territorios Palestinos",
+ "TL": "Timor-Leste",
+ "TG": "Togo",
+ "TK": "Tokelau",
+ "TO": "Tonga",
+ "TT": "Trinidad y Tobago",
+ "TN": "T\u00fanez",
+ "TM": "Turkmenist\u00e1n",
+ "TR": "Turqu\u00eda",
+ "TV": "Tuvalu",
+ "UA": "Ucrania",
+ "UG": "Uganda",
+ "UY": "Uruguay",
+ "UZ": "Uzbekist\u00e1n",
+ "VU": "Vanuatu",
+ "VE": "Venezuela",
+ "VN": "Vietnam",
+ "WF": "Wallis y Futuna",
+ "YE": "Yemen",
+ "DJ": "Yibuti",
+ "ZM": "Zambia",
+ "ZW": "Zimbabue"
+}
diff --git a/public/intl/country/my-MM.json b/public/intl/country/my-MM.json
new file mode 100644
index 00000000..e233349e
--- /dev/null
+++ b/public/intl/country/my-MM.json
@@ -0,0 +1,251 @@
+{
+ "CA": "\u1000\u1014\u1031\u1012\u102b",
+ "KG": "\u1000\u102c\u1002\u103b\u1005\u1039\u1005\u1010\u1014\u103a",
+ "KZ": "\u1000\u102c\u1007\u1000\u103a\u1005\u1010\u1014\u103a",
+ "QA": "\u1000\u102c\u1010\u102c",
+ "BQ": "\u1000\u102c\u101b\u1005\u103a\u1018\u102e\u101a\u1036 \u1014\u101a\u103a\u101e\u102c\u101c\u1014\u103a",
+ "KW": "\u1000\u1030\u101d\u102d\u1010\u103a",
+ "KY": "\u1000\u1031\u1019\u1014\u103a \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "CC": "\u1000\u102d\u102f\u1000\u102d\u102f\u1038\u1000\u103b\u103d\u1014\u103a\u1038",
+ "KM": "\u1000\u102d\u102f\u1019\u102d\u102f\u101b\u102d\u102f\u1005\u103a",
+ "CO": "\u1000\u102d\u102f\u101c\u1036\u1018\u102e\u101a\u102c",
+ "CR": "\u1000\u102d\u102f\u1037\u1005\u103a\u1010\u102c\u101b\u102e\u1000\u102c",
+ "CI": "\u1000\u102d\u102f\u1037\u1010\u103a \u1012\u102e\u1017\u103d\u102c",
+ "KE": "\u1000\u1004\u103a\u100a\u102c",
+ "CM": "\u1000\u1004\u103a\u1019\u101b\u103d\u1014\u103a\u1038",
+ "CV": "\u1000\u102d\u1010\u103a\u1017\u102c\u1012\u102e",
+ "KH": "\u1000\u1019\u1039\u1018\u1031\u102c\u1012\u102e\u1038\u101a\u102c\u1038",
+ "CW": "\u1000\u103b\u1030\u101b\u1031\u1038\u1000\u102d\u102f\u1038\u1005\u103a",
+ "CU": "\u1000\u103b\u1030\u1038\u1018\u102c\u1038",
+ "CK": "\u1000\u103d\u1010\u103a \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "CD": "\u1000\u103d\u1014\u103a\u1002\u102d\u102f",
+ "CG": "\u1000\u103d\u1014\u103a\u1002\u102d\u102f-\u1018\u101b\u102c\u1007\u102c\u1017\u102e\u1038\u101c\u103a",
+ "HR": "\u1001\u101b\u102d\u102f\u1021\u1031\u1038\u101b\u103e\u102c\u1038",
+ "CX": "\u1001\u101b\u1005\u103a\u1005\u1019\u1010\u103a \u1000\u103b\u103d\u1014\u103a\u1038",
+ "KI": "\u1001\u102e\u101b\u102e\u1018\u102c\u1010\u102e",
+ "CL": "\u1001\u103b\u102e\u101c\u102e",
+ "CZ": "\u1001\u103b\u1000\u103a\u1000\u102e\u101a\u102c\u1038",
+ "TD": "\u1001\u103b\u1012\u103a",
+ "GR": "\u1002\u101b\u102d",
+ "GD": "\u1002\u101b\u102e\u1014\u1031\u1012\u102b",
+ "GL": "\u1002\u101b\u1004\u103a\u1038\u101c\u1014\u103a\u1038",
+ "GH": "\u1002\u102b\u1014\u102c",
+ "GA": "\u1002\u102b\u1018\u103d\u1014\u103a",
+ "GN": "\u1002\u102e\u1014\u102e",
+ "GW": "\u1002\u102e\u1014\u102e-\u1018\u102e\u1005\u1031\u102c",
+ "GU": "\u1002\u1030\u1021\u1019\u103a",
+ "GY": "\u1002\u102d\u102f\u1004\u103a\u101a\u102c\u1014\u102c",
+ "GM": "\u1002\u1019\u103a\u1018\u102e\u101b\u102c",
+ "JP": "\u1002\u103b\u1015\u1014\u103a",
+ "JM": "\u1002\u103b\u1019\u1031\u1000\u102c",
+ "JE": "\u1002\u103b\u102c\u1005\u102e",
+ "DE": "\u1002\u103b\u102c\u1019\u1014\u102e",
+ "GI": "\u1002\u103b\u102e\u1018\u101b\u1031\u102c\u103a\u101c\u103a\u1010\u102c",
+ "DJ": "\u1002\u103b\u102e\u1018\u1030\u1010\u102e",
+ "GE": "\u1002\u103b\u1031\u102c\u103a\u1002\u103b\u102e\u101a\u102c",
+ "JO": "\u1002\u103b\u1031\u102c\u103a\u1012\u1014\u103a",
+ "GT": "\u1002\u103d\u102b\u1010\u102e\u1019\u102c\u101c\u102c",
+ "GP": "\u1002\u103d\u102b\u1012\u102e\u101c\u102f",
+ "GG": "\u1002\u103d\u1014\u103a\u1038\u1007\u102e",
+ "ES": "\u1005\u1015\u102d\u1014\u103a",
+ "SJ": "\u1005\u1017\u102d\u102f\u101c\u103a\u1018\u1010\u103a\u1014\u103e\u1004\u1037\u103a\u1002\u103b\u1014\u103a\u1019\u1031\u101b\u1014\u103a",
+ "KN": "\u1005\u102d\u1014\u1037\u103a\u1000\u1005\u103a\u1014\u103e\u1004\u1037\u103a\u1014\u102e\u1017\u102e\u1005\u103a",
+ "PM": "\u1005\u102d\u1014\u1037\u103a\u1015\u102e\u1021\u1032\u101b\u103a\u1014\u103e\u1004\u1037\u103a \u1019\u102e\u1000\u103d\u102e\u101c\u103d\u1014\u103a",
+ "VC": "\u1005\u102d\u1014\u1037\u103a\u1017\u1004\u103a\u1038\u1006\u1004\u1037\u103a\u1014\u103e\u1004\u1037\u103a \u1002\u101b\u102d\u1014\u1031\u1012\u102d\u102f\u1004\u103a",
+ "BL": "\u1005\u102d\u1014\u1037\u103a\u1018\u102c\u101e\u101a\u103a\u101c\u103a\u1019\u102e",
+ "MF": "\u1005\u102d\u1014\u1037\u103a\u1019\u102c\u1010\u1004\u103a",
+ "LC": "\u1005\u102d\u1014\u1037\u103a\u101c\u1030\u1005\u102e\u101a\u102c",
+ "SH": "\u1005\u102d\u1014\u1037\u103a\u101f\u101a\u103a\u101c\u101a\u103a\u1014\u102c",
+ "SG": "\u1005\u1004\u103a\u1039\u1000\u102c\u1015\u1030",
+ "SX": "\u1005\u1004\u1037\u103a\u1019\u102c\u1010\u1004\u103a",
+ "WS": "\u1006\u1019\u102d\u102f\u1038\u1021\u102c\u1038",
+ "SI": "\u1006\u101c\u102d\u102f\u1017\u1031\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "SK": "\u1006\u101c\u102d\u102f\u1017\u1000\u103a\u1000\u102e\u1038\u101a\u102c\u1038",
+ "RS": "\u1006\u102c\u1038\u1018\u102e\u1038\u101a\u102c\u1038",
+ "SN": "\u1006\u102e\u1014\u102e\u1002\u1031\u102b",
+ "SL": "\u1006\u102e\u101a\u102c\u101b\u102c \u101c\u102e\u101a\u103d\u1014\u103a\u1038",
+ "SY": "\u1006\u102e\u1038\u101b\u102e\u1038\u101a\u102c\u1038",
+ "SD": "\u1006\u1030\u1012\u1014\u103a",
+ "SR": "\u1006\u1030\u101b\u102c\u1014\u1019\u103a",
+ "SC": "\u1006\u1031\u1038\u101b\u103e\u1032",
+ "SA": "\u1006\u1031\u102c\u103a\u1012\u102e\u1021\u102c\u101b\u1031\u1038\u1018\u102e\u1038\u101a\u102c\u1038",
+ "SB": "\u1006\u1031\u102c\u103a\u101c\u1019\u103d\u1014\u103a\u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "SO": "\u1006\u102d\u102f\u1019\u102c\u101c\u102e\u101a\u102c",
+ "CY": "\u1006\u102d\u102f\u1000\u103a\u1015\u101b\u1015\u103a\u1005\u103a",
+ "ST": "\u1006\u1031\u102c\u1004\u103a\u1010\u1030\u1019\u1031\u1038\u1014\u103e\u1004\u1037\u103a \u1015\u101b\u1004\u103a\u1005\u102e\u1015\u102e",
+ "SM": "\u1006\u1014\u103a\u1019\u102c\u101b\u102e\u1014\u102d\u102f",
+ "SZ": "\u1006\u103d\u102c\u1007\u102e\u101c\u1014\u103a",
+ "SE": "\u1006\u103d\u102e\u1012\u1004\u103a",
+ "CH": "\u1006\u103d\u1005\u103a\u1007\u102c\u101c\u1014\u103a",
+ "ZW": "\u1007\u1004\u103a\u1018\u102c\u1018\u103d\u1031",
+ "ZM": "\u1007\u1019\u103a\u1018\u102e\u101a\u102c",
+ "CN": "\u1010\u101b\u102f\u1010\u103a",
+ "TJ": "\u1010\u102c\u1002\u103b\u102e\u1000\u1005\u1039\u1005\u1010\u1014\u103a",
+ "TM": "\u1010\u102c\u1037\u1001\u103a\u1019\u1004\u103a\u1014\u1005\u1039\u1005\u1010\u1014\u103a",
+ "TN": "\u1010\u1030\u1014\u102e\u1038\u101b\u103e\u102c\u1038",
+ "TV": "\u1010\u1030\u1017\u102c\u1038\u101c\u1030",
+ "TR": "\u1010\u1030\u101b\u1000\u102e",
+ "TK": "\u1010\u102d\u102f\u1000\u101c\u1031\u102c\u1004\u103a",
+ "TG": "\u1010\u102d\u102f\u1002\u102d\u102f",
+ "TC": "\u1010\u1001\u103a\u1005\u103a\u1014\u103e\u1004\u1037\u103a\u1000\u102c\u1021\u102e\u1000\u102d\u102f\u1005\u103a\u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "GS": "\u1010\u1031\u102c\u1004\u103a \u1002\u103b\u1031\u102c\u103a\u1002\u103b\u102e\u101a\u102c \u1014\u103e\u1004\u1037\u103a \u1010\u1031\u102c\u1004\u103a \u1006\u1004\u103a\u1038\u1012\u101d\u1005\u103a\u1002\u103b\u103a \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f\u1019\u103b\u102c\u1038",
+ "SS": "\u1010\u1031\u102c\u1004\u103a \u1006\u1030\u1012\u1014\u103a",
+ "KR": "\u1010\u1031\u102c\u1004\u103a\u1000\u102d\u102f\u101b\u102e\u1038\u101a\u102c\u1038",
+ "ZA": "\u1010\u1031\u102c\u1004\u103a\u1021\u102c\u1016\u101b\u102d\u1000",
+ "TZ": "\u1010\u1014\u103a\u1007\u1014\u103a\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "TO": "\u1010\u103d\u1014\u103a\u1002\u102b",
+ "TT": "\u1011\u101b\u102e\u1014\u102e\u1012\u1010\u103a\u1014\u103e\u1004\u1037\u103a \u1010\u102d\u102f\u1018\u1000\u103a\u1002\u102d\u102f",
+ "TW": "\u1011\u102d\u102f\u1004\u103a\u101d\u1019\u103a",
+ "TH": "\u1011\u102d\u102f\u1004\u103a\u1038",
+ "DM": "\u1012\u102d\u102f\u1019\u102e\u1014\u102e\u1000\u102c",
+ "DO": "\u1012\u102d\u102f\u1019\u102e\u1014\u102e\u1000\u1014\u103a",
+ "DK": "\u1012\u102d\u1014\u103a\u1038\u1019\u1010\u103a",
+ "NA": "\u1014\u1019\u102e\u1038\u1018\u102e\u1038\u101a\u102c\u1038",
+ "NC": "\u1014\u101a\u1030\u1038 \u1000\u101a\u103a\u101c\u102e\u1012\u102d\u102f\u1014\u102e\u1038\u101a\u102c\u1038",
+ "NZ": "\u1014\u101a\u1030\u1038\u1007\u102e\u101c\u1014\u103a",
+ "NI": "\u1014\u102e\u1000\u102c\u101b\u102c\u1002\u103d\u102b",
+ "NP": "\u1014\u102e\u1015\u1031\u102b",
+ "NU": "\u1014\u102e\u1025\u1030\u1021\u1031",
+ "NF": "\u1014\u1031\u102c\u1016\u102f\u1010\u103a\u1000\u103b\u103d\u1014\u103a\u1038",
+ "NR": "\u1014\u1031\u102c\u103a\u101b\u1030\u1038",
+ "NO": "\u1014\u1031\u102c\u103a\u101d\u1031",
+ "NE": "\u1014\u102d\u102f\u1004\u103a\u1002\u103b\u102c",
+ "NG": "\u1014\u102d\u102f\u1004\u103a\u1002\u103b\u102e\u1038\u101b\u102e\u1038\u101a\u102c\u1038",
+ "NL": "\u1014\u101a\u103a\u101e\u102c\u101c\u1014\u103a",
+ "PA": "\u1015\u1014\u102c\u1038\u1019\u102c\u1038",
+ "PW": "\u1015\u101c\u102c\u1021\u102d\u102f",
+ "PK": "\u1015\u102b\u1000\u1005\u1039\u1005\u1010\u1014\u103a",
+ "PG": "\u1015\u102b\u1015\u1030\u1021\u102c \u1014\u101a\u1030\u1038\u1002\u102e\u1014\u102e",
+ "PY": "\u1015\u102b\u101b\u102c\u1002\u103d\u1031\u1038",
+ "PS": "\u1015\u102b\u101c\u1000\u103a\u1005\u1010\u102d\u102f\u1004\u103a\u1038 \u1015\u102d\u102f\u1004\u103a\u1014\u1000\u103a",
+ "PE": "\u1015\u102e\u101b\u1030\u1038",
+ "PT": "\u1015\u1031\u102b\u103a\u1010\u1030\u1002\u102e",
+ "PR": "\u1015\u1031\u102b\u103a\u1010\u102d\u102f\u101b\u102e\u1000\u102d\u102f",
+ "PL": "\u1015\u102d\u102f\u101c\u1014\u103a",
+ "PN": "\u1015\u1005\u103a\u1010\u103a\u1000\u102d\u1014\u103a\u1038\u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "FR": "\u1015\u103c\u1004\u103a\u101e\u1005\u103a",
+ "GF": "\u1015\u103c\u1004\u103a\u101e\u1005\u103a \u1002\u102e\u101a\u102c\u1014\u102c",
+ "TF": "\u1015\u103c\u1004\u103a\u101e\u1005\u103a \u1010\u1031\u102c\u1004\u103a\u1015\u102d\u102f\u1004\u103a\u1038 \u1015\u102d\u102f\u1004\u103a\u1014\u1000\u103a\u1019\u103b\u102c\u1038",
+ "PF": "\u1015\u103c\u1004\u103a\u101e\u1005\u103a \u1015\u1031\u102b\u103a\u101c\u102e\u1014\u102e\u1038\u101b\u103e\u102c\u1038",
+ "FO": "\u1016\u102c\u101b\u102d\u102f\u1038 \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f\u1019\u103b\u102c\u1038",
+ "PH": "\u1016\u102d\u101c\u1005\u103a\u1015\u102d\u102f\u1004\u103a",
+ "FJ": "\u1016\u102e\u1002\u103b\u102e",
+ "FK": "\u1016\u1031\u102c\u1037\u1000\u101c\u1014\u103a \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "FI": "\u1016\u1004\u103a\u101c\u1014\u103a",
+ "VU": "\u1017\u1014\u103d\u102c\u1038\u1010\u1030",
+ "CF": "\u1017\u101f\u102d\u102f \u1021\u102c\u1016\u101b\u102d\u1000 \u1015\u103c\u100a\u103a\u1011\u1031\u102c\u1004\u103a\u1005\u102f",
+ "VA": "\u1017\u102c\u1010\u102e\u1000\u1014\u103a\u1005\u102e\u1038\u1010\u102e\u1038",
+ "VN": "\u1017\u102e\u101a\u1000\u103a\u1014\u1019\u103a",
+ "VE": "\u1017\u1004\u103a\u1014\u102e\u1007\u103d\u1032\u101c\u102c\u1038",
+ "VG": "\u1017\u103c\u102d\u1010\u102d\u101e\u103b\u103e \u1017\u102c\u1002\u103b\u1004\u103a\u1038 \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "IO": "\u1017\u103c\u102d\u1010\u102d\u101e\u103b\u103e\u1015\u102d\u102f\u1004\u103a \u1021\u102d\u1014\u1039\u1012\u102d\u101a\u101e\u1019\u102f\u1012\u1039\u1012\u101b\u102c\u1000\u103b\u103d\u1014\u103a\u1038\u1019\u103b\u102c\u1038",
+ "BR": "\u1018\u101b\u102c\u1007\u102e\u1038",
+ "BN": "\u1018\u101b\u1030\u1014\u102d\u102f\u1004\u103a\u1038",
+ "BZ": "\u1018\u101c\u102d\u1007\u103a",
+ "BS": "\u1018\u101f\u102c\u1038\u1019\u102c\u1038",
+ "BF": "\u1018\u102c\u1000\u102e\u1038\u1014\u102c\u1038 \u1016\u102c\u1038\u1006\u102d\u102f",
+ "BB": "\u1018\u102c\u1018\u1031\u1038\u1012\u102d\u102f\u1038\u1005\u103a",
+ "BM": "\u1018\u102c\u1019\u103c\u1030\u1012\u102b",
+ "BH": "\u1018\u102c\u101b\u102d\u1014\u103a\u1038",
+ "BJ": "\u1018\u102e\u1014\u1004\u103a",
+ "BY": "\u1018\u102e\u101c\u102c\u101b\u102f\u1005\u103a",
+ "BT": "\u1018\u1030\u1010\u1014\u103a",
+ "BV": "\u1018\u1030\u1017\u1000\u103a\u1000\u103b\u103d\u1014\u103a\u1038",
+ "BI": "\u1018\u1030\u101b\u103d\u1014\u103a\u1012\u102e",
+ "BG": "\u1018\u1030\u101c\u103a\u1002\u1031\u1038\u101b\u102e\u1038\u101a\u102c\u1038",
+ "BA": "\u1018\u1031\u102c\u1037\u1005\u1014\u102e\u1038\u101a\u102c\u1038\u1014\u103e\u1004\u1037\u103a \u101f\u102c\u1007\u102e\u1002\u102d\u102f\u1017\u102e\u1014\u102c\u1038",
+ "BW": "\u1018\u1031\u102c\u1037\u1006\u103d\u102c\u1014\u102c",
+ "BO": "\u1018\u102d\u102f\u101c\u102e\u1038\u1017\u102e\u1038\u101a\u102c\u1038",
+ "BD": "\u1018\u1004\u103a\u1039\u1002\u101c\u102c\u1038\u1012\u1031\u1037\u101b\u103e\u103a",
+ "BE": "\u1018\u101a\u103a\u101c\u103a\u1002\u103b\u102e\u101a\u1019\u103a",
+ "MO": "\u1019\u1000\u102c\u1021\u102d\u102f (\u1010\u101b\u102f\u1010\u103a\u1015\u103c\u100a\u103a)",
+ "MG": "\u1019\u1012\u102b\u1002\u1010\u103a\u1005\u1000\u102c\u1038",
+ "MY": "\u1019\u101c\u1031\u1038\u101b\u103e\u102c\u1038",
+ "MQ": "\u1019\u102c\u1010\u102e\u1014\u102d\u1001\u103a",
+ "MH": "\u1019\u102c\u101b\u103e\u101a\u103a \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "MW": "\u1019\u102c\u101c\u102c\u101d\u102e",
+ "ML": "\u1019\u102c\u101c\u102e",
+ "YT": "\u1019\u1031\u101a\u1031\u102c\u1037",
+ "MU": "\u1019\u1031\u102c\u101b\u1005\u103a\u101b\u103e",
+ "MS": "\u1019\u1031\u102c\u1004\u1037\u103a\u1005\u1032\u101b\u1000\u103a",
+ "MR": "\u1019\u1031\u102c\u103a\u101b\u102e\u1010\u1031\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "MA": "\u1019\u1031\u102c\u103a\u101b\u102d\u102f\u1000\u102d\u102f",
+ "MV": "\u1019\u1031\u102c\u103a\u101c\u103a\u1012\u102d\u102f\u1000\u103a",
+ "MZ": "\u1019\u102d\u102f\u1007\u1019\u103a\u1018\u1005\u103a",
+ "MC": "\u1019\u102d\u102f\u1014\u102c\u1000\u102d\u102f",
+ "MX": "\u1019\u1000\u103a\u1000\u1006\u102e\u1000\u102d\u102f",
+ "FM": "\u1019\u102d\u102f\u1004\u103a\u1001\u101b\u102d\u102f\u1014\u102e\u101b\u103e\u102c\u1038",
+ "IM": "\u1019\u1014\u103a\u1000\u103b\u103d\u1014\u103a\u1038",
+ "MT": "\u1019\u1031\u102c\u101c\u103a\u1010\u102c",
+ "MD": "\u1019\u1031\u102c\u101c\u103a\u1012\u102d\u102f\u1017\u102c",
+ "MK": "\u1019\u103c\u1031\u102c\u1000\u103a \u1019\u1000\u103a\u1006\u102e\u1012\u102d\u102f\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "KP": "\u1019\u103c\u1031\u102c\u1000\u103a\u1000\u102d\u102f\u101b\u102e\u1038\u101a\u102c\u1038",
+ "MP": "\u1019\u103c\u1031\u102c\u1000\u103a\u1015\u102d\u102f\u1004\u103a\u1038\u1019\u102c\u101b\u102e\u1021\u102c\u1014\u102c\u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "MM": "\u1019\u103c\u1014\u103a\u1019\u102c",
+ "MN": "\u1019\u103d\u1014\u103a\u1002\u102d\u102f\u1038\u101c\u102e\u1038\u101a\u102c\u1038",
+ "ME": "\u1019\u103d\u1014\u103a\u1010\u102e\u1014\u102d\u1002\u101b\u102d\u102f\u1038",
+ "YE": "\u101a\u102e\u1019\u1004\u103a",
+ "UA": "\u101a\u1030\u1000\u101b\u102d\u1014\u103a\u1038",
+ "UG": "\u101a\u1030\u1002\u1014\u103a\u1038\u1012\u102b\u1038",
+ "GB": "\u101a\u1030\u1014\u102d\u102f\u1000\u103a\u1010\u1000\u103a\u1000\u1004\u103a\u1038\u1012\u1019\u103a\u1038",
+ "UM": "\u101a\u1030\u1014\u102d\u102f\u1000\u103a\u1010\u1000\u103a\u1005\u1010\u102d\u1010\u103a \u1000\u103b\u103d\u1014\u103a\u1038\u1014\u102d\u102f\u1004\u103a\u1004\u1036\u1019\u103b\u102c\u1038",
+ "AE": "\u101a\u1030\u1021\u1031\u1021\u102e\u1038",
+ "VI": "\u101a\u1030\u1021\u1000\u103a\u1005\u103a \u1017\u102c\u1002\u103b\u1004\u103a\u1038 \u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "RW": "\u101b\u101d\u1014\u103a\u1012\u102b",
+ "RE": "\u101b\u102e\u101a\u1030\u1014\u102e\u101a\u1014\u103a",
+ "RU": "\u101b\u102f\u101b\u103e\u102c\u1038",
+ "RO": "\u101b\u102d\u102f\u1019\u1031\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "LA": "\u101c\u102c\u1021\u102d\u102f",
+ "LS": "\u101c\u102e\u1006\u102d\u102f\u101e\u102d\u102f",
+ "LU": "\u101c\u1030\u1007\u1004\u103a\u1018\u1010\u103a",
+ "LB": "\u101c\u1000\u103a\u1018\u1014\u103d\u1014\u103a",
+ "LR": "\u101c\u102d\u102f\u1000\u103a\u1018\u1031\u1038\u101b\u102e\u1038\u101a\u102c\u1038",
+ "LI": "\u101c\u1005\u103a\u1010\u1014\u103a\u1005\u1010\u102d\u1014\u103a\u1038",
+ "LY": "\u101c\u1005\u103a\u1017\u103b\u102c\u1038",
+ "LT": "\u101c\u1005\u103a\u101e\u1030\u101a\u1031\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "LV": "\u101c\u1010\u103a\u1017\u102e\u1038\u101a\u102c\u1038",
+ "WF": "\u101d\u1031\u102b\u101c\u1005\u103a\u1014\u103e\u1004\u1037\u103a \u1016\u1030\u1000\u103b\u1030\u1038\u1014\u102c\u1038",
+ "LK": "\u101e\u102e\u101b\u102d\u101c\u1004\u103a\u1039\u1000\u102c",
+ "HT": "\u101f\u1031\u1010\u102e",
+ "HK": "\u101f\u1031\u102c\u1004\u103a\u1000\u1031\u102c\u1004\u103a (\u1010\u101b\u102f\u1010\u103a\u1015\u103c\u100a\u103a)",
+ "HM": "\u101f\u1010\u103a\u1000\u103b\u103d\u1014\u103a\u1038\u1014\u103e\u1004\u1037\u103a\u1019\u1000\u103a\u1012\u1031\u102b\u1014\u101a\u103a\u1000\u103b\u103d\u1014\u103a\u1038\u1005\u102f",
+ "HU": "\u101f\u1014\u103a\u1002\u1031\u101b\u102e",
+ "HN": "\u101f\u103d\u1014\u103a\u1012\u1030\u1038\u101b\u1015\u103a\u1005\u103a",
+ "AZ": "\u1021\u1007\u102c\u1018\u102d\u102f\u1004\u103a\u1002\u103b\u1014\u103a",
+ "EH": "\u1021\u1014\u1031\u102c\u1000\u103a \u1006\u102c\u101f\u102c\u101b",
+ "AS": "\u1021\u1019\u1031\u101b\u102d\u1000\u1014\u103a \u1006\u1019\u102d\u102f\u1038\u1021\u102c\u1038",
+ "US": "\u1021\u1019\u1031\u101b\u102d\u1000\u1014\u103a \u1015\u103c\u100a\u103a\u1011\u1031\u102c\u1004\u103a\u1005\u102f",
+ "TL": "\u1021\u101b\u103e\u1031\u1037\u1010\u102e\u1019\u1031\u102c",
+ "AR": "\u1021\u102c\u1002\u103b\u1004\u103a\u1010\u102e\u1038\u1014\u102c\u1038",
+ "AF": "\u1021\u102c\u1016\u1002\u1014\u103a\u1014\u1005\u1039\u1005\u1010\u1014\u103a",
+ "AM": "\u1021\u102c\u1019\u1031\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "AW": "\u1021\u102c\u101b\u1030\u1038\u1017\u102c\u1038",
+ "AX": "\u1021\u102c\u101c\u1014\u103a\u1000\u103b\u103d\u1014\u103a\u1038",
+ "GQ": "\u1021\u102e\u1000\u103d\u1031\u1010\u102c \u1002\u102e\u1014\u102e",
+ "EC": "\u1021\u102e\u1000\u103d\u1031\u1012\u1031\u102b",
+ "EG": "\u1021\u102e\u1002\u103b\u1005\u103a",
+ "IT": "\u1021\u102e\u1010\u101c\u102e",
+ "ER": "\u1021\u102e\u101b\u102e\u1011\u101b\u102e\u1038\u101a\u102c\u1038",
+ "IQ": "\u1021\u102e\u101b\u1010\u103a",
+ "IR": "\u1021\u102e\u101b\u1014\u103a",
+ "ET": "\u1021\u102e\u101e\u102e\u101a\u102d\u102f\u1038\u1015\u102e\u1038\u101a\u102c\u1038",
+ "UZ": "\u1025\u1007\u1018\u1000\u103a\u1000\u1005\u1039\u1005\u1010\u1014\u103a",
+ "UY": "\u1025\u101b\u102f\u1002\u103d\u1031\u1038",
+ "AT": "\u1029\u1005\u1010\u103c\u102e\u1038\u101a\u102c\u1038",
+ "AU": "\u1029\u1005\u1010\u103c\u1031\u1038\u101c\u103b",
+ "OM": "\u1021\u102d\u102f\u1019\u1014\u103a",
+ "EE": "\u1021\u1000\u103a\u1005\u1010\u102d\u102f\u1038\u1014\u102e\u1038\u101a\u102c\u1038",
+ "IS": "\u1021\u102d\u102f\u1000\u103a\u1005\u101c\u1014\u103a",
+ "ID": "\u1021\u1004\u103a\u1012\u102d\u102f\u1014\u102e\u1038\u101b\u103e\u102c\u1038",
+ "IE": "\u1021\u102d\u102f\u1004\u103a\u101a\u102c\u101c\u1014\u103a",
+ "IL": "\u1021\u1005\u1039\u1005\u101b\u1031\u1038",
+ "AI": "\u1021\u1014\u103a\u1002\u102e\u101c\u102c",
+ "AO": "\u1021\u1014\u103a\u1002\u102d\u102f\u101c\u102c",
+ "AQ": "\u1021\u1014\u103a\u1010\u102c\u1010\u102d\u1000",
+ "AG": "\u1021\u1014\u103a\u1010\u102e\u1002\u103d\u102b\u1014\u103e\u1004\u1037\u103a \u1018\u102c\u1018\u1030\u1012\u102b",
+ "AD": "\u1021\u1014\u103a\u1012\u102d\u102f\u101b\u102c",
+ "IN": "\u1021\u102d\u1014\u1039\u1012\u102d\u101a",
+ "DZ": "\u1021\u101a\u103a\u101c\u103a\u1002\u103b\u102e\u1038\u101b\u102e\u1038\u101a\u102c\u1038",
+ "SV": "\u1021\u101a\u103a\u101c\u103a\u1006\u102c\u1017\u1031\u1038\u1012\u102d\u102f\u1038",
+ "AL": "\u1021\u101a\u103a\u101c\u103a\u1018\u1031\u1038\u1014\u102e\u1038\u101a\u102c\u1038"
+}
diff --git a/public/intl/language/es-ES.json b/public/intl/language/es-ES.json
new file mode 100644
index 00000000..cf943dee
--- /dev/null
+++ b/public/intl/language/es-ES.json
@@ -0,0 +1,611 @@
+{
+ "ab": "abjasio",
+ "akk": "acadio",
+ "ace": "acehn\u00e9s",
+ "ach": "acoli",
+ "ada": "adangme",
+ "ady": "adigeo",
+ "aa": "afar",
+ "afh": "afrihili",
+ "af": "afrik\u00e1ans",
+ "agq": "aghem",
+ "ay": "aimara",
+ "ain": "ainu",
+ "ak": "akan",
+ "bss": "akoose",
+ "akz": "Alabama",
+ "sq": "alban\u00e9s",
+ "de": "alem\u00e1n",
+ "de_AT": "alem\u00e1n austr\u00edaco",
+ "goh": "alem\u00e1n de la alta edad antigua",
+ "gmh": "alem\u00e1n de la alta edad media",
+ "gsw": "alem\u00e1n suizo",
+ "ale": "aleutiano",
+ "arq": "Algerian Arabic",
+ "alt": "alt\u00e1i meridional",
+ "de_CH": "alto alem\u00e1n suizo",
+ "hsb": "alto sorbio",
+ "am": "am\u00e1rico",
+ "ase": "American Sign Language",
+ "anp": "angika",
+ "njo": "Ao Naga",
+ "ar": "\u00e1rabe",
+ "shu": "\u00e1rabe chadiano",
+ "ar_001": "\u00e1rabe est\u00e1ndar moderno",
+ "an": "aragon\u00e9s",
+ "arw": "arahuaco",
+ "arc": "arameo",
+ "sam": "arameo samaritano",
+ "aro": "Araona",
+ "arp": "arapaho",
+ "hy": "armenio",
+ "frp": "Arpitan",
+ "rup": "arrumano",
+ "as": "asam\u00e9s",
+ "ast": "asturiano",
+ "asa": "asu",
+ "cch": "atsam",
+ "awa": "avadhi",
+ "av": "avar",
+ "ae": "av\u00e9stico",
+ "az": "azerbaiyano",
+ "bfq": "Badaga",
+ "ksf": "bafia",
+ "bfd": "bafut",
+ "nds": "bajo alem\u00e1n",
+ "dsb": "bajo sorbio",
+ "bqi": "Bakhtiari",
+ "ban": "balin\u00e9s",
+ "bal": "baluchi",
+ "bm": "bambara",
+ "bax": "bamun",
+ "bjn": "Banjar",
+ "bas": "basa",
+ "ba": "baskir",
+ "bbc": "Batak Toba",
+ "bar": "Bavarian",
+ "bej": "beja",
+ "bem": "bemba",
+ "bez": "bena",
+ "bn": "bengal\u00ed",
+ "bew": "Betawi",
+ "bho": "bhojpuri",
+ "bik": "bicol",
+ "be": "bielorruso",
+ "bin": "bini",
+ "my": "birmano",
+ "bpy": "Bishnupriya",
+ "bi": "bislama",
+ "byn": "blin",
+ "brx": "bodo",
+ "nb": "bokmal noruego",
+ "bs": "bosnio",
+ "brh": "Brahui",
+ "bra": "braj",
+ "br": "bret\u00f3n",
+ "bug": "bugin\u00e9s",
+ "bg": "b\u00falgaro",
+ "bum": "bulu",
+ "bua": "buriat",
+ "kab": "cabila",
+ "ks": "cachemiro",
+ "cad": "caddo",
+ "frc": "Cajun French",
+ "kn": "canar\u00e9s",
+ "yue": "canton\u00e9s",
+ "cps": "Capiznon",
+ "krl": "carelio",
+ "car": "caribe",
+ "csb": "casubio",
+ "ca": "catal\u00e1n",
+ "cay": "cayuga",
+ "ceb": "cebuano",
+ "dtp": "Central Dusun",
+ "esu": "Central Yupik",
+ "chg": "chagat\u00e1i",
+ "ch": "chamorro",
+ "ce": "checheno",
+ "cs": "checo",
+ "chr": "cheroqui",
+ "chy": "cheyene",
+ "chb": "chibcha",
+ "cgg": "chiga",
+ "qug": "Chimborazo Highland Quichua",
+ "zh": "chino",
+ "zh_Hans": "chino simplificado",
+ "zh_Hant": "chino tradicional",
+ "chp": "chipewyan",
+ "cho": "choctaw",
+ "cv": "chuvash",
+ "si": "cingal\u00e9s",
+ "swb": "comorense",
+ "cop": "copto",
+ "ko": "coreano",
+ "kw": "c\u00f3rnico",
+ "co": "corso",
+ "cr": "cree",
+ "mus": "creek",
+ "kea": "criollo caboverdiano",
+ "mfe": "criollo mauriciano",
+ "hr": "croata",
+ "dak": "dakota",
+ "da": "dan\u00e9s",
+ "dar": "dargva",
+ "dzg": "dazaga",
+ "del": "delaware",
+ "din": "dinka",
+ "dyu": "diula",
+ "dv": "divehi",
+ "doi": "dogri",
+ "dgr": "dogrib",
+ "dua": "duala",
+ "dz": "dzongkha",
+ "efi": "efik",
+ "egy": "egipcio antiguo",
+ "arz": "Egyptian Arabic",
+ "eka": "ekajuk",
+ "elx": "elamita",
+ "ebu": "embu",
+ "egl": "Emilian",
+ "myv": "erzya",
+ "sco": "escoc\u00e9s",
+ "cu": "eslavo eclesi\u00e1stico",
+ "sk": "eslovaco",
+ "sl": "esloveno",
+ "es": "espa\u00f1ol",
+ "es_ES": "espa\u00f1ol de Espa\u00f1a",
+ "es_MX": "espa\u00f1ol de M\u00e9xico",
+ "es_419": "espa\u00f1ol latinoamericano",
+ "eo": "esperanto",
+ "et": "estonio",
+ "eu": "euskera",
+ "ee": "ew\u00e9",
+ "ewo": "ewondo",
+ "ext": "Extremaduran",
+ "fan": "fang",
+ "fat": "fanti",
+ "phn": "fenicio",
+ "fo": "fero\u00e9s",
+ "hif": "Fiji Hindi",
+ "fil": "filipino",
+ "fi": "fin\u00e9s",
+ "fj": "fiyiano",
+ "nl_BE": "flamenco",
+ "fon": "fon",
+ "gur": "Frafra",
+ "fr": "franc\u00e9s",
+ "fro": "franc\u00e9s antiguo",
+ "fr_CA": "franc\u00e9s canadiense",
+ "frm": "franc\u00e9s medieval",
+ "fr_CH": "franc\u00e9s suizo",
+ "fy": "fris\u00f3n occidental",
+ "frs": "fris\u00f3n oriental",
+ "frr": "fris\u00f3n septentrional",
+ "fur": "friulano",
+ "ff": "fula",
+ "gaa": "ga",
+ "gd": "ga\u00e9lico escoc\u00e9s",
+ "gag": "gagauzo",
+ "cy": "gal\u00e9s",
+ "gl": "gallego",
+ "gan": "Gan Chinese",
+ "lg": "ganda",
+ "gay": "gayo",
+ "gba": "gbaya",
+ "gez": "geez",
+ "ka": "georgiano",
+ "aln": "Gheg Albanian",
+ "bbj": "ghomala",
+ "glk": "Gilaki",
+ "gil": "gilbert\u00e9s",
+ "gom": "Goan Konkani",
+ "gon": "gondi",
+ "gor": "gorontalo",
+ "got": "g\u00f3tico",
+ "grb": "grebo",
+ "el": "griego",
+ "grc": "griego antiguo",
+ "kl": "groenland\u00e9s",
+ "gn": "guaran\u00ed",
+ "gu": "gujarati",
+ "guz": "gusii",
+ "hai": "haida",
+ "ht": "haitiano",
+ "hak": "Hakka Chinese",
+ "ha": "hausa",
+ "haw": "hawaiano",
+ "he": "hebreo",
+ "hz": "herero",
+ "hil": "hiligaynon",
+ "hi": "hindi",
+ "ho": "hiri motu",
+ "hit": "hitita",
+ "hmn": "hmong",
+ "hu": "h\u00fangaro",
+ "hup": "hupa",
+ "iba": "iban",
+ "ibb": "ibibio",
+ "io": "ido",
+ "ig": "igbo",
+ "ilo": "ilocano",
+ "id": "indonesio",
+ "en": "ingl\u00e9s",
+ "ang": "ingl\u00e9s antiguo",
+ "en_AU": "ingl\u00e9s australiano",
+ "en_GB": "ingl\u00e9s brit\u00e1nico",
+ "en_CA": "ingl\u00e9s canadiense",
+ "en_US": "ingl\u00e9s estadounidense",
+ "enm": "ingl\u00e9s medieval",
+ "izh": "Ingrian",
+ "inh": "ingush",
+ "ia": "interlingua",
+ "ie": "interlingue",
+ "iu": "inuktitut",
+ "ik": "inupiaq",
+ "ga": "irland\u00e9s",
+ "sga": "irland\u00e9s antiguo",
+ "mga": "irland\u00e9s medieval",
+ "is": "island\u00e9s",
+ "it": "italiano",
+ "jam": "Jamaican Creole English",
+ "ja": "japon\u00e9s",
+ "jv": "javan\u00e9s",
+ "km": "jemer",
+ "chn": "jerga chinuk",
+ "kaj": "jju",
+ "dyo": "jola-fonyi",
+ "jrb": "judeo-\u00e1rabe",
+ "jpr": "judeo-persa",
+ "jut": "Jutish",
+ "kbd": "kabardiano",
+ "kac": "kachin",
+ "kgp": "Kaingang",
+ "kkj": "kako",
+ "kln": "kalenjin",
+ "xal": "kalmyk",
+ "kam": "kamba",
+ "kbl": "kanembu",
+ "kr": "kanuri",
+ "krc": "karachay-balkar",
+ "kaa": "karakalpako",
+ "kaw": "kawi",
+ "kk": "kazajo",
+ "ken": "Kenyang",
+ "kha": "khasi",
+ "khw": "Khowar",
+ "ki": "kikuyu",
+ "kmb": "kimbundu",
+ "krj": "Kinaray-a",
+ "rw": "kinyarwanda",
+ "ky": "kirgu\u00eds",
+ "kiu": "Kirmanjki",
+ "rn": "kiroundi",
+ "tlh": "klingon",
+ "ksh": "k\u00f6lsch",
+ "bkm": "kom",
+ "kv": "komi",
+ "koi": "komi permio",
+ "kg": "kongo",
+ "kok": "konkan\u00ed",
+ "kfo": "koro",
+ "kos": "kosraeano",
+ "kho": "kotan\u00e9s",
+ "avk": "Kotava",
+ "khq": "koyra chiini",
+ "ses": "koyraboro senni",
+ "kpe": "kpelle",
+ "kri": "Krio",
+ "kj": "kuanyama",
+ "kum": "kumyk",
+ "ku": "kurdo",
+ "ckb": "kurdo sorani",
+ "kru": "kurukh",
+ "gwi": "kutchin",
+ "kut": "kutenai",
+ "nmg": "kwasio",
+ "lad": "ladino",
+ "lah": "lahnda",
+ "lkt": "lakota",
+ "lam": "lamba",
+ "lag": "langi",
+ "lo": "laosiano",
+ "ltg": "Latgalian",
+ "la": "lat\u00edn",
+ "lzz": "Laz",
+ "und": "lengua desconocida",
+ "mul": "lenguas m\u00faltiples",
+ "lv": "let\u00f3n",
+ "lez": "lezgiano",
+ "lij": "Ligurian",
+ "li": "limburgu\u00e9s",
+ "ln": "lingala",
+ "lfn": "Lingua Franca Nova",
+ "lzh": "Literary Chinese",
+ "lt": "lituano",
+ "liv": "Livonian",
+ "jbo": "lojban",
+ "lmo": "Lombard",
+ "sli": "Lower Silesian",
+ "loz": "lozi",
+ "lu": "luba-katanga",
+ "lua": "luba-lulua",
+ "lui": "luise\u00f1o",
+ "lun": "lunda",
+ "luo": "luo",
+ "lus": "lushai",
+ "lb": "luxemburgu\u00e9s",
+ "luy": "luyia",
+ "mde": "maba",
+ "mak": "macasar",
+ "mk": "macedonio",
+ "jmc": "machame",
+ "mad": "madur\u00e9s",
+ "maf": "mafa",
+ "mag": "magahi",
+ "vmf": "Main-Franconian",
+ "mai": "maithili",
+ "mgh": "makhuwa-meetto",
+ "kde": "makonde",
+ "ml": "malayalam",
+ "ms": "malayo",
+ "mg": "malgache",
+ "mt": "malt\u00e9s",
+ "mnc": "manch\u00fa",
+ "mdr": "mandar",
+ "man": "mandingo",
+ "gv": "man\u00e9s",
+ "mni": "manipuri",
+ "mi": "maor\u00ed",
+ "arn": "mapuche",
+ "mr": "marat\u00ed",
+ "chm": "mar\u00ed",
+ "mh": "marshal\u00e9s",
+ "mwr": "marwari",
+ "mas": "mas\u00e1i",
+ "mzn": "Mazanderani",
+ "byv": "medumba",
+ "men": "mende",
+ "mwv": "Mentawai",
+ "mer": "meru",
+ "mgo": "meta\u2019",
+ "mic": "micmac",
+ "nan": "Min Nan Chinese",
+ "min": "minangkabau",
+ "xmf": "Mingrelian",
+ "mwl": "mirand\u00e9s",
+ "moh": "mohawk",
+ "mdf": "moksha",
+ "ro_MD": "moldavo",
+ "lol": "mongo",
+ "mn": "mongol",
+ "ary": "Moroccan Arabic",
+ "mos": "mossi",
+ "mua": "mundang",
+ "ttt": "Muslim Tat",
+ "mye": "myene",
+ "nqo": "n\u2019ko",
+ "naq": "nama",
+ "nap": "napolitano",
+ "na": "nauruano",
+ "nv": "navajo",
+ "nr": "ndebele meridional",
+ "nd": "ndebele septentrional",
+ "ng": "ndonga",
+ "nl": "neerland\u00e9s",
+ "dum": "neerland\u00e9s medieval",
+ "ne": "nepal\u00ed",
+ "new": "newari",
+ "nwc": "newari cl\u00e1sico",
+ "sba": "ngambay",
+ "nnh": "ngiemboon",
+ "jgo": "ngomba",
+ "yrl": "Nheengatu",
+ "nia": "nias",
+ "niu": "niueano",
+ "nog": "nogai",
+ "non": "n\u00f3rdico antiguo",
+ "no": "noruego",
+ "nov": "Novial",
+ "nus": "nuer",
+ "nym": "nyamwezi",
+ "ny": "nyanja",
+ "nyn": "nyankole",
+ "nn": "nynorsk noruego",
+ "nyo": "nyoro",
+ "nzi": "nzima",
+ "oc": "occitano",
+ "oj": "ojibwa",
+ "or": "oriya",
+ "om": "oromo",
+ "osa": "osage",
+ "os": "os\u00e9tico",
+ "pal": "pahlavi",
+ "pfl": "Palatine German",
+ "pau": "palauano",
+ "pi": "pali",
+ "pam": "pampanga",
+ "pag": "pangasin\u00e1n",
+ "pa": "panyab\u00ed",
+ "pap": "papiamento",
+ "ps": "past\u00fan",
+ "pdc": "Pennsylvania German",
+ "fa": "persa",
+ "peo": "persa antiguo",
+ "pcd": "Picard",
+ "pms": "Piedmontese",
+ "pdt": "Plautdietsch",
+ "pon": "pohnpeiano",
+ "pl": "polaco",
+ "pnt": "Pontic",
+ "pt": "portugu\u00e9s",
+ "pt_BR": "portugu\u00e9s de Brasil",
+ "pt_PT": "portugu\u00e9s de Portugal",
+ "pro": "provenzal antiguo",
+ "prg": "Prussian",
+ "qu": "quechua",
+ "quc": "quich\u00e9",
+ "root": "ra\u00edz",
+ "raj": "rajasthani",
+ "rap": "rapanui",
+ "rar": "rarotongano",
+ "rm": "retorrom\u00e1nico",
+ "rif": "Riffian",
+ "rgn": "Romagnol",
+ "rom": "roman\u00ed",
+ "rof": "rombo",
+ "rtm": "Rotuman",
+ "rug": "Roviana",
+ "ro": "rumano",
+ "ru": "ruso",
+ "rue": "Rusyn",
+ "rwk": "rwa",
+ "ssy": "saho",
+ "sah": "sakha",
+ "saq": "samburu",
+ "smn": "sami inari",
+ "smj": "sami lule",
+ "sma": "sami meridional",
+ "se": "sami septentrional",
+ "sms": "sami skolt",
+ "sm": "samoano",
+ "sgs": "Samogitian",
+ "sad": "sandawe",
+ "sg": "sango",
+ "sbp": "sangu",
+ "sa": "s\u00e1nscrito",
+ "sat": "santali",
+ "sc": "sardo",
+ "sas": "sasak",
+ "sdc": "Sassarese Sardinian",
+ "stq": "Saterland Frisian",
+ "saz": "Saurashtra",
+ "sly": "Selayar",
+ "sel": "selkup",
+ "seh": "sena",
+ "see": "seneca",
+ "sr": "serbio",
+ "sh": "serbocroata",
+ "srr": "serer",
+ "sei": "Seri",
+ "st": "sesotho meridional",
+ "tn": "setchwana",
+ "ksb": "shambala",
+ "shn": "shan",
+ "sn": "shona",
+ "scn": "siciliano",
+ "sid": "sidamo",
+ "bla": "siksika",
+ "szl": "Silesian",
+ "zbl": "s\u00edmbolos Bliss",
+ "zxx": "sin contenido ling\u00fc\u00edstico",
+ "sd": "sindhi",
+ "syr": "siriaco",
+ "syc": "sir\u00edaco cl\u00e1sico",
+ "ss": "siswati",
+ "den": "slave",
+ "xog": "soga",
+ "sog": "sogdiano",
+ "so": "somal\u00ed",
+ "snk": "sonink\u00e9",
+ "nso": "sotho septentrional",
+ "azb": "South Azerbaijani",
+ "srn": "sranan tongo",
+ "sv": "sueco",
+ "suk": "sukuma",
+ "sux": "sumerio",
+ "su": "sundan\u00e9s",
+ "sus": "susu",
+ "sw": "swahili",
+ "swc": "swahili del Congo",
+ "tl": "tagalo",
+ "ty": "tahitiano",
+ "th": "tailand\u00e9s",
+ "dav": "taita",
+ "tly": "Talysh",
+ "tmh": "tamashek",
+ "tzm": "tamazight del Marruecos Central",
+ "zgh": "tamazight est\u00e1ndar marroqu\u00ed",
+ "ta": "tamil",
+ "trv": "taroko",
+ "tt": "t\u00e1rtaro",
+ "crh": "t\u00e1rtaro de Crimea",
+ "twq": "tasawaq",
+ "shi": "tashelhit",
+ "tg": "tayiko",
+ "te": "telugu",
+ "tem": "temne",
+ "ter": "tereno",
+ "teo": "teso",
+ "tet": "tet\u00fan",
+ "bo": "tibetano",
+ "tig": "tigr\u00e9",
+ "ti": "tigri\u00f1a",
+ "tiv": "tiv",
+ "tli": "tlingit",
+ "tpi": "tok pisin",
+ "tkl": "tokelauano",
+ "tog": "tonga del Nyasa",
+ "to": "tongano",
+ "fit": "Tornedalen Finnish",
+ "chk": "truk\u00e9s",
+ "tkr": "Tsakhur",
+ "tsd": "Tsakonian",
+ "tsi": "tsimshiano",
+ "ts": "tsonga",
+ "tcy": "Tulu",
+ "tum": "tumbuka",
+ "aeb": "Tunisian Arabic",
+ "tr": "turco",
+ "ota": "turco otomano",
+ "tk": "turcomano",
+ "tru": "Turoyo",
+ "tvl": "tuvaluano",
+ "tyv": "tuviniano",
+ "tw": "twi",
+ "kcg": "tyap",
+ "uk": "ucraniano",
+ "udm": "udmurt",
+ "uga": "ugar\u00edtico",
+ "ug": "uigur",
+ "umb": "umbundu",
+ "ur": "urdu",
+ "uz": "uzbeko",
+ "vai": "vai",
+ "wa": "val\u00f3n",
+ "ve": "venda",
+ "vec": "Venetian",
+ "vep": "Veps",
+ "vi": "vietnamita",
+ "vo": "volap\u00fck",
+ "vro": "V\u00f5ro",
+ "vot": "v\u00f3tico",
+ "vun": "vunjo",
+ "wal": "walamo",
+ "wae": "walser",
+ "war": "waray",
+ "wbp": "Warlpiri",
+ "was": "washo",
+ "guc": "Wayuu",
+ "vls": "West Flemish",
+ "mrj": "Western Mari",
+ "wo": "w\u00f3lof",
+ "wuu": "Wu Chinese",
+ "xh": "xhosa",
+ "hsn": "Xiang Chinese",
+ "yav": "yangben",
+ "yao": "yao",
+ "yap": "yap\u00e9s",
+ "ybb": "yemba",
+ "ii": "yi de Sichu\u00e1n",
+ "yi": "y\u00eddish",
+ "yo": "yoruba",
+ "zap": "zapoteco",
+ "dje": "zarma",
+ "zza": "zazaki",
+ "zea": "Zeelandic",
+ "zen": "zenaga",
+ "za": "zhuang",
+ "gbz": "Zoroastrian Dari",
+ "zu": "zul\u00fa",
+ "zun": "zuni"
+}
diff --git a/public/intl/language/my-MM.json b/public/intl/language/my-MM.json
new file mode 100644
index 00000000..e853cde4
--- /dev/null
+++ b/public/intl/language/my-MM.json
@@ -0,0 +1,611 @@
+{
+ "kac": "\u1000\u1001\u103b\u1004\u103a",
+ "fr_CA": "\u1000\u1014\u1031\u1012\u102b \u1015\u103c\u1004\u103a\u101e\u1005\u103a",
+ "en_CA": "\u1000\u1014\u1031\u1012\u102b \u1021\u1004\u103a\u1039\u1002\u101c\u102d\u1015\u103a",
+ "ca": "\u1000\u102c\u1010\u102c\u101c\u1014\u103a",
+ "koi": "\u1000\u102d\u102f\u1019\u102e-\u1015\u102b\u1019\u103c\u1000\u103a",
+ "ko": "\u1000\u102d\u102f\u1038\u101b\u102e\u1038\u101a\u102c\u1038",
+ "ks": "\u1000\u1000\u103a\u101b\u103e\u103a\u1019\u102e\u101b\u102e",
+ "rw": "\u1000\u1004\u103a\u101b\u102c\u101d\u1014\u103a\u1012\u102b",
+ "ku": "\u1000\u1012\u103a",
+ "kn": "\u1000\u1014\u1039\u1014\u102c\u1012\u102b",
+ "kok": "\u1000\u103d\u1014\u103a\u1000\u1014\u102e",
+ "kg": "\u1000\u103d\u1014\u103a\u1002\u102d\u102f",
+ "kea": "\u1001\u1018\u1030\u1017\u102c\u1012\u102e\u1021\u102c\u1014\u1030",
+ "kab": "\u1001\u1018\u102d\u102f\u1004\u103a\u101c\u103a",
+ "km": "\u1001\u1019\u102c",
+ "cr": "\u1001\u101b\u102e\u1038",
+ "ky": "\u1001\u101b\u1030\u1002\u1005\u103a",
+ "hr": "\u1001\u101b\u102d\u102f\u1021\u1031\u101b\u103e\u1014\u103a",
+ "kl": "\u1001\u101c\u102c\u1021\u103a\u101c\u102e\u1006\u1015\u103a",
+ "kha": "\u1001\u102b\u1005\u102e",
+ "kk": "\u1001\u102b\u1007\u102b\u1001\u103a",
+ "kln": "\u1001\u102b\u101c\u102d\u1019\u103a\u1002\u103b\u1004\u103a",
+ "ki": "\u1001\u102e\u1001\u1030\u101a\u1030",
+ "quc": "\u1001\u102e\u1001\u103a\u1021\u102e\u1001\u103b\u102e",
+ "co": "\u1001\u102d\u102f\u1005\u102e\u1000\u1014\u103a",
+ "kw": "\u1001\u102d\u102f\u1014\u102e\u101b\u103e\u103a",
+ "khq": "\u1001\u102d\u102f\u101b\u102c \u1001\u103b\u102e\u1021\u102e\u1014\u102e",
+ "ses": "\u1001\u102d\u102f\u101b\u102c\u1018\u102d\u102f\u101b\u102d\u102f \u1006\u1019\u103a\u1014\u102e",
+ "qu": "\u1001\u1000\u103a\u1001\u103b\u103a\u101d\u102b",
+ "kam": "\u1001\u1019\u103a\u1018\u102c",
+ "sms": "\u1001\u102d\u102f\u101c\u103a \u1006\u102c\u1019\u102d",
+ "chr": "\u1001\u103b\u102c\u101b\u102d\u102f\u1000\u102e",
+ "cgg": "\u1001\u103b\u102e\u1002\u102b",
+ "ce": "\u1001\u103b\u1031\u1001\u103b\u1004\u103a\u1038",
+ "cs": "\u1001\u103b\u1000\u103a",
+ "swc": "\u1001\u103d\u1014\u103a\u1002\u102d\u102f \u1005\u103d\u102c\u101f\u102e\u101c\u102e",
+ "el": "\u1002\u101b\u102d",
+ "gag": "\u1002\u102b\u1002\u102b\u1007\u103a",
+ "gl": "\u1002\u102b\u101c\u102c\u1005\u102e\u101a\u1036",
+ "gu": "\u1002\u1030\u1002\u103b\u102c\u101b\u101e\u102e",
+ "guz": "\u1002\u1030\u1005\u102e\u1038",
+ "gn": "\u1002\u1030\u1021\u102c\u101b\u102c\u1014\u102e",
+ "lg": "\u1002\u1014\u103a\u1012\u102e",
+ "ja": "\u1002\u103b\u1015\u1014\u103a",
+ "jv": "\u1002\u103b\u102c\u1017\u102c\u1038\u1014\u102e\u1038\u1005\u103a",
+ "de": "\u1002\u103b\u102c\u1019\u1014\u103a",
+ "jpr": "\u1002\u103b\u1030\u1012\u102e\u101a\u102d\u102f-\u1015\u102b\u101b\u103e\u1014\u103a",
+ "jrb": "\u1002\u103b\u1030\u1012\u102e\u101a\u102d\u102f-\u1021\u102c\u101b\u1031\u1017\u103b",
+ "ka": "\u1002\u103b\u1031\u102c\u103a\u1002\u103b\u102e\u101a\u1014\u103a",
+ "dyo": "\u1002\u103b\u102d\u102f\u101c\u102c-\u1016\u103d\u1014\u103a\u101b\u102e",
+ "jgo": "\u1002\u103d\u1019\u103a\u1018\u102c",
+ "sco": "\u1005\u1000\u1031\u102c\u1037",
+ "es": "\u1005\u1015\u102d\u1014\u103a",
+ "es_ES": "\u1005\u1015\u102d\u1014\u103a(\u1025\u101b\u1031\u102c\u1015)",
+ "sl": "\u1005\u101c\u102d\u102f\u1017\u1031\u1038\u1014\u102e\u1038\u101a\u1019\u103a\u1038",
+ "sk": "\u1005\u101c\u102d\u102f\u1017\u1000\u103a",
+ "ii": "\u1005\u102e\u1001\u103b\u103d\u1019\u103a \u101b\u102e",
+ "seh": "\u1005\u102e\u1014\u102c",
+ "sd": "\u1005\u1004\u103a\u1012\u102e",
+ "sr": "\u1006\u102c\u1038\u1017\u102e\u1038\u101a\u1014\u103a\u1038",
+ "su": "\u1006\u1030\u1012\u1014\u103a",
+ "xog": "\u1006\u102d\u102f\u1002\u102b",
+ "so": "\u1006\u102d\u102f\u1019\u102c\u101c\u102e",
+ "ckb": "\u1006\u102d\u102f\u101b\u102c\u1014\u102e \u1000\u1030\u1012\u1005\u103a\u101b\u103e\u103a",
+ "si": "\u1006\u1004\u103a\u101f\u102c\u101c",
+ "sbp": "\u1006\u1014\u103a\u1002\u102f",
+ "saq": "\u1006\u1014\u103a\u1018\u1030\u101b\u102f",
+ "sg": "\u1006\u1019\u103a\u1002\u102d\u102f",
+ "sw": "\u1006\u103c\u102c\u101f\u102e\u101c\u102e",
+ "sv": "\u1006\u103d\u102e\u1012\u1004\u103a",
+ "gsw": "\u1006\u103d\u1005\u103a \u1002\u103b\u102c\u1019\u1014\u103a",
+ "fr_CH": "\u1006\u103d\u1005\u103a \u1015\u103c\u1004\u103a\u101e\u1005\u103a",
+ "de_CH": "\u1006\u103d\u1005\u103a \u1021\u1019\u103c\u1004\u1037\u103a \u1002\u103b\u102c\u1019\u1014\u103a",
+ "dje": "\u1007\u102c\u1019\u102c",
+ "zu": "\u1007\u1030\u101c\u1030",
+ "xh": "\u1007\u102d\u102f\u1005\u102c",
+ "tt": "\u1010\u1010\u102c",
+ "ta": "\u1010\u1019\u102e\u1038\u101c\u103a",
+ "zh": "\u1010\u101b\u102f\u1010\u103a",
+ "tr": "\u1010\u102c\u1000\u1005\u103a",
+ "shi": "\u1010\u102c\u1001\u103b\u101a\u103a\u101c\u103a\u101f\u1005\u103a",
+ "tg": "\u1010\u102c\u1002\u103d\u102e\u1001\u103a",
+ "twq": "\u1010\u102c\u1006\u102c\u101d\u102b\u1001\u103a",
+ "bo": "\u1010\u102d\u1018\u1000\u103a",
+ "teo": "\u1010\u102e\u1006\u102d\u102f",
+ "te": "\u1010\u102e\u101c\u102e\u1002\u102f",
+ "ti": "\u1010\u102e\u1002\u103a\u101b\u1004\u103a\u101b\u102c",
+ "tk": "\u1010\u1001\u1039\u1019\u1004\u103a",
+ "se": "\u1010\u1031\u102c\u1004\u103a\u1006\u102c\u1019\u102d",
+ "nd": "\u1010\u1031\u102c\u1004\u103a\u1012\u102e\u1018\u102e\u101c\u102e",
+ "sma": "\u1010\u1031\u102c\u1004\u103a\u1015\u102d\u102f\u1004\u103a\u1038 \u1006\u102c\u1019\u102d",
+ "dav": "\u1010\u102d\u102f\u1004\u103a\u1010\u102c",
+ "to": "\u1010\u103d\u1014\u103a\u1002\u102b",
+ "th": "\u1011\u102d\u102f\u1004\u103a\u1038",
+ "dak": "\u1012\u102b\u1000\u102d\u102f\u1010\u102c",
+ "del": "\u1012\u102e\u101c\u102c\u101d\u1032",
+ "dua": "\u1012\u1030\u1021\u101c\u102c",
+ "nl": "\u1012\u1010\u103a\u1001\u103b\u103a",
+ "da": "\u1012\u102d\u1014\u103a\u1038\u1019\u1010\u103a",
+ "dz": "\u1012\u103d\u1014\u103a\u1000\u102c",
+ "nqo": "\u1014\u1000\u102d\u102f",
+ "naq": "\u1014\u102c\u1019\u102c",
+ "ne": "\u1014\u102e\u1015\u102b\u101c\u102e",
+ "nus": "\u1014\u1030\u1021\u102c",
+ "no": "\u1014\u1031\u102c\u103a\u101d\u1031\u1038",
+ "nn": "\u1014\u1031\u102c\u103a\u101d\u1031\u1038 \u1014\u102e\u1038\u1014\u1031\u102c\u103a\u1005\u103a\u1001\u103a",
+ "fa": "\u1015\u102b\u101b\u103e\u1014\u103a",
+ "peo": "\u1015\u102b\u101b\u103e\u1014\u103a \u1021\u101f\u1031\u102c\u1004\u103a\u1038",
+ "ps": "\u1015\u102b\u101b\u103e\u103a\u1010\u102d\u102f",
+ "pi": "\u1015\u102b\u1020\u102d",
+ "pt": "\u1015\u1031\u102b\u103a\u1010\u1030\u1002\u102e",
+ "pl": "\u1015\u102d\u102f\u101c\u1014\u103a",
+ "pa": "\u1015\u1014\u103a\u1001\u103b\u102c\u1015\u102e",
+ "fr": "\u1015\u103c\u1004\u103a\u101e\u1005\u103a",
+ "fro": "\u1015\u103c\u1004\u103a\u101e\u1005\u103a\u101f\u1031\u102c\u1004\u103a\u1038",
+ "nl_BE": "\u1016\u101c\u102e\u1019\u1005\u103a\u101b\u103e\u103a",
+ "fo": "\u1016\u102c\u101b\u102d\u102f\u1021\u102d\u1005\u103a",
+ "fil": "\u1016\u102d\u101c\u1005\u103a\u1015\u102e\u1014\u102d\u102f",
+ "fj": "\u1016\u102e\u1002\u103b\u102e",
+ "fi": "\u1016\u1004\u103a\u1014\u1005\u103a\u101b\u103e\u103a",
+ "my": "\u1017\u1019\u102c",
+ "vi": "\u1017\u102e\u101a\u1000\u103a\u1014\u1019\u103a",
+ "brx": "\u1017\u102d\u102f\u1012\u102d\u102f",
+ "vai": "\u1017\u102d\u102f\u1004\u103a",
+ "vun": "\u1017\u1014\u103a\u1002\u103b\u102d\u102f",
+ "en_GB": "\u1017\u103c\u102d\u1010\u102d\u101e\u103b\u103e \u1021\u1004\u103a\u1039\u1002\u101c\u102d\u1015\u103a",
+ "pt_BR": "\u1018\u101b\u102c\u1007\u102e\u1038 \u1015\u1031\u102b\u103a\u1010\u1030\u1002\u102e",
+ "br": "\u1018\u101b\u102e\u1010\u103d\u1014\u103a",
+ "bas": "\u1018\u102c\u1006\u102c",
+ "ksf": "\u1018\u102c\u1016\u102e\u1021\u102c",
+ "ban": "\u1018\u102c\u101c\u102e",
+ "zxx": "\u1018\u102c\u101e\u102c\u1005\u1000\u102c\u1038 \u1014\u103e\u1004\u1037\u103a \u1015\u1010\u103a\u101e\u1000\u103a \u101e\u1031\u102c\u1021\u101b\u102c\u1019\u101b\u103e\u102d",
+ "bez": "\u1018\u102e\u1014\u102c",
+ "be": "\u1018\u102e\u101c\u102c\u101b\u102f",
+ "bg": "\u1018\u1030\u1002\u1031\u1038\u101b\u102e\u1038\u101a\u102c\u1038",
+ "bs": "\u1018\u1031\u102c\u1037\u1005\u103a\u1014\u102e\u1038\u101a\u102c\u1038",
+ "ba": "\u1018\u1000\u103a\u101b\u103e\u103a\u1000\u102e\u1021\u102c",
+ "bn": "\u1018\u1004\u103a\u1039\u1002\u102b\u101c\u102e",
+ "eu": "\u1018\u1005\u103a\u1000\u1039\u1000\u102e",
+ "bm": "\u1018\u1014\u103a\u1018\u102c\u101b\u102c",
+ "bem": "\u1018\u102d\u1014\u103a\u1018\u102c",
+ "nb": "\u1018\u103d\u1010\u103a\u1019\u1031\u102c\u103a\u101c\u103a",
+ "jmc": "\u1019\u1001\u103b\u102c\u1019\u102e",
+ "ms": "\u1019\u101c\u1031\u1038",
+ "ml": "\u1019\u101c\u1031\u1038\u101b\u102c\u101c\u1019\u103a",
+ "und": "\u1019\u101e\u102d \u101e\u102d\u102f\u1037\u1019\u101f\u102f\u1010\u103a \u1019\u101b\u103e\u102d \u101e\u1031\u102c \u1018\u102c\u101e\u102c\u1005\u1000\u102c\u1038",
+ "mgh": "\u1019\u102c\u1001\u1030\u101d\u102b-\u1019\u102e\u1021\u102e\u1010\u102d\u102f",
+ "kde": "\u1019\u102c\u1001\u103d\u1014\u103a\u1012\u102e",
+ "mk": "\u1019\u102c\u1005\u102e\u1012\u102d\u102f\u1014\u102e\u101a\u1036",
+ "mas": "\u1019\u102c\u1006\u102d\u102f\u1004\u103a",
+ "arn": "\u1019\u102c\u1015\u102f\u1001\u103b\u102e",
+ "mr": "\u1019\u102c\u101b\u101e\u102e",
+ "mgo": "\u1019\u102e\u1010\u102c",
+ "mer": "\u1019\u102e\u101b\u102f",
+ "root": "\u1019\u1030\u101c\u101b\u1004\u103a\u1038\u1019\u103c\u1005\u103a",
+ "zgh": "\u1019\u102d\u102f\u101b\u102d\u102f\u1000\u1014\u103a \u1010\u103d\u1019\u103a\u1019\u1007\u102d\u102f\u1010\u103a \u1005\u1036",
+ "mfe": "\u1019\u102d\u102f\u101b\u103e\u102e\u1005\u103a\u101a\u1014\u103a\u1038",
+ "moh": "\u1019\u102d\u102f\u101f\u1031\u102c\u1037\u1001\u103a",
+ "mi": "\u1019\u1031\u102c\u1004\u103a\u1038\u101b\u102e (\u1014\u101a\u1030\u1038\u1007\u102e\u101c\u1014\u103a\u1000\u103b\u103d\u1014\u103a\u1038\u101b\u103e\u102d \u1015\u1004\u103a\u101b\u1004\u103a\u1038\u1010\u102d\u102f\u1004\u103a\u1038\u101b\u1004\u103a\u1038\u101e\u102c\u1038\u101c\u1030\u1019\u103b\u102d\u102f\u1038)",
+ "mnc": "\u1019\u1014\u103a\u1001\u103b\u1030\u1038",
+ "mua": "\u1019\u1014\u103a\u1012\u1014\u103a\u1038",
+ "gv": "\u1019\u1014\u103a\u1038\u1007\u103a",
+ "mt": "\u1019\u1031\u102c\u101c\u1039\u1010\u102e\u1005\u103a",
+ "frr": "\u1019\u103c\u1031\u102c\u1000\u103a\u1015\u102d\u102f\u1004\u103a\u1038 \u1016\u101b\u102e\u1005\u102e\u101b\u1014\u103a",
+ "mn": "\u1019\u103d\u1014\u103a\u1002\u102d\u102f\u101c\u102e\u1038\u101a\u1014\u103a\u1038",
+ "uk": "\u101a\u1030\u1000\u101b\u102d\u1014\u103a\u1038",
+ "nyn": "\u101a\u1014\u103a\u1000\u102d\u102f\u101c\u102e",
+ "ru": "\u101b\u102f\u101b\u103e",
+ "rm": "\u101b\u1031\u102c\u1019",
+ "ro": "\u101b\u102d\u102f\u1019\u1031\u1014\u102e\u101a\u102c\u1038",
+ "yo": "\u101b\u102d\u102f\u101b\u102f\u1018\u102c",
+ "zh_Hans": "\u101b\u102d\u102f\u1038\u101b\u103e\u1004\u103a\u1038\u101e\u1031\u102c \u1010\u101b\u102f\u1010\u103a",
+ "rn": "\u101b\u103d\u1014\u103a\u1012\u102e",
+ "rof": "\u101b\u103d\u1019\u103a\u1018\u102d\u102f",
+ "sn": "\u101b\u103e\u102d\u1014\u102c",
+ "zh_Hant": "\u101b\u103e\u1031\u1038\u101b\u102d\u102f\u1038\u1005\u1009\u103a\u101c\u102c \u1010\u101b\u102f\u1010\u103a",
+ "grc": "\u101b\u103e\u1031\u1038\u101f\u1031\u102c\u1004\u103a\u1038 \u1002\u101b\u102d",
+ "egy": "\u101b\u103e\u1031\u1038\u101f\u1031\u102c\u1004\u103a\u1038 \u1021\u102e\u1002\u103b\u1005\u103a",
+ "ksb": "\u101b\u103e\u1014\u103a\u1018\u102c\u101c\u102c",
+ "shn": "\u101b\u103e\u1019\u103a\u1038",
+ "lkt": "\u101c\u102c\u1000\u102d\u102f\u1010\u102c",
+ "lo": "\u101c\u102c\u1021\u102d\u102f",
+ "lb": "\u101c\u1030\u1007\u1004\u103a\u1018\u1010\u103a\u1000\u103a",
+ "lu": "\u101c\u1030\u1018\u102c-\u1001\u102b\u1010\u1014\u103a\u1002\u102b",
+ "luy": "\u101c\u1030\u101b\u102e\u1021\u102c",
+ "smj": "\u101c\u1030\u101c\u102e \u1006\u102c\u1019\u102d",
+ "luo": "\u101c\u1030\u1021\u102d\u102f",
+ "la": "\u101c\u1000\u103a\u1010\u1004\u103a",
+ "es_419": "\u101c\u1000\u103a\u1010\u1004\u103a\u1021\u1019\u1031\u101b\u102d\u1000 \u1005\u1015\u102d\u1014\u103a",
+ "lv": "\u101c\u1000\u1039\u1018\u102e\u1021\u1036",
+ "ln": "\u101c\u1004\u103a\u1002\u102b\u101c\u102c",
+ "lt": "\u101c\u1005\u1039\u101e\u1030\u1021\u102c\u1014\u102e\u101a\u1036",
+ "lag": "\u101c\u1014\u103a\u1002\u102e",
+ "rwk": "\u101d\u102b",
+ "nmg": "\u101d\u102b\u1006\u102e\u1021\u102d\u102f",
+ "ee": "\u101d\u102e",
+ "ug": "\u101d\u102e\u1002\u102b",
+ "wo": "\u101d\u1030\u101c\u102d\u102f\u1016\u103a",
+ "cy": "\u101d\u1031\u101c",
+ "sa": "\u101e\u1004\u103a\u1039\u101e\u1000\u101b\u102d\u102f\u1000\u103a",
+ "haw": "\u101f\u102c\u101d\u1031\u101a\u1036",
+ "ht": "\u101f\u102c\u1021\u102e\u1010\u102e\u1021\u1014\u103a",
+ "ha": "\u101f\u102c\u1025\u1005\u102c",
+ "he": "\u101f\u102e\u1038\u1018\u101b\u1030\u1038",
+ "hu": "\u101f\u1014\u103a\u1002\u1031\u101b\u102e",
+ "hi": "\u101f\u102d\u1014\u1039\u1012\u102e",
+ "mul": "\u1021\u1000\u103c\u102d\u1019\u103a\u1019\u103b\u102c\u1038\u1005\u103d\u102c \u1018\u102c\u101e\u102c\u1005\u1000\u102c\u1038\u1019\u103b\u102c\u1038",
+ "fy": "\u1021\u1014\u1031\u102c\u1000\u103a\u1015\u102d\u102f\u1004\u103a\u1038 \u1016\u101b\u102e\u1005\u102e\u101b\u1014\u103a",
+ "nds": "\u1021\u1014\u102d\u1019\u1037\u103a \u1002\u103b\u102c\u1019\u1014\u103a",
+ "hsb": "\u1021\u1015\u1031\u102b\u103a\u1006\u102d\u102f\u1018\u102e\u1021\u1019\u103a",
+ "en_US": "\u1021\u1019\u1031\u101b\u102d\u1000\u1014\u103a \u1021\u1004\u103a\u1039\u1002\u101c\u102d\u1015\u103a",
+ "ar_001": "\u1021\u101b\u1031\u1017\u102e(\u1015\u102f\u1036\u1019\u103e\u1014\u103a)",
+ "frs": "\u1021\u101b\u103e\u1031\u1037\u1015\u102d\u102f\u1004\u103a\u1038 \u1016\u101b\u102e\u1005\u102e\u101b\u1014\u103a",
+ "dum": "\u1021\u101c\u101a\u103a\u1015\u102d\u102f\u1004\u103a\u1038 \u1012\u1010\u103a\u1001\u103b\u103a",
+ "enm": "\u1021\u101c\u101a\u103a\u1015\u102d\u102f\u1004\u103a\u1038 \u1021\u1004\u103a\u1039\u1002\u101c\u102d\u1015\u103a",
+ "mga": "\u1021\u101c\u101a\u103a\u1015\u102d\u102f\u1004\u103a\u1038 \u1021\u102d\u102f\u1004\u103a\u1038\u101b\u1005\u103a",
+ "frm": "\u1021\u101c\u101a\u103a\u1015\u102d\u102f\u1004\u103a\u1038\u1015\u103c\u1004\u103a\u101e\u1005\u103a",
+ "gmh": "\u1021\u101c\u101a\u103a\u1015\u102d\u102f\u1004\u103a\u1038\u1021\u1019\u103c\u1004\u1037\u103a\u1002\u103b\u102c\u1019\u1014\u103a",
+ "tzm": "\u1021\u101c\u101a\u103a\u1021\u1000\u103a\u1010\u103a\u101c\u1000\u103a\u1005\u103a \u1010\u102c\u1019\u102c\u1007\u102d\u102f\u1000\u103a",
+ "ak": "\u1021\u102c\u1000\u102d\u1014\u103a",
+ "asa": "\u1021\u102c\u1005\u102f",
+ "af": "\u1021\u102c\u1016\u101b\u102d\u1000\u1014\u103a\u1038\u1005\u103a",
+ "hy": "\u1021\u102c\u1019\u1031\u1014\u102e\u1021\u1014\u103a",
+ "ar": "\u1021\u102c\u101b\u1031\u1017\u102e",
+ "mg": "\u1021\u102c\u101c\u102c\u1002\u102b\u1005\u102e",
+ "it": "\u1021\u102e\u1010\u101c\u102e",
+ "smn": "\u1021\u102e\u1014\u102c\u101b\u102e \u1006\u102c\u1019\u102d",
+ "iu": "\u1021\u102e\u1014\u102f\u1001\u103a\u1010\u102e\u1010\u102f",
+ "pt_PT": "\u1025\u101b\u1031\u102c\u1015 \u1015\u1031\u102b\u103a\u1010\u1030\u1002\u102e",
+ "uz": "\u1026\u1038\u1007\u103a\u1018\u1000\u103a",
+ "de_AT": "\u1029\u1005\u1010\u103c\u102e\u1038\u101a \u1002\u103b\u102c\u1019\u1014\u103a",
+ "en_AU": "\u1029\u1005\u1010\u103c\u1031\u1038\u101c\u103b\u103e \u1021\u1004\u103a\u1039\u1002\u101c\u102d\u1015\u103a",
+ "az": "\u1021\u1031\u102c\u103a\u1007\u1031\u102c\u1018\u102d\u102f\u1004\u103a\u1002\u103b\u1031\u102c\u1014\u102e",
+ "ur": "\u1021\u1031\u102c\u103a\u1012\u1030",
+ "or": "\u1021\u102d\u102f\u101b\u102e\u101b\u102c",
+ "om": "\u1021\u102d\u102f\u101b\u102d\u102f\u1019\u102d\u102f",
+ "ab": "\u1021\u1000\u103a\u1001\u102b\u1007\u1030\u1021\u1014\u103b",
+ "eo": "\u1021\u1000\u1039\u1005\u1015\u101b\u1014\u1039\u1010\u102d\u102f",
+ "as": "\u1021\u1000\u1039\u1005\u1019\u102e\u1005\u103a",
+ "et": "\u1021\u1000\u103a\u1005\u103a\u1010\u102d\u102f\u1038\u1014\u102e\u1038\u101b\u1014\u103a\u1038",
+ "dsb": "\u1021\u1031\u102c\u1000\u103a\u1006\u102d\u102f\u1018\u102e\u1021\u1019\u103a",
+ "agq": "\u1021\u102c\u1002\u103a\u101f\u102d\u1014\u103a\u1038",
+ "en": "\u1021\u1004\u103a\u1039\u1002\u101c\u102d\u1015\u103a",
+ "ang": "\u1021\u1004\u103a\u1039\u1002\u101c\u102d\u1015\u103a\u1005\u102c\u101f\u1031\u102c\u1004\u103a\u1038",
+ "id": "\u1021\u1004\u103a\u1012\u102d\u102f\u1014\u102e\u1038\u101b\u103e\u102c\u1038",
+ "is": "\u1021\u102d\u102f\u1004\u103a\u1005\u103a\u101c\u1014\u1039\u1012\u102e",
+ "ga": "\u1021\u102d\u102f\u1004\u103a\u1038\u101b\u1005\u103a",
+ "sga": "\u1021\u102d\u102f\u1004\u103a\u1038\u101b\u1005\u103a \u101f\u1031\u102c\u1004\u103a\u1038",
+ "ig": "\u1021\u1005\u1039\u1002\u1018\u102d\u102f",
+ "am": "\u1021\u1014\u103a\u101f\u102c\u101b\u1005\u103b\u1001\u103b",
+ "ebu": "\u1021\u1019\u103a\u1018\u1030",
+ "sq": "\u1021\u101a\u103a\u101c\u103a\u1018\u1031\u1038\u1014\u102e\u1038\u101a\u1014\u103a\u1038",
+ "ace": "Achinese",
+ "ach": "Acoli",
+ "ada": "Adangme",
+ "ady": "Adyghe",
+ "aa": "Afar",
+ "afh": "Afrihili",
+ "ain": "Ainu",
+ "akk": "Akkadian",
+ "bss": "Akoose",
+ "akz": "Alabama",
+ "ale": "Aleut",
+ "arq": "Algerian Arabic",
+ "ase": "American Sign Language",
+ "anp": "Angika",
+ "njo": "Ao Naga",
+ "an": "Aragonese",
+ "arc": "Aramaic",
+ "aro": "Araona",
+ "arp": "Arapaho",
+ "arw": "Arawak",
+ "rup": "Aromanian",
+ "frp": "Arpitan",
+ "ast": "Asturian",
+ "cch": "Atsam",
+ "av": "Avaric",
+ "ae": "Avestan",
+ "awa": "Awadhi",
+ "ay": "Aymara",
+ "bfq": "Badaga",
+ "bfd": "Bafut",
+ "bqi": "Bakhtiari",
+ "bal": "Baluchi",
+ "bax": "Bamun",
+ "bjn": "Banjar",
+ "bbc": "Batak Toba",
+ "bar": "Bavarian",
+ "bej": "Beja",
+ "bew": "Betawi",
+ "bho": "Bhojpuri",
+ "bik": "Bikol",
+ "bin": "Bini",
+ "bpy": "Bishnupriya",
+ "bi": "Bislama",
+ "byn": "Blin",
+ "zbl": "Blissymbols",
+ "brh": "Brahui",
+ "bra": "Braj",
+ "bug": "Buginese",
+ "bum": "Bulu",
+ "bua": "Buriat",
+ "cad": "Caddo",
+ "frc": "Cajun French",
+ "yue": "Cantonese",
+ "cps": "Capiznon",
+ "car": "Carib",
+ "cay": "Cayuga",
+ "ceb": "Cebuano",
+ "dtp": "Central Dusun",
+ "esu": "Central Yupik",
+ "shu": "Chadian Arabic",
+ "chg": "Chagatai",
+ "ch": "Chamorro",
+ "chy": "Cheyenne",
+ "chb": "Chibcha",
+ "qug": "Chimborazo Highland Quichua",
+ "chn": "Chinook Jargon",
+ "chp": "Chipewyan",
+ "cho": "Choctaw",
+ "cu": "Church Slavic",
+ "chk": "Chuukese",
+ "cv": "Chuvash",
+ "nwc": "Classical Newari",
+ "syc": "Classical Syriac",
+ "ksh": "Colognian",
+ "swb": "Comorian",
+ "cop": "Coptic",
+ "mus": "Creek",
+ "crh": "Crimean Turkish",
+ "dar": "Dargwa",
+ "dzg": "Dazaga",
+ "din": "Dinka",
+ "dv": "Divehi",
+ "doi": "Dogri",
+ "dgr": "Dogrib",
+ "dyu": "Dyula",
+ "efi": "Efik",
+ "arz": "Egyptian Arabic",
+ "eka": "Ekajuk",
+ "elx": "Elamite",
+ "egl": "Emilian",
+ "myv": "Erzya",
+ "ewo": "Ewondo",
+ "ext": "Extremaduran",
+ "fan": "Fang",
+ "fat": "Fanti",
+ "hif": "Fiji Hindi",
+ "fon": "Fon",
+ "gur": "Frafra",
+ "fur": "Friulian",
+ "ff": "Fulah",
+ "gaa": "Ga",
+ "gan": "Gan Chinese",
+ "gay": "Gayo",
+ "gba": "Gbaya",
+ "gez": "Geez",
+ "aln": "Gheg Albanian",
+ "bbj": "Ghomala",
+ "glk": "Gilaki",
+ "gil": "Gilbertese",
+ "gom": "Goan Konkani",
+ "gon": "Gondi",
+ "gor": "Gorontalo",
+ "got": "Gothic",
+ "grb": "Grebo",
+ "gwi": "Gwich\u02bcin",
+ "hai": "Haida",
+ "hak": "Hakka Chinese",
+ "hz": "Herero",
+ "hil": "Hiligaynon",
+ "ho": "Hiri Motu",
+ "hit": "Hittite",
+ "hmn": "Hmong",
+ "hup": "Hupa",
+ "iba": "Iban",
+ "ibb": "Ibibio",
+ "io": "Ido",
+ "ilo": "Iloko",
+ "izh": "Ingrian",
+ "inh": "Ingush",
+ "ia": "Interlingua",
+ "ie": "Interlingue",
+ "ik": "Inupiaq",
+ "jam": "Jamaican Creole English",
+ "kaj": "Jju",
+ "jut": "Jutish",
+ "kbd": "Kabardian",
+ "kgp": "Kaingang",
+ "kkj": "Kako",
+ "xal": "Kalmyk",
+ "kbl": "Kanembu",
+ "kr": "Kanuri",
+ "kaa": "Kara-Kalpak",
+ "krc": "Karachay-Balkar",
+ "krl": "Karelian",
+ "csb": "Kashubian",
+ "kaw": "Kawi",
+ "ken": "Kenyang",
+ "kho": "Khotanese",
+ "khw": "Khowar",
+ "kmb": "Kimbundu",
+ "krj": "Kinaray-a",
+ "kiu": "Kirmanjki",
+ "tlh": "Klingon",
+ "bkm": "Kom",
+ "kv": "Komi",
+ "kfo": "Koro",
+ "kos": "Kosraean",
+ "avk": "Kotava",
+ "kpe": "Kpelle",
+ "kri": "Krio",
+ "kj": "Kuanyama",
+ "kum": "Kumyk",
+ "kru": "Kurukh",
+ "kut": "Kutenai",
+ "lad": "Ladino",
+ "lah": "Lahnda",
+ "lam": "Lamba",
+ "ltg": "Latgalian",
+ "lzz": "Laz",
+ "lez": "Lezghian",
+ "lij": "Ligurian",
+ "li": "Limburgish",
+ "lfn": "Lingua Franca Nova",
+ "lzh": "Literary Chinese",
+ "liv": "Livonian",
+ "jbo": "Lojban",
+ "lmo": "Lombard",
+ "sli": "Lower Silesian",
+ "loz": "Lozi",
+ "lua": "Luba-Lulua",
+ "lui": "Luiseno",
+ "lun": "Lunda",
+ "mde": "Maba",
+ "mad": "Madurese",
+ "maf": "Mafa",
+ "mag": "Magahi",
+ "vmf": "Main-Franconian",
+ "mai": "Maithili",
+ "mak": "Makasar",
+ "mdr": "Mandar",
+ "man": "Mandingo",
+ "mni": "Manipuri",
+ "chm": "Mari",
+ "mh": "Marshallese",
+ "mwr": "Marwari",
+ "mzn": "Mazanderani",
+ "byv": "Medumba",
+ "men": "Mende",
+ "mwv": "Mentawai",
+ "es_MX": "Mexican Spanish",
+ "mic": "Micmac",
+ "nan": "Min Nan Chinese",
+ "min": "Minangkabau",
+ "xmf": "Mingrelian",
+ "mwl": "Mirandese",
+ "lus": "Mizo",
+ "mdf": "Moksha",
+ "ro_MD": "Moldavian",
+ "lol": "Mongo",
+ "ary": "Moroccan Arabic",
+ "mos": "Mossi",
+ "ttt": "Muslim Tat",
+ "mye": "Myene",
+ "na": "Nauru",
+ "nv": "Navajo",
+ "ng": "Ndonga",
+ "nap": "Neapolitan",
+ "new": "Newari",
+ "sba": "Ngambay",
+ "nnh": "Ngiemboon",
+ "yrl": "Nheengatu",
+ "nia": "Nias",
+ "niu": "Niuean",
+ "nog": "Nogai",
+ "nso": "Northern Sotho",
+ "nov": "Novial",
+ "nym": "Nyamwezi",
+ "ny": "Nyanja",
+ "tog": "Nyasa Tonga",
+ "nyo": "Nyoro",
+ "nzi": "Nzima",
+ "oc": "Occitan",
+ "oj": "Ojibwa",
+ "goh": "Old High German",
+ "non": "Old Norse",
+ "pro": "Old Proven\u00e7al",
+ "osa": "Osage",
+ "os": "Ossetic",
+ "ota": "Ottoman Turkish",
+ "pal": "Pahlavi",
+ "pfl": "Palatine German",
+ "pau": "Palauan",
+ "pam": "Pampanga",
+ "pag": "Pangasinan",
+ "pap": "Papiamento",
+ "pdc": "Pennsylvania German",
+ "phn": "Phoenician",
+ "pcd": "Picard",
+ "pms": "Piedmontese",
+ "pdt": "Plautdietsch",
+ "pon": "Pohnpeian",
+ "pnt": "Pontic",
+ "prg": "Prussian",
+ "raj": "Rajasthani",
+ "rap": "Rapanui",
+ "rar": "Rarotongan",
+ "rif": "Riffian",
+ "rgn": "Romagnol",
+ "rom": "Romany",
+ "rtm": "Rotuman",
+ "rug": "Roviana",
+ "rue": "Rusyn",
+ "ssy": "Saho",
+ "sah": "Sakha",
+ "sam": "Samaritan Aramaic",
+ "sm": "Samoan",
+ "sgs": "Samogitian",
+ "sad": "Sandawe",
+ "sat": "Santali",
+ "sc": "Sardinian",
+ "sas": "Sasak",
+ "sdc": "Sassarese Sardinian",
+ "stq": "Saterland Frisian",
+ "saz": "Saurashtra",
+ "gd": "Scottish Gaelic",
+ "sly": "Selayar",
+ "sel": "Selkup",
+ "see": "Seneca",
+ "sh": "Serbo-Croatian",
+ "srr": "Serer",
+ "sei": "Seri",
+ "scn": "Sicilian",
+ "sid": "Sidamo",
+ "bla": "Siksika",
+ "szl": "Silesian",
+ "den": "Slave",
+ "sog": "Sogdien",
+ "snk": "Soninke",
+ "azb": "South Azerbaijani",
+ "nr": "South Ndebele",
+ "alt": "Southern Altai",
+ "st": "Southern Sotho",
+ "srn": "Sranan Tongo",
+ "suk": "Sukuma",
+ "sux": "Sumerian",
+ "sus": "Susu",
+ "ss": "Swati",
+ "syr": "Syriac",
+ "tl": "Tagalog",
+ "ty": "Tahitian",
+ "tly": "Talysh",
+ "tmh": "Tamashek",
+ "trv": "Taroko",
+ "ter": "Tereno",
+ "tet": "Tetum",
+ "tig": "Tigre",
+ "tem": "Timne",
+ "tiv": "Tiv",
+ "tli": "Tlingit",
+ "tpi": "Tok Pisin",
+ "tkl": "Tokelau",
+ "fit": "Tornedalen Finnish",
+ "tkr": "Tsakhur",
+ "tsd": "Tsakonian",
+ "tsi": "Tsimshian",
+ "ts": "Tsonga",
+ "tn": "Tswana",
+ "tcy": "Tulu",
+ "tum": "Tumbuka",
+ "aeb": "Tunisian Arabic",
+ "tru": "Turoyo",
+ "tvl": "Tuvalu",
+ "tyv": "Tuvinian",
+ "tw": "Twi",
+ "kcg": "Tyap",
+ "udm": "Udmurt",
+ "uga": "Ugaritic",
+ "umb": "Umbundu",
+ "ve": "Venda",
+ "vec": "Venetian",
+ "vep": "Veps",
+ "vo": "Volap\u00fck",
+ "vro": "V\u00f5ro",
+ "vot": "Votic",
+ "wa": "Walloon",
+ "wae": "Walser",
+ "war": "Waray",
+ "wbp": "Warlpiri",
+ "was": "Washo",
+ "guc": "Wayuu",
+ "vls": "West Flemish",
+ "mrj": "Western Mari",
+ "wal": "Wolaytta",
+ "wuu": "Wu Chinese",
+ "hsn": "Xiang Chinese",
+ "yav": "Yangben",
+ "yao": "Yao",
+ "yap": "Yapese",
+ "ybb": "Yemba",
+ "yi": "Yiddish",
+ "zap": "Zapotec",
+ "zza": "Zaza",
+ "zea": "Zeelandic",
+ "zen": "Zenaga",
+ "za": "Zhuang",
+ "gbz": "Zoroastrian Dari",
+ "zun": "Zuni"
+}
diff --git a/public/intl/messages/am-ET.json b/public/intl/messages/am-ET.json
index d1ff296c..f48fe83c 100644
--- a/public/intl/messages/am-ET.json
+++ b/public/intl/messages/am-ET.json
@@ -1,26 +1,32 @@
{
- "label.accounts": [
+ "label.access-code": [
{
"type": 0,
- "value": "Accounts"
+ "value": "Access code"
}
],
- "label.add-account": [
+ "label.actions": [
{
"type": 0,
- "value": "Add account"
+ "value": "Actions"
}
],
- "label.add-column": [
+ "label.activity-log": [
{
"type": 0,
- "value": "Add column"
+ "value": "Activity log"
}
],
- "label.add-filter": [
+ "label.add": [
{
"type": 0,
- "value": "Add filter"
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
@@ -29,12 +35,18 @@
"value": "Add website"
}
],
- "label.administrator": [
+ "label.admin": [
{
"type": 0,
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,10 +59,22 @@
"value": "All time"
}
],
- "label.all-websites": [
+ "label.analytics": [
{
"type": 0,
- "value": "All websites"
+ "value": "Analytics"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
+ "label.average-visit-time": [
+ {
+ "type": 0,
+ "value": "Average visit time"
}
],
"label.back": [
@@ -59,6 +83,36 @@
"value": "Back"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
+ "label.bounce-rate": [
+ {
+ "type": 0,
+ "value": "Bounce rate"
+ }
+ ],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
+ "label.browsers": [
+ {
+ "type": 0,
+ "value": "Browsers"
+ }
+ ],
"label.cancel": [
{
"type": 0,
@@ -71,16 +125,82 @@
"value": "Change password"
}
],
+ "label.cities": [
+ {
+ "type": 0,
+ "value": "Cities"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
+ "label.clear-all": [
+ {
+ "type": 0,
+ "value": "Clear all"
+ }
+ ],
+ "label.confirm": [
+ {
+ "type": 0,
+ "value": "Confirm"
+ }
+ ],
"label.confirm-password": [
{
"type": 0,
"value": "Confirm password"
}
],
- "label.copy-to-clipboard": [
+ "label.contains": [
{
"type": 0,
- "value": "Copy to clipboard"
+ "value": "Contains"
+ }
+ ],
+ "label.continue": [
+ {
+ "type": 0,
+ "value": "Continue"
+ }
+ ],
+ "label.countries": [
+ {
+ "type": 0,
+ "value": "Countries"
+ }
+ ],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
+ "label.create-team": [
+ {
+ "type": 0,
+ "value": "Create team"
+ }
+ ],
+ "label.create-user": [
+ {
+ "type": 0,
+ "value": "Create user"
+ }
+ ],
+ "label.created": [
+ {
+ "type": 0,
+ "value": "Created"
}
],
"label.current-password": [
@@ -101,12 +221,30 @@
"value": "Dashboard"
}
],
+ "label.data": [
+ {
+ "type": 0,
+ "value": "Data"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Date range"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -119,10 +257,16 @@
"value": "Delete"
}
],
- "label.delete-account": [
+ "label.delete-team": [
{
"type": 0,
- "value": "Delete account"
+ "value": "Delete team"
+ }
+ ],
+ "label.delete-user": [
+ {
+ "type": 0,
+ "value": "Delete user"
}
],
"label.delete-website": [
@@ -131,34 +275,70 @@
"value": "Delete website"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
+ "label.desktop": [
+ {
+ "type": 0,
+ "value": "Desktop"
+ }
+ ],
+ "label.details": [
+ {
+ "type": 0,
+ "value": "Details"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
+ "label.devices": [
+ {
+ "type": 0,
+ "value": "Devices"
+ }
+ ],
"label.dismiss": [
{
"type": 0,
"value": "Dismiss"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
"value": "Edit"
}
],
- "label.edit-account": [
+ "label.edit-dashboard": [
{
"type": 0,
- "value": "Edit account"
- }
- ],
- "label.edit-website": [
- {
- "type": 0,
- "value": "Edit website"
+ "value": "Edit dashboard"
}
],
"label.enable-share-url": [
@@ -167,28 +347,118 @@
"value": "Enable share URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
"label.event-data": [
{
"type": 0,
"value": "Event Data"
}
],
- "label.field-name": [
+ "label.events": [
{
"type": 0,
- "value": "Field Name"
+ "value": "Events"
}
],
- "label.invalid": [
+ "label.false": [
{
"type": 0,
- "value": "Invalid"
+ "value": "False"
}
],
- "label.invalid-domain": [
+ "label.field": [
{
"type": 0,
- "value": "Invalid domain"
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
+ "label.filter-combined": [
+ {
+ "type": 0,
+ "value": "Combined"
+ }
+ ],
+ "label.filter-raw": [
+ {
+ "type": 0,
+ "value": "Raw"
+ }
+ ],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
+ "label.join": [
+ {
+ "type": 0,
+ "value": "Join"
+ }
+ ],
+ "label.join-team": [
+ {
+ "type": 0,
+ "value": "Join team"
}
],
"label.language": [
@@ -197,6 +467,18 @@
"value": "Language"
}
],
+ "label.languages": [
+ {
+ "type": 0,
+ "value": "Languages"
+ }
+ ],
+ "label.laptop": [
+ {
+ "type": 0,
+ "value": "Laptop"
+ }
+ ],
"label.last-days": [
{
"type": 0,
@@ -225,14 +507,28 @@
"value": " hours"
}
],
- "label.logged-in-as": [
+ "label.leave": [
{
"type": 0,
- "value": "Logged in as "
- },
+ "value": "Leave"
+ }
+ ],
+ "label.leave-team": [
{
- "type": 1,
- "value": "username"
+ "type": 0,
+ "value": "Leave team"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
}
],
"label.login": [
@@ -247,12 +543,42 @@
"value": "Logout"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
+ "label.members": [
+ {
+ "type": 0,
+ "value": "Members"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
+ "label.mobile": [
+ {
+ "type": 0,
+ "value": "Mobile"
+ }
+ ],
"label.more": [
{
"type": 0,
"value": "More"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -271,22 +597,74 @@
"value": "None"
}
],
+ "label.os": [
+ {
+ "type": 0,
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
+ }
+ ],
"label.owner": [
{
"type": 0,
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
+ "label.page-views": [
+ {
+ "type": 0,
+ "value": "Page views"
+ }
+ ],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
+ "label.pages": [
+ {
+ "type": 0,
+ "value": "Pages"
+ }
+ ],
"label.password": [
{
"type": 0,
"value": "Password"
}
],
- "label.passwords-dont-match": [
+ "label.powered-by": [
{
"type": 0,
- "value": "Passwords don't match"
+ "value": "Powered by "
+ },
+ {
+ "type": 1,
+ "value": "name"
}
],
"label.profile": [
@@ -295,16 +673,40 @@
"value": "Profile"
}
],
+ "label.queries": [
+ {
+ "type": 0,
+ "value": "Queries"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
+ "label.query-parameters": [
+ {
+ "type": 0,
+ "value": "Query parameters"
+ }
+ ],
"label.realtime": [
{
"type": 0,
"value": "Realtime"
}
],
- "label.realtime-logs": [
+ "label.referrer": [
{
"type": 0,
- "value": "Realtime logs"
+ "value": "Referrer"
+ }
+ ],
+ "label.referrers": [
+ {
+ "type": 0,
+ "value": "Referrers"
}
],
"label.refresh": [
@@ -313,6 +715,36 @@
"value": "Refresh"
}
],
+ "label.regenerate": [
+ {
+ "type": 0,
+ "value": "Regenerate"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
+ "label.regions": [
+ {
+ "type": 0,
+ "value": "Regions"
+ }
+ ],
+ "label.remove": [
+ {
+ "type": 0,
+ "value": "Remove"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -331,16 +763,52 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
+ "label.role": [
+ {
+ "type": 0,
+ "value": "Role"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
"value": "Save"
}
],
- "label.search": [
+ "label.screens": [
{
"type": 0,
- "value": "Search"
+ "value": "Screens"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
+ "label.select-website": [
+ {
+ "type": 0,
+ "value": "Select website"
+ }
+ ],
+ "label.sessions": [
+ {
+ "type": 0,
+ "value": "Sessions"
}
],
"label.settings": [
@@ -361,6 +829,66 @@
"value": "Single day"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
+ "label.tablet": [
+ {
+ "type": 0,
+ "value": "Tablet"
+ }
+ ],
+ "label.team": [
+ {
+ "type": 0,
+ "value": "Team"
+ }
+ ],
+ "label.team-guest": [
+ {
+ "type": 0,
+ "value": "Team guest"
+ }
+ ],
+ "label.team-id": [
+ {
+ "type": 0,
+ "value": "Team ID"
+ }
+ ],
+ "label.team-member": [
+ {
+ "type": 0,
+ "value": "Team member"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
+ "label.team-owner": [
+ {
+ "type": 0,
+ "value": "Team owner"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
+ "label.teams": [
+ {
+ "type": 0,
+ "value": "Teams"
+ }
+ ],
"label.theme": [
{
"type": 0,
@@ -391,54 +919,168 @@
"value": "Timezone"
}
],
+ "label.title": [
+ {
+ "type": 0,
+ "value": "Title"
+ }
+ ],
"label.today": [
{
"type": 0,
"value": "Today"
}
],
+ "label.toggle-charts": [
+ {
+ "type": 0,
+ "value": "Toggle charts"
+ }
+ ],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Tracking code"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
"label.type": [
{
"type": 0,
"value": "Type"
}
],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
+ "label.unique-visitors": [
+ {
+ "type": 0,
+ "value": "Unique visitors"
+ }
+ ],
"label.unknown": [
{
"type": 0,
"value": "Unknown"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
+ "label.user": [
+ {
+ "type": 0,
+ "value": "User"
+ }
+ ],
"label.username": [
{
"type": 0,
"value": "Username"
}
],
+ "label.users": [
+ {
+ "type": 0,
+ "value": "Users"
+ }
+ ],
"label.value": [
{
"type": 0,
"value": "Value"
}
],
+ "label.view": [
+ {
+ "type": 0,
+ "value": "View"
+ }
+ ],
"label.view-details": [
{
"type": 0,
"value": "View details"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
+ "label.views": [
+ {
+ "type": 0,
+ "value": "Views"
+ }
+ ],
+ "label.visitors": [
+ {
+ "type": 0,
+ "value": "Visitors"
+ }
+ ],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
+ "label.website-id": [
+ {
+ "type": 0,
+ "value": "Website ID"
+ }
+ ],
"label.websites": [
{
"type": 0,
"value": "Websites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -493,6 +1135,20 @@
"value": "?"
}
],
+ "message.confirm-leave": [
+ {
+ "type": 0,
+ "value": "Are you sure you want to leave "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "?"
+ }
+ ],
"message.confirm-reset": [
{
"type": 0,
@@ -507,40 +1163,58 @@
"value": "'s statistics?"
}
],
- "message.copied": [
+ "message.delete-account": [
{
"type": 0,
- "value": "Copied!"
- }
- ],
- "message.delete-warning": [
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
{
"type": 0,
- "value": "All associated data will be deleted as well."
+ "value": " in the box below to confirm."
}
],
- "message.edit-dashboard": [
+ "message.delete-website": [
{
"type": 0,
- "value": "Edit dashboard"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
- "message.failure": [
+ "message.delete-website-warning": [
+ {
+ "type": 0,
+ "value": "All website data will be deleted."
+ }
+ ],
+ "message.error": [
{
"type": 0,
"value": "Something went wrong."
}
],
- "message.get-share-url": [
+ "message.event-log": [
+ {
+ "type": 1,
+ "value": "event"
+ },
{
"type": 0,
- "value": "Get share URL"
- }
- ],
- "message.get-tracking-code": [
+ "value": " on "
+ },
{
- "type": 0,
- "value": "Get tracking code"
+ "type": 1,
+ "value": "url"
}
],
"message.go-to-settings": [
@@ -555,7 +1229,179 @@
"value": "Incorrect username/password."
}
],
- "message.log.visitor": [
+ "message.invalid-domain": [
+ {
+ "type": 0,
+ "value": "Invalid domain. Do not include http/https."
+ }
+ ],
+ "message.min-password-length": [
+ {
+ "type": 0,
+ "value": "Minimum length of "
+ },
+ {
+ "type": 1,
+ "value": "n"
+ },
+ {
+ "type": 0,
+ "value": " characters"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
+ "message.no-data-available": [
+ {
+ "type": 0,
+ "value": "No data available."
+ }
+ ],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
+ "message.no-match-password": [
+ {
+ "type": 0,
+ "value": "Passwords do not match."
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
+ "message.no-teams": [
+ {
+ "type": 0,
+ "value": "You have not created any teams."
+ }
+ ],
+ "message.no-users": [
+ {
+ "type": 0,
+ "value": "There are no users."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "You do not have any websites configured."
+ }
+ ],
+ "message.page-not-found": [
+ {
+ "type": 0,
+ "value": "Page not found."
+ }
+ ],
+ "message.reset-website": [
+ {
+ "type": 0,
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
+ "message.reset-website-warning": [
+ {
+ "type": 0,
+ "value": "All statistics for this website will be deleted, but your settings will remain intact."
+ }
+ ],
+ "message.saved": [
+ {
+ "type": 0,
+ "value": "Saved."
+ }
+ ],
+ "message.share-url": [
+ {
+ "type": 0,
+ "value": "This is the publicly shared URL for "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "."
+ }
+ ],
+ "message.team-already-member": [
+ {
+ "type": 0,
+ "value": "You are already a member of the team."
+ }
+ ],
+ "message.team-not-found": [
+ {
+ "type": 0,
+ "value": "Team not found."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
+ "message.tracking-code": [
+ {
+ "type": 0,
+ "value": "To track stats for this website, place the following code in the "
+ },
+ {
+ "children": [
+ {
+ "type": 0,
+ "value": "..."
+ }
+ ],
+ "type": 8,
+ "value": "head"
+ },
+ {
+ "type": 0,
+ "value": " section of your HTML."
+ }
+ ],
+ "message.user-deleted": [
+ {
+ "type": 0,
+ "value": "User deleted."
+ }
+ ],
+ "message.visitor-log": [
{
"type": 0,
"value": "Visitor from "
@@ -588,267 +1434,5 @@
"type": 1,
"value": "device"
}
- ],
- "message.new-version-available": [
- {
- "type": 0,
- "value": "A new version of umami "
- },
- {
- "type": 1,
- "value": "version"
- },
- {
- "type": 0,
- "value": " is available!"
- }
- ],
- "message.no-data-available": [
- {
- "type": 0,
- "value": "No data available."
- }
- ],
- "message.no-websites-configured": [
- {
- "type": 0,
- "value": "You don't have any websites configured."
- }
- ],
- "message.page-not-found": [
- {
- "type": 0,
- "value": "Page not found."
- }
- ],
- "message.powered-by": [
- {
- "type": 0,
- "value": "Powered by "
- },
- {
- "type": 1,
- "value": "name"
- }
- ],
- "message.reset-warning": [
- {
- "type": 0,
- "value": "All statistics for this website will be deleted, but your tracking code will remain intact."
- }
- ],
- "message.save-success": [
- {
- "type": 0,
- "value": "Saved successfully."
- }
- ],
- "message.share-url": [
- {
- "type": 0,
- "value": "This is the publicly shared URL for "
- },
- {
- "type": 1,
- "value": "target"
- },
- {
- "type": 0,
- "value": "."
- }
- ],
- "message.toggle-charts": [
- {
- "type": 0,
- "value": "Toggle charts"
- }
- ],
- "message.track-stats": [
- {
- "type": 0,
- "value": "To track stats for "
- },
- {
- "type": 1,
- "value": "target"
- },
- {
- "type": 0,
- "value": ", place the following code in the "
- },
- {
- "type": 1,
- "value": "head"
- },
- {
- "type": 0,
- "value": " section of your website."
- }
- ],
- "message.type-delete": [
- {
- "type": 0,
- "value": "Type "
- },
- {
- "type": 1,
- "value": "delete"
- },
- {
- "type": 0,
- "value": " in the box below to confirm."
- }
- ],
- "message.type-reset": [
- {
- "type": 0,
- "value": "Type "
- },
- {
- "type": 1,
- "value": "reset"
- },
- {
- "type": 0,
- "value": " in the box below to confirm."
- }
- ],
- "metrics.actions": [
- {
- "type": 0,
- "value": "Actions"
- }
- ],
- "metrics.average-visit-time": [
- {
- "type": 0,
- "value": "Average visit time"
- }
- ],
- "metrics.bounce-rate": [
- {
- "type": 0,
- "value": "Bounce rate"
- }
- ],
- "metrics.browsers": [
- {
- "type": 0,
- "value": "Browsers"
- }
- ],
- "metrics.countries": [
- {
- "type": 0,
- "value": "Countries"
- }
- ],
- "metrics.device.desktop": [
- {
- "type": 0,
- "value": "Desktop"
- }
- ],
- "metrics.device.laptop": [
- {
- "type": 0,
- "value": "Laptop"
- }
- ],
- "metrics.device.mobile": [
- {
- "type": 0,
- "value": "Mobile"
- }
- ],
- "metrics.device.tablet": [
- {
- "type": 0,
- "value": "Tablet"
- }
- ],
- "metrics.devices": [
- {
- "type": 0,
- "value": "Devices"
- }
- ],
- "metrics.events": [
- {
- "type": 0,
- "value": "Events"
- }
- ],
- "metrics.filter.combined": [
- {
- "type": 0,
- "value": "Combined"
- }
- ],
- "metrics.filter.raw": [
- {
- "type": 0,
- "value": "Raw"
- }
- ],
- "metrics.languages": [
- {
- "type": 0,
- "value": "Languages"
- }
- ],
- "metrics.operating-systems": [
- {
- "type": 0,
- "value": "Operating systems"
- }
- ],
- "metrics.page-views": [
- {
- "type": 0,
- "value": "Page views"
- }
- ],
- "metrics.pages": [
- {
- "type": 0,
- "value": "Pages"
- }
- ],
- "metrics.query-parameters": [
- {
- "type": 0,
- "value": "Query parameters"
- }
- ],
- "metrics.referrers": [
- {
- "type": 0,
- "value": "Referrers"
- }
- ],
- "metrics.screens": [
- {
- "type": 0,
- "value": "Screens"
- }
- ],
- "metrics.unique-visitors": [
- {
- "type": 0,
- "value": "Unique visitors"
- }
- ],
- "metrics.views": [
- {
- "type": 0,
- "value": "Views"
- }
- ],
- "metrics.visitors": [
- {
- "type": 0,
- "value": "Visitors"
- }
]
-}
\ No newline at end of file
+}
diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json
index fc38707d..a9a12404 100644
--- a/public/intl/messages/ar-SA.json
+++ b/public/intl/messages/ar-SA.json
@@ -17,6 +17,18 @@
"value": "سجل الأحداث"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "مدير"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "تحليلات"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "للخلف"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "معدل الارتداد"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "المدن"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "تأكيد كلمة المرور"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "الدول"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "البيانات"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "فترة مخصصة"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "حذف الموقع"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "تفاصيل"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "اخفاء"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "النطاق"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "تفعيل مشاركة الرابط"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "الأحداث"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "مفصلة"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "مغادرة المجموعة"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "تسجيل الخروج"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "الأعضاء"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "المزيد"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "غير معرف"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "نظام التشغيل"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "المالك"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "مشاهدات الصفحة"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "استعلامات"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "الوقت الفعلي"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "اعادة انشاء"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "إزالة"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "اعادة تعيين الإحصائيات"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "الصلاحية"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "الشاشات"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "يوم واحد"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "عضو المجموعة"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "مدير المجموعة"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "تغيير الإحصائيات"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "كود التتبع"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "غير معروف"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "المستخدمين"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "عرض التفاصيل"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "الزوار"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "المواقع"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "؟"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "حذف الموقع"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " حرف/أحرف"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "لا توجد بيانات متاحة."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "كلمة المرور غير متطابقة"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "هذه المجموعة ليس لديه اي موقع."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "لا يوجد مستخدمين."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "لم تقم بإعداد اي موقع."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "اعادة تعيين الإحصائيات"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "لم يتم العثور على المجموعة"
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "يمكن مشاهدة الموقع من اي عضو في المجموعة."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "هذه المجموعة ليس لديه اي موقع."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "لم تقم بإعداد اي موقع."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "يمكن مشاهدة الموقع من اي عضو في المجموعة."
- }
]
}
diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json
index 56604985..4978aa45 100644
--- a/public/intl/messages/be-BY.json
+++ b/public/intl/messages/be-BY.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Адміністратар"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Назад"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Паказчык адмоваў"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Падцвердзіць пароль"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Краіны"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Дыяпазон дат"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Выдаліць сайт"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Адмена"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Дамен"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Дазволіць дзяліцца спасылкай"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Падзеі"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Сырыя"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Выйсці"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Болей"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Няма"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Аперацыонныя сістэмы"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Уласнік"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Прагляды старонкі"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "У рэяльным часе"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Скінуць статыстыку"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Экраны"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Адзін дзень"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Пераключыць графікі"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Код адсочвання"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Невядома"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Пабачыць дэталі"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Наведвальнікі"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Сайты"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": " статыстыку?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Выдаліць сайт"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Няма дадзеных."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Паролі не супадаюць"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Вы не наладзілі ніводнага сайту."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Скінуць статыстыку"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Вы не наладзілі ніводнага сайту."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json
index 145815a5..938f6f98 100644
--- a/public/intl/messages/bn-BD.json
+++ b/public/intl/messages/bn-BD.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "অ্যাডমিন"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "পেছনে"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "বহিষ্কারের হার"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "পাসওয়ার্ড নিশ্চিত করুন"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "দেশ"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "তারিখের পরিসীমা"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "ওয়েবসাইট মুছুন"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "বাতিল"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "ডোমেইন"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "শেয়ার ইউআরএল শেয়ার করুন"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "ঘটনা"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "অপরিশোধিত"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "লগ আউট"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "আরও"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "কিছুই না"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "অপারেটিং সিস্টেম গুলো"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "মালিক"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "পৃষ্ঠা পরিদর্শন গুলো"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "সরাসরি"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "ওয়েবসাইট রিসেট করুন"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "স্ক্রিনগুলি"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "একদিন"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "চার্ট পরিবর্তন করুন"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "ট্র্যাকিং কোড"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "অজানা"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "বিস্তারিত দেখুন"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "পরিদর্শনার্থী"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "সবগুলো ওয়েবসাইট"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": " এর পরিসংখ্যান পুনরায় সেট করতে চান?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "ওয়েবসাইট মুছুন"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "কোন তথ্য নেই।"
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "পাসওয়ার্ড মেলে না"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "কোনও ওয়েবসাইট কনফিগার করা নেই।"
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "ওয়েবসাইট রিসেট করুন"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 0,
"value": " এর মধ্যে।"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "কোনও ওয়েবসাইট কনফিগার করা নেই।"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json
index 5d5d6ff7..694b49c2 100644
--- a/public/intl/messages/ca-ES.json
+++ b/public/intl/messages/ca-ES.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrador"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Enrere"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Percentatge de rebot"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirma la contrasenya"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Països"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Interval de dates"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Esborra el lloc web"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Descarta"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domini"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Activa l'enllaç per compartir"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Esdeveniments"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "En cru"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Desconnecta't"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Més"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistemes operatius"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Propietari"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Pàgines vistes"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Temps real"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Restableix estadístiques"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Un sol dia"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Mostra/amaga gràfics"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Codi de seguiment"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Desconegut"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Veure els detalls"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Visitants"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Llocs web"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Esborra el lloc web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "No hi ha dades disponibles."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Les contrasenyes no coincideixen"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "No hi ha cap lloc web configurat."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Restableix estadístiques"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "No hi ha cap lloc web configurat."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json
index fc617b4e..3fd34c31 100644
--- a/public/intl/messages/cs-CZ.json
+++ b/public/intl/messages/cs-CZ.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrátor"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Zpět"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Okamžité opuštění"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Potvrdit heslo"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Země"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Období"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Smazat web"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Odejít"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Doména"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Povolit sdílení URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Události"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Nezpracované"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Odhlásit"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Více"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operační systém"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Zobrazení stránek"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Aktuálně"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Jeden den"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Sledovací kód"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Neznámý"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Zobrazit detaily"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Návštěvy"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Weby"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Smazat web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Žádná data."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Hesla se neschodují"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Nemáte nastavený žádný web."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Nemáte nastavený žádný web."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json
index 4401b5d8..d8da1c3e 100644
--- a/public/intl/messages/da-DK.json
+++ b/public/intl/messages/da-DK.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Tilbage"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Afvisningsprocent"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Godkendt adgangskode"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Lande"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Datointerval"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Slet hjemmeside"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Afvis"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domæne"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Aktivér delings-URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Hændelser"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Rå"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Log ud"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Mere"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operativsystemer"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Ejer"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Sidevisninger"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Realtid"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Nulstil statistikker"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Enkelt dag"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Ændre graf"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Sporingskode"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Ukendt"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Vis detajler"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Besøgende"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Hjemmesider"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistikker?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Slet hjemmeside"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Ingen data tilgængelig."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Adgangskoderne matcher ikke"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Du har ikke konfigureret nogen hjemmesider."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Nulstil statistikker"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Du har ikke konfigureret nogen hjemmesider."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json
index 8e2630ad..aa0b2d94 100644
--- a/public/intl/messages/de-CH.json
+++ b/public/intl/messages/de-CH.json
@@ -2,7 +2,7 @@
"label.access-code": [
{
"type": 0,
- "value": "Access code"
+ "value": "Zuegangscode"
}
],
"label.actions": [
@@ -14,7 +14,19 @@
"label.activity-log": [
{
"type": 0,
- "value": "Activity log"
+ "value": "Aktivitätsverlauf"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Zrugg"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Absprungsrate"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -86,19 +128,25 @@
"label.cities": [
{
"type": 0,
- "value": "Cities"
+ "value": "Städt"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
}
],
"label.clear-all": [
{
"type": 0,
- "value": "Clear all"
+ "value": "Alles lösche"
}
],
"label.confirm": [
{
"type": 0,
- "value": "Confirm"
+ "value": "Bestätige"
}
],
"label.confirm-password": [
@@ -107,10 +155,16 @@
"value": "Passwort widerhole"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
- "value": "Continue"
+ "value": "Wiiter"
}
],
"label.countries": [
@@ -119,22 +173,34 @@
"value": "Länder"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
- "value": "Create team"
+ "value": "Team erstelle"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Create user"
+ "value": "Benutzer erstelle"
}
],
"label.created": [
{
"type": 0,
- "value": "Created"
+ "value": "Erstellt"
}
],
"label.current-password": [
@@ -158,7 +224,13 @@
"label.data": [
{
"type": 0,
- "value": "Data"
+ "value": "Datä"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
}
],
"label.date-range": [
@@ -167,6 +239,12 @@
"value": "Datumsbereich"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Delete team"
+ "value": "Team lösche"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Delete user"
+ "value": "Benutzer lösche"
}
],
"label.delete-website": [
@@ -197,6 +275,12 @@
"value": "Websiite lösche"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Verwerfe"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Freigab-URL aktiviere"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Ereigniss"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,16 +395,70 @@
"value": "Rohdate"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
- "value": "Join"
+ "value": "Biträte"
}
],
"label.join-team": [
{
"type": 0,
- "value": "Join team"
+ "value": "Team biträte"
}
],
"label.language": [
@@ -324,19 +510,31 @@
"label.leave": [
{
"type": 0,
- "value": "Leave"
+ "value": "Verlah"
}
],
"label.leave-team": [
{
"type": 0,
- "value": "Leave team"
+ "value": "Team verlah"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
}
],
"label.login": [
{
"type": 0,
- "value": "Login"
+ "value": "Aamelde"
}
],
"label.logout": [
@@ -345,10 +543,22 @@
"value": "Abmelde"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
- "value": "Members"
+ "value": "Mitglieder"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
}
],
"label.mobile": [
@@ -363,6 +573,12 @@
"value": "Meh"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Keis"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Betriebssystem"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Bsitzer"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Siitenufrüef"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -430,7 +676,13 @@
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "Abfrage"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
}
],
"label.query-parameters": [
@@ -445,6 +697,12 @@
"value": "Echtzit"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -460,19 +718,31 @@
"label.regenerate": [
{
"type": 0,
- "value": "Regenerate"
+ "value": "Erneuere"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
}
],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "Regionä"
}
],
"label.remove": [
{
"type": 0,
- "value": "Remove"
+ "value": "Entferne"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
}
],
"label.required": [
@@ -493,10 +763,22 @@
"value": "Statistik zruggsetze"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
- "value": "Role"
+ "value": "Rollä"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
}
],
"label.save": [
@@ -511,10 +793,16 @@
"value": "Bildschirmuflösige"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
- "value": "Select website"
+ "value": "Websiite uuswähle"
}
],
"label.sessions": [
@@ -541,6 +829,12 @@
"value": "Ein Tag"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -556,7 +850,7 @@
"label.team-guest": [
{
"type": 0,
- "value": "Team guest"
+ "value": "Team Gast"
}
],
"label.team-id": [
@@ -568,13 +862,25 @@
"label.team-member": [
{
"type": 0,
- "value": "Team member"
+ "value": "Team Mitglied"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
}
],
"label.team-owner": [
{
"type": 0,
- "value": "Team owner"
+ "value": "Team Bsitzer"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
}
],
"label.teams": [
@@ -610,13 +916,13 @@
"label.timezone": [
{
"type": 0,
- "value": "Zitzone"
+ "value": "Ziitzone"
}
],
"label.title": [
{
"type": 0,
- "value": "Title"
+ "value": "Titel"
}
],
"label.today": [
@@ -631,12 +937,42 @@
"value": "Schaubilder umschalte"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Tracking Code"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,10 +985,28 @@
"value": "Unbekannt"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "Benutzer"
}
],
"label.username": [
@@ -664,13 +1018,19 @@
"label.users": [
{
"type": 0,
- "value": "Users"
+ "value": "Benutzer"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
}
],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "Azeige"
}
],
"label.view-details": [
@@ -679,6 +1039,12 @@
"value": "Details azeige"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,10 +1057,16 @@
"value": "Bsuecher"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
- "value": "Website ID"
+ "value": "Websiite ID"
}
],
"label.websites": [
@@ -703,6 +1075,12 @@
"value": "Websiite"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -760,7 +1138,7 @@
"message.confirm-leave": [
{
"type": 0,
- "value": "Are you sure you want to leave "
+ "value": "Sind Sie sich sicher, "
},
{
"type": 1,
@@ -768,7 +1146,7 @@
},
{
"type": 0,
- "value": "?"
+ "value": " zverlah?"
}
],
"message.confirm-reset": [
@@ -785,10 +1163,32 @@
"value": " zruggsetze wend?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Websiite lösche"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -810,7 +1210,7 @@
},
{
"type": 0,
- "value": " on "
+ "value": " uf "
},
{
"type": 1,
@@ -838,7 +1238,7 @@
"message.min-password-length": [
{
"type": 0,
- "value": "Minimum length of "
+ "value": "Miminamli längi vo "
},
{
"type": 1,
@@ -846,7 +1246,21 @@
},
{
"type": 0,
- "value": " characters"
+ "value": " Zeiche"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
}
],
"message.no-data-available": [
@@ -855,22 +1269,46 @@
"value": "Kei Date vorhande."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Passwörter stimmed ned überi"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Dem Team sind kei Websiite zuegordnet."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
- "value": "You have not created any teams."
+ "value": "Bisher sind no kei Teams erstellt worde."
}
],
"message.no-users": [
{
"type": 0,
- "value": "There are no users."
+ "value": "Da gits kei Benutzer"
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Es isch kei Websiite vorhande."
}
],
"message.page-not-found": [
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Statistik zruggsetze"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -900,27 +1346,25 @@
"message.share-url": [
{
"type": 0,
- "value": "Das isch die öffentlichi URL zum Teile für "
- },
- {
- "type": 1,
- "value": "target"
- },
- {
- "type": 0,
- "value": "."
+ "value": "Ihri Websiitestatistik isch under de folgende URL öffentlich zuegänglich:"
}
],
"message.team-already-member": [
{
"type": 0,
- "value": "You are already a member of the team."
+ "value": "Sie sind bereits es Mitglied vo dem Team."
}
],
"message.team-not-found": [
{
"type": 0,
- "value": "Team not found."
+ "value": "Team nöd gfunde."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websiite chönd vo jedem im Team agluegt werde"
}
],
"message.tracking-code": [
@@ -932,7 +1376,7 @@
"message.user-deleted": [
{
"type": 0,
- "value": "User deleted."
+ "value": "Benutzer glöscht."
}
],
"message.visitor-log": [
@@ -968,23 +1412,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Es isch kei Websiite vorhande."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json
index 84e252f4..136cd31d 100644
--- a/public/intl/messages/de-DE.json
+++ b/public/intl/messages/de-DE.json
@@ -17,6 +17,18 @@
"value": "Aktivitätsverlauf"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Beschreibung hinzufügen"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Durchschnitt"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Zurück"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Absprungrate"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Städte"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Passwort wiederholen"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,16 +173,28 @@
"value": "Länder"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Report erstellen"
+ }
+ ],
"label.create-team": [
{
"type": 0,
- "value": "Erstelle Team"
+ "value": "Team erstellen"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Erstelle Nutzer"
+ "value": "Benutzer erstellen"
}
],
"label.created": [
@@ -161,12 +227,24 @@
"value": "Daten"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Datumsbereich"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Lösche Team"
+ "value": "Team löschen"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Lösche Nutzer"
+ "value": "Benutzer löschen"
}
],
"label.delete-website": [
@@ -197,6 +275,12 @@
"value": "Webseite löschen"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Beschreibung"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Verwerfen"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Freigabe-URL aktivieren"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event daten"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Ereignisse"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Rohdaten"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Größer als"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Größer oder gleich"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -296,7 +482,7 @@
"label.last-days": [
{
"type": 0,
- "value": "Letzten "
+ "value": "Letzte "
},
{
"type": 1,
@@ -310,7 +496,7 @@
"label.last-hours": [
{
"type": 0,
- "value": "Letzten "
+ "value": "Letzte "
},
{
"type": 1,
@@ -333,6 +519,18 @@
"value": "Team verlassen"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Kleiner als"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Kleiner oder gleich"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Abmelden"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Mitglieder"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Mehr"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Keine"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Betriebssysteme"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Übersicht"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Besitzer"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Seitenaufrufe"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Abfragen"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Abfrage"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Echtzeit"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,10 +721,16 @@
"value": "Erneuern"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "Regionen"
}
],
"label.remove": [
@@ -475,6 +739,12 @@
"value": "Entfernen"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reporte"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Statistik zurücksetzen"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Rolle"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Abfrage starten"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Bildschirmauflösungen"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Datum auswählen"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Ein Tag"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Summe"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team Mitglied"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team Eigentümer"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,10 +937,40 @@
"value": "Schaubilder umschalten"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
- "value": "Tracking Kennung"
+ "value": "Tracking Code"
+ }
+ ],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
}
],
"label.unique-visitors": [
@@ -649,10 +985,28 @@
"value": "Unbekannt"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "Benutzer"
}
],
"label.username": [
@@ -664,13 +1018,19 @@
"label.users": [
{
"type": 0,
- "value": "Users"
+ "value": "Benutzer"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
}
],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "Anzeigen"
}
],
"label.view-details": [
@@ -679,6 +1039,12 @@
"value": "Details anzeigen"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,10 +1057,16 @@
"value": "Besucher"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Webseite"
+ }
+ ],
"label.website-id": [
{
"type": 0,
- "value": "Website ID"
+ "value": "Webseite ID"
}
],
"label.websites": [
@@ -703,6 +1075,12 @@
"value": "Webseiten"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": " zurücksetzen wollen?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Webseite löschen"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -810,7 +1210,7 @@
},
{
"type": 0,
- "value": " on "
+ "value": " auf "
},
{
"type": 1,
@@ -849,18 +1249,50 @@
"value": " Zeichen"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Keine Daten vorhanden."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Passwörter stimmen nicht überein"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "Keine Ergebnisse gefunden."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Diesem Team sind keine Websites zugeordnet."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -870,7 +1302,13 @@
"message.no-users": [
{
"type": 0,
- "value": "Hier gibt es keine Nutzer."
+ "value": "Hier gibt es keine Benutzer."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Es ist keine Webseite vorhanden."
}
],
"message.page-not-found": [
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Statistik zurücksetzen"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -900,15 +1346,7 @@
"message.share-url": [
{
"type": 0,
- "value": "Dies ist die öffentliche URL zum Teilen für "
- },
- {
- "type": 1,
- "value": "target"
- },
- {
- "type": 0,
- "value": "."
+ "value": "Ihre Webseitenstatistik ist unter der folgenden URL öffentlich zugänglich:"
}
],
"message.team-already-member": [
@@ -923,16 +1361,22 @@
"value": "Team nicht gefunden."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Webseiten können von jedem im Team eingesehen werden."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
- "value": "Tracking Kennung"
+ "value": "Tracking Code"
}
],
"message.user-deleted": [
{
"type": 0,
- "value": "Nutzer gelöscht."
+ "value": "Benutzer gelöscht."
}
],
"message.visitor-log": [
@@ -968,23 +1412,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "Diesem Team sind keine Websites zugeordnet."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Es ist keine Webseite vorhanden."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Webseiten können von jedem im Team eingesehen werden."
- }
]
}
diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json
index ecc6c306..d3ff5e42 100644
--- a/public/intl/messages/el-GR.json
+++ b/public/intl/messages/el-GR.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Διαχειριστής"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Πίσω"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Ποσοστό αναπήδησης"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Επιβεβαίωση κωδικού"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Χώρες"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Εύρος ημερομηνιών"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Διαγραφή ιστότοπου"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Dismiss"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Τομέας"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Ενεργοποίηση κοινής χρήσης URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Γεγονότα"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Ακατέργαστο"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Αποσύνδεση"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Περισσότερα"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Λειτουργικά συστήματα"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Προβολές σελίδας"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Realtime"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Ημερήσια"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Κωδικός παρακολούθησης"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Άγνωστο"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Λεπτομέρειες"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Επισκέπτες"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Ιστότοποι"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Διαγραφή ιστότοπου"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Δεν υπάρχουν διαθέσιμα δεδομένα."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Οι κωδικοί πρόσβασης δεν ταιριάζουν"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Δεν έχετε ρυθμίσει κανένα ιστότοπο."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Δεν έχετε ρυθμίσει κανένα ιστότοπο."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json
index a0dffae5..0e6ac614 100644
--- a/public/intl/messages/en-GB.json
+++ b/public/intl/messages/en-GB.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Back"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Bounce rate"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirm password"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Countries"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Date range"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Delete website"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Dismiss"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Enable share URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Events"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Raw"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Logout"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "More"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operating systems"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Page views"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Realtime"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Single day"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Tracking code"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Unknown"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "View details"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Visitors"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Websites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Delete website"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "No data available."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Passwords don't match"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "You don't have any websites configured."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "You don't have any websites configured."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json
index 0c7bb7dd..64a99ae1 100644
--- a/public/intl/messages/en-US.json
+++ b/public/intl/messages/en-US.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Back"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Bounce rate"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirm password"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Countries"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -146,7 +212,7 @@
"label.custom-range": [
{
"type": 0,
- "value": "Custom-range"
+ "value": "Custom range"
}
],
"label.dashboard": [
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Date range"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Delete website"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Dismiss"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Enable share URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Events"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Raw"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Logout"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "More"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operating systems"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Page views"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Realtime"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset website"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Single day"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Tracking code"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Unknown"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "View details"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Visitors"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Websites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,6 +1163,20 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
@@ -857,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "No data available."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Passwords do not match."
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -881,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "You do not have any websites configured."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -931,6 +1361,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -990,23 +1426,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "You do not have any websites configured."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json
new file mode 100644
index 00000000..43e10170
--- /dev/null
+++ b/public/intl/messages/es-ES.json
@@ -0,0 +1,1424 @@
+{
+ "label.access-code": [
+ {
+ "type": 0,
+ "value": "Código de acceso"
+ }
+ ],
+ "label.actions": [
+ {
+ "type": 0,
+ "value": "Acciones"
+ }
+ ],
+ "label.activity-log": [
+ {
+ "type": 0,
+ "value": "Registro de actividad"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Añadir"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Añadir descripción"
+ }
+ ],
+ "label.add-website": [
+ {
+ "type": 0,
+ "value": "Nuevo sitio web"
+ }
+ ],
+ "label.admin": [
+ {
+ "type": 0,
+ "value": "Administrador"
+ }
+ ],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "Después"
+ }
+ ],
+ "label.all": [
+ {
+ "type": 0,
+ "value": "Todos"
+ }
+ ],
+ "label.all-time": [
+ {
+ "type": 0,
+ "value": "Todos los tiempos"
+ }
+ ],
+ "label.analytics": [
+ {
+ "type": 0,
+ "value": "Analíticas"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Media"
+ }
+ ],
+ "label.average-visit-time": [
+ {
+ "type": 0,
+ "value": "Tiempo promedio de visita"
+ }
+ ],
+ "label.back": [
+ {
+ "type": 0,
+ "value": "Atrás"
+ }
+ ],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Antes"
+ }
+ ],
+ "label.bounce-rate": [
+ {
+ "type": 0,
+ "value": "Porcentaje de rebote"
+ }
+ ],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Desglose"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
+ "label.browsers": [
+ {
+ "type": 0,
+ "value": "Navegadores"
+ }
+ ],
+ "label.cancel": [
+ {
+ "type": 0,
+ "value": "Cancelar"
+ }
+ ],
+ "label.change-password": [
+ {
+ "type": 0,
+ "value": "Cambiar contraseña"
+ }
+ ],
+ "label.cities": [
+ {
+ "type": 0,
+ "value": "Ciudades"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
+ "label.clear-all": [
+ {
+ "type": 0,
+ "value": "Limpiar todo"
+ }
+ ],
+ "label.confirm": [
+ {
+ "type": 0,
+ "value": "Confirmar"
+ }
+ ],
+ "label.confirm-password": [
+ {
+ "type": 0,
+ "value": "Confirmar contraseña"
+ }
+ ],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contiene"
+ }
+ ],
+ "label.continue": [
+ {
+ "type": 0,
+ "value": "Continuar"
+ }
+ ],
+ "label.countries": [
+ {
+ "type": 0,
+ "value": "Países"
+ }
+ ],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Crear reporte"
+ }
+ ],
+ "label.create-team": [
+ {
+ "type": 0,
+ "value": "Crear equipo"
+ }
+ ],
+ "label.create-user": [
+ {
+ "type": 0,
+ "value": "Crear usuario"
+ }
+ ],
+ "label.created": [
+ {
+ "type": 0,
+ "value": "Creado"
+ }
+ ],
+ "label.current-password": [
+ {
+ "type": 0,
+ "value": "Contraseña actual"
+ }
+ ],
+ "label.custom-range": [
+ {
+ "type": 0,
+ "value": "Intervalo personalizado"
+ }
+ ],
+ "label.dashboard": [
+ {
+ "type": 0,
+ "value": "Panel de control"
+ }
+ ],
+ "label.data": [
+ {
+ "type": 0,
+ "value": "Datos"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
+ "label.date-range": [
+ {
+ "type": 0,
+ "value": "Intervalo de fechas"
+ }
+ ],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
+ "label.default-date-range": [
+ {
+ "type": 0,
+ "value": "Intervalo por defecto"
+ }
+ ],
+ "label.delete": [
+ {
+ "type": 0,
+ "value": "Eliminar"
+ }
+ ],
+ "label.delete-team": [
+ {
+ "type": 0,
+ "value": "Eliminar equipo"
+ }
+ ],
+ "label.delete-user": [
+ {
+ "type": 0,
+ "value": "Eliminar usuario"
+ }
+ ],
+ "label.delete-website": [
+ {
+ "type": 0,
+ "value": "Eliminar sitio"
+ }
+ ],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Descripciones"
+ }
+ ],
+ "label.desktop": [
+ {
+ "type": 0,
+ "value": "Escritorio"
+ }
+ ],
+ "label.details": [
+ {
+ "type": 0,
+ "value": "Detalles"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
+ "label.devices": [
+ {
+ "type": 0,
+ "value": "Dispositivos"
+ }
+ ],
+ "label.dismiss": [
+ {
+ "type": 0,
+ "value": "Ignorar"
+ }
+ ],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "No contiene"
+ }
+ ],
+ "label.domain": [
+ {
+ "type": 0,
+ "value": "Dominio"
+ }
+ ],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
+ "label.edit": [
+ {
+ "type": 0,
+ "value": "Editar"
+ }
+ ],
+ "label.edit-dashboard": [
+ {
+ "type": 0,
+ "value": "Editar panel"
+ }
+ ],
+ "label.enable-share-url": [
+ {
+ "type": 0,
+ "value": "Habilitar compartir URL"
+ }
+ ],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Evento"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Datos de evento"
+ }
+ ],
+ "label.events": [
+ {
+ "type": 0,
+ "value": "Eventos"
+ }
+ ],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Campo"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Campos"
+ }
+ ],
+ "label.filter-combined": [
+ {
+ "type": 0,
+ "value": "Combinado"
+ }
+ ],
+ "label.filter-raw": [
+ {
+ "type": 0,
+ "value": "En crudo"
+ }
+ ],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filtros"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Mayor que"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Mayor que o igual a"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Es igual a"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "No es igual a"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
+ "label.join": [
+ {
+ "type": 0,
+ "value": "Unir"
+ }
+ ],
+ "label.join-team": [
+ {
+ "type": 0,
+ "value": "Unirse al equipo"
+ }
+ ],
+ "label.language": [
+ {
+ "type": 0,
+ "value": "Idioma"
+ }
+ ],
+ "label.languages": [
+ {
+ "type": 0,
+ "value": "Idiomas"
+ }
+ ],
+ "label.laptop": [
+ {
+ "type": 0,
+ "value": "Portátil"
+ }
+ ],
+ "label.last-days": [
+ {
+ "type": 0,
+ "value": "Últimos "
+ },
+ {
+ "type": 1,
+ "value": "x"
+ },
+ {
+ "type": 0,
+ "value": " días"
+ }
+ ],
+ "label.last-hours": [
+ {
+ "type": 0,
+ "value": "Últimas "
+ },
+ {
+ "type": 1,
+ "value": "x"
+ },
+ {
+ "type": 0,
+ "value": " horas"
+ }
+ ],
+ "label.leave": [
+ {
+ "type": 0,
+ "value": "Abandonar"
+ }
+ ],
+ "label.leave-team": [
+ {
+ "type": 0,
+ "value": "Abandonar equipo"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Menor que"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Menor que o igual a"
+ }
+ ],
+ "label.login": [
+ {
+ "type": 0,
+ "value": "Iniciar sesión"
+ }
+ ],
+ "label.logout": [
+ {
+ "type": 0,
+ "value": "Cerrar sesión"
+ }
+ ],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Máx"
+ }
+ ],
+ "label.members": [
+ {
+ "type": 0,
+ "value": "Miembros"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Mín"
+ }
+ ],
+ "label.mobile": [
+ {
+ "type": 0,
+ "value": "Móvil"
+ }
+ ],
+ "label.more": [
+ {
+ "type": 0,
+ "value": "Más"
+ }
+ ],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
+ "label.name": [
+ {
+ "type": 0,
+ "value": "Nombre"
+ }
+ ],
+ "label.new-password": [
+ {
+ "type": 0,
+ "value": "Nueva contraseña"
+ }
+ ],
+ "label.none": [
+ {
+ "type": 0,
+ "value": "Ninguno"
+ }
+ ],
+ "label.os": [
+ {
+ "type": 0,
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Resumen"
+ }
+ ],
+ "label.owner": [
+ {
+ "type": 0,
+ "value": "Propietario"
+ }
+ ],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
+ "label.page-views": [
+ {
+ "type": 0,
+ "value": "Vistas"
+ }
+ ],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
+ "label.pages": [
+ {
+ "type": 0,
+ "value": "Páginas"
+ }
+ ],
+ "label.password": [
+ {
+ "type": 0,
+ "value": "Contraseña"
+ }
+ ],
+ "label.powered-by": [
+ {
+ "type": 0,
+ "value": "Con la ayuda de "
+ },
+ {
+ "type": 1,
+ "value": "name"
+ }
+ ],
+ "label.profile": [
+ {
+ "type": 0,
+ "value": "Perfil"
+ }
+ ],
+ "label.queries": [
+ {
+ "type": 0,
+ "value": "Consultas"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
+ "label.query-parameters": [
+ {
+ "type": 0,
+ "value": "Parámetros de petición"
+ }
+ ],
+ "label.realtime": [
+ {
+ "type": 0,
+ "value": "Tiempo real"
+ }
+ ],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
+ "label.referrers": [
+ {
+ "type": 0,
+ "value": "Referido desde"
+ }
+ ],
+ "label.refresh": [
+ {
+ "type": 0,
+ "value": "Actualizar"
+ }
+ ],
+ "label.regenerate": [
+ {
+ "type": 0,
+ "value": "Regenerar"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
+ "label.regions": [
+ {
+ "type": 0,
+ "value": "Regiones"
+ }
+ ],
+ "label.remove": [
+ {
+ "type": 0,
+ "value": "Quitar"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reportes"
+ }
+ ],
+ "label.required": [
+ {
+ "type": 0,
+ "value": "Obligatorio"
+ }
+ ],
+ "label.reset": [
+ {
+ "type": 0,
+ "value": "Reiniciar"
+ }
+ ],
+ "label.reset-website": [
+ {
+ "type": 0,
+ "value": "Reiniciar estadísticas"
+ }
+ ],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
+ "label.role": [
+ {
+ "type": 0,
+ "value": "Rol"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Ejecutar consulta"
+ }
+ ],
+ "label.save": [
+ {
+ "type": 0,
+ "value": "Guardar"
+ }
+ ],
+ "label.screens": [
+ {
+ "type": 0,
+ "value": "Pantallas"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Seleccionar fecha"
+ }
+ ],
+ "label.select-website": [
+ {
+ "type": 0,
+ "value": "Seleccionar sitio web"
+ }
+ ],
+ "label.sessions": [
+ {
+ "type": 0,
+ "value": "Sesiones"
+ }
+ ],
+ "label.settings": [
+ {
+ "type": 0,
+ "value": "Configuraciones"
+ }
+ ],
+ "label.share-url": [
+ {
+ "type": 0,
+ "value": "Compartir URL"
+ }
+ ],
+ "label.single-day": [
+ {
+ "type": 0,
+ "value": "Un solo día"
+ }
+ ],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Suma"
+ }
+ ],
+ "label.tablet": [
+ {
+ "type": 0,
+ "value": "Tableta"
+ }
+ ],
+ "label.team": [
+ {
+ "type": 0,
+ "value": "Equipo"
+ }
+ ],
+ "label.team-guest": [
+ {
+ "type": 0,
+ "value": "Invitado al equipo"
+ }
+ ],
+ "label.team-id": [
+ {
+ "type": 0,
+ "value": "ID de equipo"
+ }
+ ],
+ "label.team-member": [
+ {
+ "type": 0,
+ "value": "Miembro del equipo"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
+ "label.team-owner": [
+ {
+ "type": 0,
+ "value": "Admin. del equipo"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
+ "label.teams": [
+ {
+ "type": 0,
+ "value": "Equipos"
+ }
+ ],
+ "label.theme": [
+ {
+ "type": 0,
+ "value": "Tema"
+ }
+ ],
+ "label.this-month": [
+ {
+ "type": 0,
+ "value": "Este mes"
+ }
+ ],
+ "label.this-week": [
+ {
+ "type": 0,
+ "value": "Esta semana"
+ }
+ ],
+ "label.this-year": [
+ {
+ "type": 0,
+ "value": "Este año"
+ }
+ ],
+ "label.timezone": [
+ {
+ "type": 0,
+ "value": "Zona horaria"
+ }
+ ],
+ "label.title": [
+ {
+ "type": 0,
+ "value": "Título"
+ }
+ ],
+ "label.today": [
+ {
+ "type": 0,
+ "value": "Hoy"
+ }
+ ],
+ "label.toggle-charts": [
+ {
+ "type": 0,
+ "value": "Alternar gráficas"
+ }
+ ],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total de registros"
+ }
+ ],
+ "label.tracking-code": [
+ {
+ "type": 0,
+ "value": "Código de rastreo"
+ }
+ ],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "Verdadero"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Tipo"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Único"
+ }
+ ],
+ "label.unique-visitors": [
+ {
+ "type": 0,
+ "value": "Visitantes únicos"
+ }
+ ],
+ "label.unknown": [
+ {
+ "type": 0,
+ "value": "Desconocida"
+ }
+ ],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Sin título"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
+ "label.user": [
+ {
+ "type": 0,
+ "value": "Usuario"
+ }
+ ],
+ "label.username": [
+ {
+ "type": 0,
+ "value": "Nombre de usuario"
+ }
+ ],
+ "label.users": [
+ {
+ "type": 0,
+ "value": "Usuarios"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Valor"
+ }
+ ],
+ "label.view": [
+ {
+ "type": 0,
+ "value": "Visualizar"
+ }
+ ],
+ "label.view-details": [
+ {
+ "type": 0,
+ "value": "Ver detalles"
+ }
+ ],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "Ver sólo"
+ }
+ ],
+ "label.views": [
+ {
+ "type": 0,
+ "value": "Vistas"
+ }
+ ],
+ "label.visitors": [
+ {
+ "type": 0,
+ "value": "Visitantes"
+ }
+ ],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Sitio web"
+ }
+ ],
+ "label.website-id": [
+ {
+ "type": 0,
+ "value": "ID del sitio web"
+ }
+ ],
+ "label.websites": [
+ {
+ "type": 0,
+ "value": "Sitios web"
+ }
+ ],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Ventana"
+ }
+ ],
+ "label.yesterday": [
+ {
+ "type": 0,
+ "value": "Ayer"
+ }
+ ],
+ "message.active-users": [
+ {
+ "type": 1,
+ "value": "x"
+ },
+ {
+ "type": 0,
+ "value": " "
+ },
+ {
+ "offset": 0,
+ "options": {
+ "one": {
+ "value": [
+ {
+ "type": 0,
+ "value": "activo"
+ }
+ ]
+ },
+ "other": {
+ "value": [
+ {
+ "type": 0,
+ "value": "activos"
+ }
+ ]
+ }
+ },
+ "pluralType": "cardinal",
+ "type": 6,
+ "value": "x"
+ }
+ ],
+ "message.confirm-delete": [
+ {
+ "type": 0,
+ "value": "¿Seguro que quieres eliminar "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "?"
+ }
+ ],
+ "message.confirm-leave": [
+ {
+ "type": 0,
+ "value": "¿Seguro que quieres abandonar "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "?"
+ }
+ ],
+ "message.confirm-reset": [
+ {
+ "type": 0,
+ "value": "¿Seguro que quieres BORRAR las analíticas de "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "?"
+ }
+ ],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "Para borrar esta cuenta, escribe "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " a continuación para confirmar."
+ }
+ ],
+ "message.delete-website": [
+ {
+ "type": 0,
+ "value": "Para borrar este sitio web, escribe "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " a continuación para confirmar."
+ }
+ ],
+ "message.delete-website-warning": [
+ {
+ "type": 0,
+ "value": "Toda la información relacionada será eliminada."
+ }
+ ],
+ "message.error": [
+ {
+ "type": 0,
+ "value": "Algo falló."
+ }
+ ],
+ "message.event-log": [
+ {
+ "type": 1,
+ "value": "event"
+ },
+ {
+ "type": 0,
+ "value": " en "
+ },
+ {
+ "type": 1,
+ "value": "url"
+ }
+ ],
+ "message.go-to-settings": [
+ {
+ "type": 0,
+ "value": "Ir a la configuración"
+ }
+ ],
+ "message.incorrect-username-password": [
+ {
+ "type": 0,
+ "value": "Nombre de usuario o contraseña incorrectos."
+ }
+ ],
+ "message.invalid-domain": [
+ {
+ "type": 0,
+ "value": "Dominio inválido"
+ }
+ ],
+ "message.min-password-length": [
+ {
+ "type": 0,
+ "value": "Longitud mínima de "
+ },
+ {
+ "type": 1,
+ "value": "n"
+ },
+ {
+ "type": 0,
+ "value": " caracteres"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
+ "message.no-data-available": [
+ {
+ "type": 0,
+ "value": "No hay información disponible."
+ }
+ ],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No hay datos de eventos disponibles."
+ }
+ ],
+ "message.no-match-password": [
+ {
+ "type": 0,
+ "value": "Las contraseñas no coinciden"
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No se encontraron resultados."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Este equipo no tiene ningún sitio web configurado."
+ }
+ ],
+ "message.no-teams": [
+ {
+ "type": 0,
+ "value": "No has creado ningún equipo."
+ }
+ ],
+ "message.no-users": [
+ {
+ "type": 0,
+ "value": "No hay usuarios."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "No tienes ningún sitio web configurado."
+ }
+ ],
+ "message.page-not-found": [
+ {
+ "type": 0,
+ "value": "Página no encontrada"
+ }
+ ],
+ "message.reset-website": [
+ {
+ "type": 0,
+ "value": "Para reiniciar este sitio web, escribe "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " a continuación para confirmar."
+ }
+ ],
+ "message.reset-website-warning": [
+ {
+ "type": 0,
+ "value": "Todas las estadísticas de esta página serán eliminadas, pero el código de rastreo permanecerá intacto."
+ }
+ ],
+ "message.saved": [
+ {
+ "type": 0,
+ "value": "Guardado."
+ }
+ ],
+ "message.share-url": [
+ {
+ "type": 0,
+ "value": "Esta es la URL pública para "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "."
+ }
+ ],
+ "message.team-already-member": [
+ {
+ "type": 0,
+ "value": "Ya eres miembro de este equipo."
+ }
+ ],
+ "message.team-not-found": [
+ {
+ "type": 0,
+ "value": "Equipo no encontrado."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Las analíticas de tus sitios web pueden ser vistas por cualquier miembro del equipo."
+ }
+ ],
+ "message.tracking-code": [
+ {
+ "type": 0,
+ "value": "Código de rastreo"
+ }
+ ],
+ "message.user-deleted": [
+ {
+ "type": 0,
+ "value": "Usuario eliminado."
+ }
+ ],
+ "message.visitor-log": [
+ {
+ "type": 0,
+ "value": "Visitante desde "
+ },
+ {
+ "type": 1,
+ "value": "country"
+ },
+ {
+ "type": 0,
+ "value": " usando "
+ },
+ {
+ "type": 1,
+ "value": "browser"
+ },
+ {
+ "type": 0,
+ "value": " en "
+ },
+ {
+ "type": 1,
+ "value": "os"
+ },
+ {
+ "type": 0,
+ "value": " "
+ },
+ {
+ "type": 1,
+ "value": "device"
+ }
+ ]
+}
diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json
index fdc2483d..c238951f 100644
--- a/public/intl/messages/es-MX.json
+++ b/public/intl/messages/es-MX.json
@@ -17,6 +17,18 @@
"value": "Registro de actividad"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrador"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analíticas"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Atrás"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Porcentaje de rebote"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Ciudades"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirmar contraseña"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Países"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Datos"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Intervalo de fechas"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Eliminar sitio"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Detalles"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Ignorar"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Dominio"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Habilitar compartir URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Evento"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Eventos"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Personalizado"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Abandonar equipo"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Cerrar sesión"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Miembros"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Más"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Ninguno"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistemas operativos"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Propietario"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Vistas"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Consultas"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Tiempo real"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerar"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Quitar"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reiniciar estadísticas"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Rol"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Pantallas"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Día"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Miembro de equipo"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Admin. del equipo"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Alternar gráficas"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Código de rastreo"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Desconocida"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Usuarios"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Ver detalles"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Visitantes"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Sitios"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Eliminar sitio web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " caracteres"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "No hay información disponible."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Las contraseñas no coinciden"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Este equipo no tiene ningún sitio web configurado."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "No hay usuarios."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "No tienes ningún sitio configurado."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reiniciar estadísticas"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Equipo no encontrado."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Las analíticas de tus sitios pueden verse por cualquier miembro del equipo."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "Este equipo no tiene ningún sitio web configurado."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "No tienes ningún sitio configurado."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Las analíticas de tus sitios pueden verse por cualquier miembro del equipo."
- }
]
}
diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json
index 8f9cdc68..757b5ae8 100644
--- a/public/intl/messages/fa-IR.json
+++ b/public/intl/messages/fa-IR.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "مدیر"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "برگشت"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "نرخ Bounce"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "تایید رمز"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "کشورها"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "محدودهی تاریخ"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "حذف وبسایت"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "رد کردن"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "دامنه"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "فعال کردن اشتراک گذاری URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "رویدادها"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "خام"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "خروج"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "بیشتر"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "سیستمعاملها"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "ایجاد شده توسط"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "بازدید صفحه"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "آمار زنده"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "بازنشانی آمار"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "یک روز"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "کد رهگیری"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "ناشناخته"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "مشاهدهی جزئیات"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "بازدیدکننده"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "وبسایتها"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": " مطمئن هستید?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "حذف وبسایت"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "اطلاعاتی موجود نیست."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "رمزها یکسان نیستند"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "شما هیچ وبسایتی را پیکربندی نکردهاید."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "بازنشانی آمار"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "شما هیچ وبسایتی را پیکربندی نکردهاید."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json
index 9a23d285..5fdf5b19 100644
--- a/public/intl/messages/fi-FI.json
+++ b/public/intl/messages/fi-FI.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Järjestelmänvalvoja"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Takaisin"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Välitön poistuminen"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Vahvista salasana"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Maat"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Ajanjakso"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Poista verkkosivu"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Hylkää"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Verkkotunnus"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Ota jakamisen URL-osoite käyttöön"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Tapahtumat"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Käsittelemätön"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Kirjaudu ulos"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Lisää"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Käyttöjärjestelmät"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Omistaja"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Sivun näyttökerrat"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Juuri nyt"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Nollaa tilastot"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Yksi päivä"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Kytke kaaviot päälle/pois"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Seurantakoodi"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Tuntematon"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Katso tiedot"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Vierailijat"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Verkkosivut"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": " tilastot?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Poista verkkosivu"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Tietoja ei ole käytettävissä."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Salasanat eivät täsmää"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Sinulla ei ole määritettyjä verkkosivustoja."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Nollaa tilastot"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Sinulla ei ole määritettyjä verkkosivustoja."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json
index 52e2bc33..3eb3f452 100644
--- a/public/intl/messages/fo-FO.json
+++ b/public/intl/messages/fo-FO.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Fyrisitari"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Aftur"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Bounce prosenttal"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Vátta loyniorð"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Lond"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Vel dato"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Sletta heimasíðu"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Lat fara"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Økisnavn"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Virkja deili leinki"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Hendingar/tiltøk"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Óviðgjørt"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Rita út"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Meira"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Stýrikervir"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Opnaðar síðir"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Beinleiðis"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Einkultur dagur"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Spori kota"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Ókent"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Vís frágreiðing"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Vitjandi"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Heimasíður"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Sletta heimasíðu"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Einki data tøk."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Loyniorðini eru ikki eins"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Tú hevur ongar heimasíður stillaða til."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Tú hevur ongar heimasíður stillaða til."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json
index 7361eca2..326c99a4 100644
--- a/public/intl/messages/fr-FR.json
+++ b/public/intl/messages/fr-FR.json
@@ -17,6 +17,18 @@
"value": "Journal d'activité"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Ajouter"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Ajouter une description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrateur"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "Après"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Moyenne"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Retour"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Avant"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Taux de rebond"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Répartition"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Villes"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirmation du mot de passe"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contient"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Pays"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Créer un rapport"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Données"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Période"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Supprimer le site"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Détails"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Ignorer"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Ne contient pas"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domaine"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Activer l'URL de partage"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Données d'événements"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Événements"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "Faux"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Champ"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Champs"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Brut"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filtres"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Entonnoir"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Supérieur à"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Supérieur ou égal à"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Est égal"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "N'est pas égal"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -325,6 +511,18 @@
"value": "Quitter l'équipe"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Inférieur à"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Inférieur ou égal à"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -337,12 +535,24 @@
"value": "Déconnexion"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Membres"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -355,6 +565,12 @@
"value": "Plus"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -373,10 +589,16 @@
"value": "Aucun·e"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Systèmes d'exploitation"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Vue d'ensemble"
}
],
"label.owner": [
@@ -385,12 +607,36 @@
"value": "Propriétaire"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Pages vues"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -422,7 +668,13 @@
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "Requêtes"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Requête"
}
],
"label.query-parameters": [
@@ -437,10 +689,16 @@
"value": "Temps réel"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
- "value": "Sources"
+ "value": "Sites référents"
}
],
"label.refresh": [
@@ -455,6 +713,12 @@
"value": "Régénérer"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -467,6 +731,12 @@
"value": "Retirer"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Rapports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -485,12 +755,24 @@
"value": "Réinitialiser les statistiques"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Rôle"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Éxécuter la requête"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -503,6 +785,12 @@
"value": "Résolutions d'écran"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Choisir une période"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -533,6 +821,12 @@
"value": "Journée"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Somme"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -563,12 +857,24 @@
"value": "Membre de l'équipe"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Propriétaire de l'équipe"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -623,12 +929,42 @@
"value": "Afficher/Masquer les graphiques"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Nombre d'enregistrements"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Code de suivi"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "Vrai"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -641,6 +977,24 @@
"value": "Inconnu"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Sans titre"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -659,6 +1013,12 @@
"value": "Utilisateurs"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Valeur"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -671,6 +1031,12 @@
"value": "Voir les détails"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "Consultation"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -683,6 +1049,12 @@
"value": "Visiteurs"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -695,6 +1067,12 @@
"value": "Sites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Fenêtre"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -781,6 +1159,20 @@
"value": " ?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "Pour supprimer ce compte, taper "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " ci-dessous pour confirmer."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
@@ -853,28 +1245,66 @@
"value": " caractères"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Aucune donnée disponible."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "Aucune donnée d'événement disponible."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Les mots de passe ne correspondent pas"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "Aucun résultat n'a été trouvé."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Cette équipe n'a aucun site."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
- "value": "Vous n'avez créé aucune équipe."
+ "value": "Vous n'avez pas créé d'équipe."
}
],
"message.no-users": [
{
"type": 0,
- "value": "Il n'y aucun utilisateur."
+ "value": "Aucun utilisateur."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Vous n'avez pas configuré de site."
}
],
"message.page-not-found": [
@@ -886,7 +1316,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Réinitialiser les statistiques"
+ "value": "Pour réinitialiser ce site, taper "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " ci-dessous pour confirmer."
}
],
"message.reset-website-warning": [
@@ -919,6 +1357,12 @@
"value": "Équipe non trouvée."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Les sites peuvent être vus par tout utilisateur dans l'équipe."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -964,23 +1408,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "Cette équipe n'a aucun site."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Vous n'avez configuré aucun site."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Les sites peuvent être vus par tout utilisateur dans l'équipe."
- }
]
}
diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json
index 114a55eb..d086b57f 100644
--- a/public/intl/messages/ga-ES.json
+++ b/public/intl/messages/ga-ES.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administradora"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Atrás"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Proporción de rebote"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirmar contrasinal"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Países"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Rango temporal"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Eliminar sitio web"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Desbotar"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Dominio"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Activar URL de compartición"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Eventos"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Raw"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Pechar sesión"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Máis"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistemas operativos"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Dona"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Vistas de páxinas"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Agora mesmo"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -490,7 +760,21 @@
"label.reset-website": [
{
"type": 0,
- "value": "Restablecer estatísticas"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
}
],
"label.role": [
@@ -499,6 +783,12 @@
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +801,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +837,12 @@
"value": "Un só día"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +873,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +945,42 @@
"value": "Activación das gráficas"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Código de seguimento"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +993,24 @@
"value": "Descoñecido"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1029,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1047,12 @@
"value": "Ver detalles"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1065,12 @@
"value": "Visitantes"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1083,12 @@
"value": "Sitios web"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1171,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Eliminar sitio web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1257,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Sen datos dispoñibles."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Non concordan os contrasinais"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1313,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Non tes sitios web configurados."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1328,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Restablecer estatísticas"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1377,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1428,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Non tes sitios web configurados."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json
index 57704b11..dc206268 100644
--- a/public/intl/messages/he-IL.json
+++ b/public/intl/messages/he-IL.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "מנהל"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "חזרה"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Bounce rate"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "אישור סיסמה"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "מדינות"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "טווח תאריכים"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "הסרת אתר"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "שיחרור"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "דומיין"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "הפעלת URL שיתוף"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "אירועים"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "גולמי"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -325,6 +511,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -337,12 +535,24 @@
"value": "התנתקות"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -355,6 +565,12 @@
"value": "עוד"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -373,10 +589,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "מערכות הפעלה"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -385,12 +607,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "צפיות בדפים"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -425,6 +671,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -437,6 +689,12 @@
"value": "זמן אמת"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -455,6 +713,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -467,6 +731,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -485,12 +755,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -503,6 +785,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -533,6 +821,12 @@
"value": "יום בודד"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -563,12 +857,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -623,12 +929,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "קוד מעקב"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -641,6 +977,24 @@
"value": "לא ידוע"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -659,6 +1013,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -671,6 +1031,12 @@
"value": "פרטים נוספים"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -683,6 +1049,12 @@
"value": "מבקרים"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -695,6 +1067,12 @@
"value": "אתרים"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -777,10 +1155,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "הסרת אתר"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -841,18 +1241,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "אין מידע זמין"
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "סיסמאות לא תואמות"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -865,6 +1297,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "לא מוגדרים אתרים"
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -874,7 +1312,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -911,6 +1357,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -956,23 +1408,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "לא מוגדרים אתרים"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json
index aa550dfb..91f1f026 100644
--- a/public/intl/messages/hi-IN.json
+++ b/public/intl/messages/hi-IN.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "प्रशासक"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "पीछे"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "उछाल दर"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "पासवर्ड की पुष्टि कीजिये"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "देश"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "तिथि सीमा"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "वेबसाइट हटाएं"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "खारिज कीजिये"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "डोमेन"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "शेयर URL सक्षम करें"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "स्पर्धाएँ"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "रॉ"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "लॉग आउट"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "और"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "ऑपरेटिंग सिस्टम"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "पृष्ठ दृश्य"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "वास्तव काल"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "एक दिन"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "ट्रैकिंग कोड"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "अज्ञात"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "विवरण देखें"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "आगंतुकों"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "वेबसाइटों"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "वेबसाइट हटाएं"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "कोई डेटा उपलब्ध नहीं है।"
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "पासवर्ड मेल नहीं खाते"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "आपके पास कोई वेबसाइट कॉन्फ़िगर नहीं है।"
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -960,23 +1412,5 @@
"type": 0,
"value": " यन्त्र पर"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "आपके पास कोई वेबसाइट कॉन्फ़िगर नहीं है।"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json
index e9bec50f..cd8d4d38 100644
--- a/public/intl/messages/hr-HR.json
+++ b/public/intl/messages/hr-HR.json
@@ -1,26 +1,32 @@
{
- "label.accounts": [
+ "label.access-code": [
{
"type": 0,
- "value": "Računi"
+ "value": "Access code"
}
],
- "label.add-account": [
+ "label.actions": [
{
"type": 0,
- "value": "Dodaj račun"
+ "value": "Actions"
}
],
- "label.add-column": [
+ "label.activity-log": [
{
"type": 0,
- "value": "Dodaj stupac"
+ "value": "Activity log"
}
],
- "label.add-filter": [
+ "label.add": [
{
"type": 0,
- "value": "Dodaj filter"
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
@@ -29,12 +35,18 @@
"value": "Dodaj web stranicu"
}
],
- "label.administrator": [
+ "label.admin": [
{
"type": 0,
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,10 +59,22 @@
"value": "Svo vrijeme"
}
],
- "label.all-websites": [
+ "label.analytics": [
{
"type": 0,
- "value": "Sve web stranice"
+ "value": "Analytics"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
+ "label.average-visit-time": [
+ {
+ "type": 0,
+ "value": "Average visit time"
}
],
"label.back": [
@@ -59,6 +83,36 @@
"value": "Natrag "
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
+ "label.bounce-rate": [
+ {
+ "type": 0,
+ "value": "Bounce rate"
+ }
+ ],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
+ "label.browsers": [
+ {
+ "type": 0,
+ "value": "Browsers"
+ }
+ ],
"label.cancel": [
{
"type": 0,
@@ -71,16 +125,82 @@
"value": "Promijeni lozinku"
}
],
+ "label.cities": [
+ {
+ "type": 0,
+ "value": "Cities"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
+ "label.clear-all": [
+ {
+ "type": 0,
+ "value": "Clear all"
+ }
+ ],
+ "label.confirm": [
+ {
+ "type": 0,
+ "value": "Confirm"
+ }
+ ],
"label.confirm-password": [
{
"type": 0,
"value": "Potvrdi lozinku"
}
],
- "label.copy-to-clipboard": [
+ "label.contains": [
{
"type": 0,
- "value": "Kopiraj u međuspremnik"
+ "value": "Contains"
+ }
+ ],
+ "label.continue": [
+ {
+ "type": 0,
+ "value": "Continue"
+ }
+ ],
+ "label.countries": [
+ {
+ "type": 0,
+ "value": "Countries"
+ }
+ ],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
+ "label.create-team": [
+ {
+ "type": 0,
+ "value": "Create team"
+ }
+ ],
+ "label.create-user": [
+ {
+ "type": 0,
+ "value": "Create user"
+ }
+ ],
+ "label.created": [
+ {
+ "type": 0,
+ "value": "Created"
}
],
"label.current-password": [
@@ -101,12 +221,30 @@
"value": "Nadzorna ploča"
}
],
+ "label.data": [
+ {
+ "type": 0,
+ "value": "Data"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Raspon datuma"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -119,10 +257,16 @@
"value": "Obriši"
}
],
- "label.delete-account": [
+ "label.delete-team": [
{
"type": 0,
- "value": "Obriši račun"
+ "value": "Delete team"
+ }
+ ],
+ "label.delete-user": [
+ {
+ "type": 0,
+ "value": "Delete user"
}
],
"label.delete-website": [
@@ -131,34 +275,70 @@
"value": "Obriši web stranicu"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
+ "label.desktop": [
+ {
+ "type": 0,
+ "value": "Desktop"
+ }
+ ],
+ "label.details": [
+ {
+ "type": 0,
+ "value": "Details"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
+ "label.devices": [
+ {
+ "type": 0,
+ "value": "Devices"
+ }
+ ],
"label.dismiss": [
{
"type": 0,
"value": "Odbaci"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domena"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
"value": "Uredi"
}
],
- "label.edit-account": [
+ "label.edit-dashboard": [
{
"type": 0,
- "value": "Uredi račun"
- }
- ],
- "label.edit-website": [
- {
- "type": 0,
- "value": "Uredi web stranicu"
+ "value": "Edit dashboard"
}
],
"label.enable-share-url": [
@@ -167,28 +347,118 @@
"value": "Omogući dijeljenje poveznice"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
"label.event-data": [
{
"type": 0,
"value": "Podaci događaja"
}
],
- "label.field-name": [
+ "label.events": [
{
"type": 0,
- "value": "Naziv polja"
+ "value": "Events"
}
],
- "label.invalid": [
+ "label.false": [
{
"type": 0,
- "value": "Neispravno"
+ "value": "False"
}
],
- "label.invalid-domain": [
+ "label.field": [
{
"type": 0,
- "value": "Neispravna domena"
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
+ "label.filter-combined": [
+ {
+ "type": 0,
+ "value": "Combined"
+ }
+ ],
+ "label.filter-raw": [
+ {
+ "type": 0,
+ "value": "Raw"
+ }
+ ],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
+ "label.join": [
+ {
+ "type": 0,
+ "value": "Join"
+ }
+ ],
+ "label.join-team": [
+ {
+ "type": 0,
+ "value": "Join team"
}
],
"label.language": [
@@ -197,6 +467,18 @@
"value": "Jezik"
}
],
+ "label.languages": [
+ {
+ "type": 0,
+ "value": "Languages"
+ }
+ ],
+ "label.laptop": [
+ {
+ "type": 0,
+ "value": "Laptop"
+ }
+ ],
"label.last-days": [
{
"type": 0,
@@ -225,14 +507,28 @@
"value": " sati"
}
],
- "label.logged-in-as": [
+ "label.leave": [
{
"type": 0,
- "value": "Prijavljen kao "
- },
+ "value": "Leave"
+ }
+ ],
+ "label.leave-team": [
{
- "type": 1,
- "value": "username"
+ "type": 0,
+ "value": "Leave team"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
}
],
"label.login": [
@@ -247,12 +543,42 @@
"value": "Odjava"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
+ "label.members": [
+ {
+ "type": 0,
+ "value": "Members"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
+ "label.mobile": [
+ {
+ "type": 0,
+ "value": "Mobile"
+ }
+ ],
"label.more": [
{
"type": 0,
"value": "Više"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -271,22 +597,74 @@
"value": "Ništa"
}
],
+ "label.os": [
+ {
+ "type": 0,
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
+ }
+ ],
"label.owner": [
{
"type": 0,
"value": "Vlasnik"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
+ "label.page-views": [
+ {
+ "type": 0,
+ "value": "Page views"
+ }
+ ],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
+ "label.pages": [
+ {
+ "type": 0,
+ "value": "Pages"
+ }
+ ],
"label.password": [
{
"type": 0,
"value": "Lozinka"
}
],
- "label.passwords-dont-match": [
+ "label.powered-by": [
{
"type": 0,
- "value": "Lozinke se ne podudaraju"
+ "value": "Powered by "
+ },
+ {
+ "type": 1,
+ "value": "name"
}
],
"label.profile": [
@@ -295,16 +673,40 @@
"value": "Profil"
}
],
+ "label.queries": [
+ {
+ "type": 0,
+ "value": "Queries"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
+ "label.query-parameters": [
+ {
+ "type": 0,
+ "value": "Query parameters"
+ }
+ ],
"label.realtime": [
{
"type": 0,
"value": "Stvarno vrijeme"
}
],
- "label.realtime-logs": [
+ "label.referrer": [
{
"type": 0,
- "value": "Trenutni zapisi"
+ "value": "Referrer"
+ }
+ ],
+ "label.referrers": [
+ {
+ "type": 0,
+ "value": "Referrers"
}
],
"label.refresh": [
@@ -313,6 +715,36 @@
"value": "Osvježi"
}
],
+ "label.regenerate": [
+ {
+ "type": 0,
+ "value": "Regenerate"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
+ "label.regions": [
+ {
+ "type": 0,
+ "value": "Regions"
+ }
+ ],
+ "label.remove": [
+ {
+ "type": 0,
+ "value": "Remove"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -331,16 +763,52 @@
"value": "Resetirati web stranicu"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
+ "label.role": [
+ {
+ "type": 0,
+ "value": "Role"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
"value": "Spremi"
}
],
- "label.search": [
+ "label.screens": [
{
"type": 0,
- "value": "Pretraži"
+ "value": "Screens"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
+ "label.select-website": [
+ {
+ "type": 0,
+ "value": "Select website"
+ }
+ ],
+ "label.sessions": [
+ {
+ "type": 0,
+ "value": "Sessions"
}
],
"label.settings": [
@@ -361,6 +829,66 @@
"value": "Jedan dan"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
+ "label.tablet": [
+ {
+ "type": 0,
+ "value": "Tablet"
+ }
+ ],
+ "label.team": [
+ {
+ "type": 0,
+ "value": "Team"
+ }
+ ],
+ "label.team-guest": [
+ {
+ "type": 0,
+ "value": "Team guest"
+ }
+ ],
+ "label.team-id": [
+ {
+ "type": 0,
+ "value": "Team ID"
+ }
+ ],
+ "label.team-member": [
+ {
+ "type": 0,
+ "value": "Team member"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
+ "label.team-owner": [
+ {
+ "type": 0,
+ "value": "Team owner"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
+ "label.teams": [
+ {
+ "type": 0,
+ "value": "Teams"
+ }
+ ],
"label.theme": [
{
"type": 0,
@@ -391,22 +919,64 @@
"value": "Vremenska zona"
}
],
+ "label.title": [
+ {
+ "type": 0,
+ "value": "Title"
+ }
+ ],
"label.today": [
{
"type": 0,
"value": "Danas"
}
],
+ "label.toggle-charts": [
+ {
+ "type": 0,
+ "value": "Toggle charts"
+ }
+ ],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Kod za praćenje"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
"label.type": [
{
"type": 0,
- "value": "Tip"
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
+ "label.unique-visitors": [
+ {
+ "type": 0,
+ "value": "Unique visitors"
}
],
"label.unknown": [
@@ -415,16 +985,52 @@
"value": "Nepoznato"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
+ "label.user": [
+ {
+ "type": 0,
+ "value": "User"
+ }
+ ],
"label.username": [
{
"type": 0,
"value": "Korisničko ime"
}
],
+ "label.users": [
+ {
+ "type": 0,
+ "value": "Users"
+ }
+ ],
"label.value": [
{
"type": 0,
- "value": "Vrijednost"
+ "value": "Value"
+ }
+ ],
+ "label.view": [
+ {
+ "type": 0,
+ "value": "View"
}
],
"label.view-details": [
@@ -433,12 +1039,48 @@
"value": "Pogledaj detalje"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
+ "label.views": [
+ {
+ "type": 0,
+ "value": "Views"
+ }
+ ],
+ "label.visitors": [
+ {
+ "type": 0,
+ "value": "Visitors"
+ }
+ ],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
+ "label.website-id": [
+ {
+ "type": 0,
+ "value": "Website ID"
+ }
+ ],
"label.websites": [
{
"type": 0,
"value": "Web stranice"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -493,6 +1135,20 @@
"value": "?"
}
],
+ "message.confirm-leave": [
+ {
+ "type": 0,
+ "value": "Are you sure you want to leave "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "?"
+ }
+ ],
"message.confirm-reset": [
{
"type": 0,
@@ -507,40 +1163,58 @@
"value": "'s statistiku?"
}
],
- "message.copied": [
+ "message.delete-account": [
{
"type": 0,
- "value": "Kopirano!"
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
- "message.delete-warning": [
+ "message.delete-website": [
{
"type": 0,
- "value": "Izbrisat će se svi povezani podaci."
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
- "message.edit-dashboard": [
+ "message.delete-website-warning": [
{
"type": 0,
- "value": "Uredi nadzornu ploču"
+ "value": "All website data will be deleted."
}
],
- "message.failure": [
+ "message.error": [
{
"type": 0,
- "value": "Nešto je pošlo po zlu."
+ "value": "Something went wrong."
}
],
- "message.get-share-url": [
+ "message.event-log": [
+ {
+ "type": 1,
+ "value": "event"
+ },
{
"type": 0,
- "value": "Dohvati poveznicu za dijeljenje"
- }
- ],
- "message.get-tracking-code": [
+ "value": " on "
+ },
{
- "type": 0,
- "value": "Dohvati kod za praćenje"
+ "type": 1,
+ "value": "url"
}
],
"message.go-to-settings": [
@@ -555,44 +1229,30 @@
"value": "Neispravno korisničke ime/lozinka."
}
],
- "message.log.visitor": [
+ "message.invalid-domain": [
{
"type": 0,
- "value": "Posjetitelj iz "
+ "value": "Invalid domain. Do not include http/https."
+ }
+ ],
+ "message.min-password-length": [
+ {
+ "type": 0,
+ "value": "Minimum length of "
},
{
"type": 1,
- "value": "country"
+ "value": "n"
},
{
"type": 0,
- "value": " koristi "
- },
- {
- "type": 1,
- "value": "browser"
- },
- {
- "type": 0,
- "value": " na "
- },
- {
- "type": 1,
- "value": "os"
- },
- {
- "type": 0,
- "value": " "
- },
- {
- "type": 1,
- "value": "device"
+ "value": " characters"
}
],
"message.new-version-available": [
{
"type": 0,
- "value": "Nova verzija umami "
+ "value": "A new version of Umami "
},
{
"type": 1,
@@ -600,7 +1260,7 @@
},
{
"type": 0,
- "value": " je dostupna!"
+ "value": " is available!"
}
],
"message.no-data-available": [
@@ -609,10 +1269,46 @@
"value": "Nema dostupnih podataka."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
+ "message.no-match-password": [
+ {
+ "type": 0,
+ "value": "Passwords do not match."
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
+ "message.no-teams": [
+ {
+ "type": 0,
+ "value": "You have not created any teams."
+ }
+ ],
+ "message.no-users": [
+ {
+ "type": 0,
+ "value": "There are no users."
+ }
+ ],
"message.no-websites-configured": [
{
"type": 0,
- "value": "Nemate konfiguriranu nijednu web stranicu."
+ "value": "You do not have any websites configured."
}
],
"message.page-not-found": [
@@ -621,26 +1317,30 @@
"value": "Stranica nije pronađena."
}
],
- "message.powered-by": [
+ "message.reset-website": [
{
"type": 0,
- "value": "Pokreće "
+ "value": "To reset this website, type "
},
{
"type": 1,
- "value": "name"
- }
- ],
- "message.reset-warning": [
+ "value": "confirmation"
+ },
{
"type": 0,
- "value": "Sve statistike za ovu web stranicu bit će izbrisane, ali će vaš kod za praćenje ostati netaknut."
+ "value": " in the box below to confirm."
}
],
- "message.save-success": [
+ "message.reset-website-warning": [
{
"type": 0,
- "value": "Uspješno spremljeno."
+ "value": "All statistics for this website will be deleted, but your settings will remain intact."
+ }
+ ],
+ "message.saved": [
+ {
+ "type": 0,
+ "value": "Saved."
}
],
"message.share-url": [
@@ -657,198 +1357,82 @@
"value": "."
}
],
- "message.toggle-charts": [
+ "message.team-already-member": [
{
"type": 0,
- "value": "Uključi/isključi grafikone"
+ "value": "You are already a member of the team."
}
],
- "message.track-stats": [
+ "message.team-not-found": [
{
"type": 0,
- "value": "Da biste pratili statistiku za "
- },
- {
- "type": 1,
- "value": "target"
- },
+ "value": "Team not found."
+ }
+ ],
+ "message.team-websites-info": [
{
"type": 0,
- "value": ", postavite sljedeći kod u odjeljak "
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
+ "message.tracking-code": [
+ {
+ "type": 0,
+ "value": "To track stats for this website, place the following code in the "
},
{
- "type": 1,
+ "children": [
+ {
+ "type": 0,
+ "value": "..."
+ }
+ ],
+ "type": 8,
"value": "head"
},
{
"type": 0,
- "value": " svoje web stranice."
+ "value": " section of your HTML."
}
],
- "message.type-delete": [
+ "message.user-deleted": [
{
"type": 0,
- "value": "Upišite "
+ "value": "User deleted."
+ }
+ ],
+ "message.visitor-log": [
+ {
+ "type": 0,
+ "value": "Visitor from "
},
{
"type": 1,
- "value": "delete"
+ "value": "country"
},
{
"type": 0,
- "value": " u donji okvir za potvrdu."
- }
- ],
- "message.type-reset": [
- {
- "type": 0,
- "value": " Upišite "
+ "value": " using "
},
{
"type": 1,
- "value": "reset"
+ "value": "browser"
},
{
"type": 0,
- "value": " u donji okvir za potvrdu. "
- }
- ],
- "metrics.actions": [
+ "value": " on "
+ },
+ {
+ "type": 1,
+ "value": "os"
+ },
{
"type": 0,
- "value": "Akcije"
- }
- ],
- "metrics.average-visit-time": [
+ "value": " "
+ },
{
- "type": 0,
- "value": "Prosječno vrijeme posjeta"
- }
- ],
- "metrics.bounce-rate": [
- {
- "type": 0,
- "value": "Stopa napuštanja stranice"
- }
- ],
- "metrics.browsers": [
- {
- "type": 0,
- "value": "Web preglednici"
- }
- ],
- "metrics.countries": [
- {
- "type": 0,
- "value": "Zemlje"
- }
- ],
- "metrics.device.desktop": [
- {
- "type": 0,
- "value": "Pc"
- }
- ],
- "metrics.device.laptop": [
- {
- "type": 0,
- "value": "Laptop"
- }
- ],
- "metrics.device.mobile": [
- {
- "type": 0,
- "value": "Mobitel"
- }
- ],
- "metrics.device.tablet": [
- {
- "type": 0,
- "value": "Tablet"
- }
- ],
- "metrics.devices": [
- {
- "type": 0,
- "value": "Uređaji"
- }
- ],
- "metrics.events": [
- {
- "type": 0,
- "value": "Događaji"
- }
- ],
- "metrics.filter.combined": [
- {
- "type": 0,
- "value": "Kombinirano"
- }
- ],
- "metrics.filter.raw": [
- {
- "type": 0,
- "value": "Neobrađeni podaci"
- }
- ],
- "metrics.languages": [
- {
- "type": 0,
- "value": "Jezici"
- }
- ],
- "metrics.operating-systems": [
- {
- "type": 0,
- "value": "Operativni sustavi"
- }
- ],
- "metrics.page-views": [
- {
- "type": 0,
- "value": "Pregledi stranice"
- }
- ],
- "metrics.pages": [
- {
- "type": 0,
- "value": "Stranice"
- }
- ],
- "metrics.query-parameters": [
- {
- "type": 0,
- "value": "Parametri upita"
- }
- ],
- "metrics.referrers": [
- {
- "type": 0,
- "value": "Upučivaći"
- }
- ],
- "metrics.screens": [
- {
- "type": 0,
- "value": "Zasloni"
- }
- ],
- "metrics.unique-visitors": [
- {
- "type": 0,
- "value": "Jedinstveni posjetitelji"
- }
- ],
- "metrics.views": [
- {
- "type": 0,
- "value": "Pregledi"
- }
- ],
- "metrics.visitors": [
- {
- "type": 0,
- "value": "Posjetitelji"
+ "type": 1,
+ "value": "device"
}
]
-}
\ No newline at end of file
+}
diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json
index 8bb833bf..e39182b1 100644
--- a/public/intl/messages/hu-HU.json
+++ b/public/intl/messages/hu-HU.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Adminisztrátor"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Vissza"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Visszafordulási arány"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Jelszó megerősítése"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Országok"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Időintervallum"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Weboldal eltávolítása"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Mellőzés"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "URL-megosztás engedélyezése"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Események"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Nyers"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Kijelentkezés"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Bővebben"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operációs rendszerek"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Oldalmegtekintések"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Valós idejű"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Egy nap"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Követési kód"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Ismeretlen"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Részletek"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Látogatók"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Weboldalak"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -789,10 +1167,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Weboldal eltávolítása"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -853,18 +1253,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Nincs rendelkezésre álló adat."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "A jelszavak nem egyeznek"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -877,6 +1309,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Még nem állítottál be egyetlen weboldalt sem."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -886,7 +1324,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -972,23 +1424,5 @@
"type": 0,
"value": " böngészőből."
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Még nem állítottál be egyetlen weboldalt sem."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json
index 00a84f18..97526840 100644
--- a/public/intl/messages/id-ID.json
+++ b/public/intl/messages/id-ID.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Pengelola"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Kembali"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Rasio pentalan"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Konfirmasi kata sandi"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Negara"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Rentang tanggal"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Hapus situs web"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Tutup"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Aktifkan URL berbagi"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Perihal"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Mentah"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -325,6 +511,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -337,12 +535,24 @@
"value": "Keluar"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -355,6 +565,12 @@
"value": "Lebih banyak"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -373,10 +589,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistem Operasi"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -385,12 +607,36 @@
"value": "Pemilik"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Tampilan halaman"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -425,6 +671,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -437,6 +689,12 @@
"value": "Waktu nyata"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -455,6 +713,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -467,6 +731,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -485,12 +755,24 @@
"value": "Atur ulang statistik"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -503,6 +785,12 @@
"value": "Layar"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -533,6 +821,12 @@
"value": "Sehari"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -563,12 +857,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -623,12 +929,42 @@
"value": "Buka grafik"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Kode lacak"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -641,6 +977,24 @@
"value": "Tidak diketahui"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -659,6 +1013,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -671,6 +1031,12 @@
"value": "Lihat Detil"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -683,6 +1049,12 @@
"value": "Pengunjung"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -695,6 +1067,12 @@
"value": "Situs web"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -753,10 +1131,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Hapus situs web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -817,18 +1217,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Tidak ada data."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Kata sandi tidak cocok"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -841,6 +1273,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Anda tidak memiliki situs web yang dikonfigurasi."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -850,7 +1288,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Atur ulang statistik"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -891,6 +1337,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -936,23 +1388,5 @@
"type": 1,
"value": "os"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Anda tidak memiliki situs web yang dikonfigurasi."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json
index 3cc27fd4..a93715d3 100644
--- a/public/intl/messages/it-IT.json
+++ b/public/intl/messages/it-IT.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Amministratore"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Indietro"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Frequenza di rimbalzo"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Conferma password"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Nazioni"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Periodo"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Elimina sito"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Scarta"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Dominio"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Abilita URL di condivisione"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Eventi"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Raw"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Esci"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Dettagli"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistemi operativi"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Proprietario"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Visualizzazioni di pagina"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Tempo reale"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Resetta le statistiche"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Singolo giorno"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Apri/Chiudi i grafici"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Codice di tracking"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Sconosciuto"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Vedi dettagli"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Visitatori"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Siti web"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -789,10 +1167,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Elimina sito"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -853,18 +1253,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Nessun dato disponibile."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Le password non corrispondono"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -877,6 +1309,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Non hai ancora configurato alcun sito."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -886,7 +1324,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Resetta le statistiche"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -927,6 +1373,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -972,23 +1424,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Non hai ancora configurato alcun sito."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json
index 55941ebf..63b49aa5 100644
--- a/public/intl/messages/ja-JP.json
+++ b/public/intl/messages/ja-JP.json
@@ -2,7 +2,7 @@
"label.access-code": [
{
"type": 0,
- "value": "Access code"
+ "value": "アクセスコード"
}
],
"label.actions": [
@@ -14,7 +14,19 @@
"label.activity-log": [
{
"type": 0,
- "value": "Activity log"
+ "value": "アクティビティログ"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "追加"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "説明を追加"
}
],
"label.add-website": [
@@ -29,22 +41,34 @@
"value": "管理者"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "直後"
+ }
+ ],
"label.all": [
{
"type": 0,
- "value": "すべて表示"
+ "value": "すべて"
}
],
"label.all-time": [
{
"type": 0,
- "value": "All time"
+ "value": "すべての時間帯"
}
],
"label.analytics": [
{
"type": 0,
- "value": "Analytics"
+ "value": "アナリティクス"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "平均"
}
],
"label.average-visit-time": [
@@ -59,12 +83,30 @@
"value": "戻る"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "直前"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "直帰率"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "故障"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "ブラウザ"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -80,61 +122,85 @@
"label.change-password": [
{
"type": 0,
- "value": "パスワード変更"
+ "value": "パスワードの変更"
}
],
"label.cities": [
{
"type": 0,
- "value": "Cities"
+ "value": "都市"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "都市"
}
],
"label.clear-all": [
{
"type": 0,
- "value": "Clear all"
+ "value": "すべてクリア"
}
],
"label.confirm": [
{
"type": 0,
- "value": "Confirm"
+ "value": "確認"
}
],
"label.confirm-password": [
{
"type": 0,
- "value": "パスワード(確認)"
+ "value": "パスワード(確認)"
+ }
+ ],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "コンテンツ"
}
],
"label.continue": [
{
"type": 0,
- "value": "Continue"
+ "value": "続ける"
}
],
"label.countries": [
+ {
+ "type": 0,
+ "value": "国名"
+ }
+ ],
+ "label.country": [
{
"type": 0,
"value": "国"
}
],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "レポートの作成"
+ }
+ ],
"label.create-team": [
{
"type": 0,
- "value": "Create team"
+ "value": "チームの作成"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Create user"
+ "value": "ユーザーの作成"
}
],
"label.created": [
{
"type": 0,
- "value": "Created"
+ "value": "作成されました"
}
],
"label.current-password": [
@@ -146,7 +212,7 @@
"label.custom-range": [
{
"type": 0,
- "value": "期間を指定する"
+ "value": "範囲指定"
}
],
"label.dashboard": [
@@ -158,19 +224,31 @@
"label.data": [
{
"type": 0,
- "value": "Data"
+ "value": "データ"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "日付"
}
],
"label.date-range": [
{
"type": 0,
- "value": "範囲指定"
+ "value": "期間"
+ }
+ ],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "日"
}
],
"label.default-date-range": [
{
"type": 0,
- "value": "最初に表示する期間"
+ "value": "デフォルトの期間"
}
],
"label.delete": [
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Delete team"
+ "value": "チームの削除"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Delete user"
+ "value": "ユーザーの削除"
}
],
"label.delete-website": [
@@ -197,6 +275,12 @@
"value": "Webサイトの削除"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "説明"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -206,7 +290,13 @@
"label.details": [
{
"type": 0,
- "value": "Details"
+ "value": "詳細情報"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "デバイス"
}
],
"label.devices": [
@@ -218,7 +308,13 @@
"label.dismiss": [
{
"type": 0,
- "value": "無視する"
+ "value": "却下"
+ }
+ ],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "を含まない"
}
],
"label.domain": [
@@ -227,6 +323,12 @@
"value": "ドメイン"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "切り捨て"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -236,13 +338,25 @@
"label.edit-dashboard": [
{
"type": 0,
- "value": "Edit dashboard"
+ "value": "ダッシュボードの編集"
}
],
"label.enable-share-url": [
{
"type": 0,
- "value": "共有リンクを有効にする"
+ "value": "共有URLを有効にする"
+ }
+ ],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "イベント"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "イベントデータ"
}
],
"label.events": [
@@ -251,40 +365,112 @@
"value": "イベント"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "偽"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "フィールド"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "フィールド"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
- "value": "パスまで"
+ "value": "統合"
}
],
"label.filter-raw": [
{
"type": 0,
- "value": "すべて表示"
+ "value": "RAW"
+ }
+ ],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "フィルター"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "分析"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "超過"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "以上"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "見通し"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "に等しい"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "に等しくない"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "未設定"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "設定済み"
}
],
"label.join": [
{
"type": 0,
- "value": "Join"
+ "value": "参加"
}
],
"label.join-team": [
{
"type": 0,
- "value": "Join team"
+ "value": "チームに参加"
}
],
"label.language": [
{
"type": 0,
- "value": "Language"
+ "value": "言語"
}
],
"label.languages": [
{
"type": 0,
- "value": "Languages"
+ "value": "言語"
}
],
"label.laptop": [
@@ -324,13 +510,25 @@
"label.leave": [
{
"type": 0,
- "value": "Leave"
+ "value": "離脱"
}
],
"label.leave-team": [
{
"type": 0,
- "value": "Leave team"
+ "value": "チームを離脱"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "未満"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "以下"
}
],
"label.login": [
@@ -345,10 +543,22 @@
"value": "ログアウト"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "最大"
+ }
+ ],
"label.members": [
{
"type": 0,
- "value": "Members"
+ "value": "メンバー"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "最小"
}
],
"label.mobile": [
@@ -360,7 +570,13 @@
"label.more": [
{
"type": 0,
- "value": "さらに表示"
+ "value": "もっと見る"
+ }
+ ],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "マイWebサイト"
}
],
"label.name": [
@@ -378,19 +594,43 @@
"label.none": [
{
"type": 0,
- "value": "None"
+ "value": "なし"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
"value": "OS"
}
],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "概要"
+ }
+ ],
"label.owner": [
{
"type": 0,
- "value": "Owner"
+ "value": "所有者"
+ }
+ ],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "ページ "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": "/"
+ },
+ {
+ "type": 1,
+ "value": "total"
}
],
"label.page-views": [
@@ -399,6 +639,12 @@
"value": "閲覧数"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "ページタイトル"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -414,33 +660,35 @@
"label.powered-by": [
{
"type": 0,
- "value": "このシステムは "
+ "value": "Powered by "
},
{
"type": 1,
"value": "name"
- },
- {
- "type": 0,
- "value": " で実行されています。"
}
],
"label.profile": [
{
"type": 0,
- "value": "プロファイル"
+ "value": "プロフィール"
}
],
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "クエリ"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "クエリ"
}
],
"label.query-parameters": [
{
"type": 0,
- "value": "Query parameters"
+ "value": "クエリパラメーター"
}
],
"label.realtime": [
@@ -449,6 +697,12 @@
"value": "リアルタイム"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "リファラー"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -464,19 +718,31 @@
"label.regenerate": [
{
"type": 0,
- "value": "Regenerate"
+ "value": "再生成"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "地域"
}
],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "地域"
}
],
"label.remove": [
{
"type": 0,
- "value": "Remove"
+ "value": "削除"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "レポート"
}
],
"label.required": [
@@ -494,13 +760,25 @@
"label.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "Webサイトをリセットする"
+ }
+ ],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "保持"
}
],
"label.role": [
{
"type": 0,
- "value": "Role"
+ "value": "ロール"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "クエリ実行"
}
],
"label.save": [
@@ -512,19 +790,25 @@
"label.screens": [
{
"type": 0,
- "value": "Screens"
+ "value": "画面サイズ"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "日付を選択"
}
],
"label.select-website": [
{
"type": 0,
- "value": "Select website"
+ "value": "Webサイトを選択"
}
],
"label.sessions": [
{
"type": 0,
- "value": "Sessions"
+ "value": "セッション"
}
],
"label.settings": [
@@ -536,13 +820,19 @@
"label.share-url": [
{
"type": 0,
- "value": "共有リンク"
+ "value": "共有URL"
}
],
"label.single-day": [
{
"type": 0,
- "value": "一日のみ"
+ "value": "一日"
+ }
+ ],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "合計"
}
],
"label.tablet": [
@@ -554,43 +844,55 @@
"label.team": [
{
"type": 0,
- "value": "Team"
+ "value": "チーム"
}
],
"label.team-guest": [
{
"type": 0,
- "value": "Team guest"
+ "value": "チームゲスト"
}
],
"label.team-id": [
{
"type": 0,
- "value": "Team ID"
+ "value": "チームID"
}
],
"label.team-member": [
{
"type": 0,
- "value": "Team member"
+ "value": "チームメンバー"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "チーム名"
}
],
"label.team-owner": [
{
"type": 0,
- "value": "Team owner"
+ "value": "チーム所有者"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "チームのWebサイト"
}
],
"label.teams": [
{
"type": 0,
- "value": "Teams"
+ "value": "チーム"
}
],
"label.theme": [
{
"type": 0,
- "value": "Theme"
+ "value": "テーマ"
}
],
"label.this-month": [
@@ -620,7 +922,7 @@
"label.title": [
{
"type": 0,
- "value": "Title"
+ "value": "タイトル"
}
],
"label.today": [
@@ -632,7 +934,19 @@
"label.toggle-charts": [
{
"type": 0,
- "value": "Toggle charts"
+ "value": "グラフを切り替える"
+ }
+ ],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "累計"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "総記録数"
}
],
"label.tracking-code": [
@@ -641,6 +955,24 @@
"value": "トラッキングコード"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "真"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "種別"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "ユニーク"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -653,10 +985,28 @@
"value": "不明"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "無題"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "ユーザー"
}
],
"label.username": [
@@ -668,37 +1018,55 @@
"label.users": [
{
"type": 0,
- "value": "Users"
+ "value": "ユーザー"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "値"
}
],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "表示"
}
],
"label.view-details": [
{
"type": 0,
- "value": "詳細を見る"
+ "value": "詳細を表示"
+ }
+ ],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "表示のみ"
}
],
"label.views": [
{
"type": 0,
- "value": "閲覧数"
+ "value": "表示"
}
],
"label.visitors": [
{
"type": 0,
- "value": "訪問者数"
+ "value": "訪問者"
+ }
+ ],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Webサイト"
}
],
"label.website-id": [
{
"type": 0,
- "value": "Website ID"
+ "value": "WebサイトID"
}
],
"label.websites": [
@@ -707,10 +1075,16 @@
"value": "Webサイト"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "ウィンドウ"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
- "value": "Yesterday"
+ "value": "昨日"
}
],
"message.active-users": [
@@ -720,7 +1094,31 @@
},
{
"type": 0,
- "value": "人が閲覧中です。"
+ "value": " "
+ },
+ {
+ "offset": 0,
+ "options": {
+ "one": {
+ "value": [
+ {
+ "type": 0,
+ "value": "アクティブな訪問者"
+ }
+ ]
+ },
+ "other": {
+ "value": [
+ {
+ "type": 0,
+ "value": "アクティブな訪問者"
+ }
+ ]
+ }
+ },
+ "pluralType": "cardinal",
+ "type": 6,
+ "value": "x"
}
],
"message.confirm-delete": [
@@ -734,87 +1132,101 @@
}
],
"message.confirm-leave": [
- {
- "type": 0,
- "value": "Are you sure you want to leave "
- },
{
"type": 1,
"value": "target"
},
{
"type": 0,
- "value": "?"
+ "value": "から離脱してもよろしいですか?"
}
],
"message.confirm-reset": [
- {
- "type": 0,
- "value": "Are your sure you want to reset "
- },
{
"type": 1,
"value": "target"
},
{
"type": 0,
- "value": "'s statistics?"
+ "value": "をリセットしてもよろしいですか?"
+ }
+ ],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "このアカウントを削除するには、下のフォームに「"
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": "」と入力してください。"
}
],
"message.delete-website": [
{
"type": 0,
- "value": "Webサイトの削除"
+ "value": "このWebサイトを削除するには、下のフォームに「"
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": "」と入力してください。"
}
],
"message.delete-website-warning": [
{
"type": 0,
- "value": "関連するすべてのデータも削除されます。"
+ "value": "Webサイトのデータがすべて削除されます。"
}
],
"message.error": [
{
"type": 0,
- "value": "問題が発生しました。"
+ "value": "未知のエラーが発生しました。"
}
],
"message.event-log": [
{
"type": 1,
- "value": "event"
+ "value": "url"
},
{
"type": 0,
- "value": " on "
+ "value": "の"
},
{
"type": 1,
- "value": "url"
+ "value": "event"
}
],
"message.go-to-settings": [
{
"type": 0,
- "value": "設定する"
+ "value": "設定に移動する"
}
],
"message.incorrect-username-password": [
{
"type": 0,
- "value": "ユーザー名/パスワードが正しくありません。"
+ "value": "ユーザー名またはパスワードが間違っています。"
}
],
"message.invalid-domain": [
{
"type": 0,
- "value": "無効なドメイン"
+ "value": "無効なドメインです。http/httpsを含めないでください。"
}
],
"message.min-password-length": [
{
"type": 0,
- "value": "Minimum length of "
+ "value": "最小文字数は"
},
{
"type": 1,
@@ -822,7 +1234,21 @@
},
{
"type": 0,
- "value": " characters"
+ "value": "文字です"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "Umamiの新しいバージョン"
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": "が利用可能です!"
}
],
"message.no-data-available": [
@@ -831,84 +1257,128 @@
"value": "データがありません。"
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "イベントデータがありません。"
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
- "value": "パスワードが一致しません"
+ "value": "パスワードが一致しません。"
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "結果が見つかりません。"
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "このチームにはWebサイトがありません。"
}
],
"message.no-teams": [
{
"type": 0,
- "value": "You have not created any teams."
+ "value": "チームを作成していません。"
}
],
"message.no-users": [
{
"type": 0,
- "value": "There are no users."
+ "value": "ユーザーが存在しません。"
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Webサイトが設定されていません。"
}
],
"message.page-not-found": [
{
"type": 0,
- "value": "ページが見つかりません。"
+ "value": "ページが見つかりません"
}
],
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "このWebサイトをリセットするには、下のフォームに「"
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": "」と入力してください。"
}
],
"message.reset-website-warning": [
{
"type": 0,
- "value": "All statistics for this website will be deleted, but your tracking code will remain intact."
+ "value": "このWebサイトの統計情報はすべて削除されますが、設定はそのまま残ります。"
}
],
"message.saved": [
{
"type": 0,
- "value": "正常に保存されました。"
+ "value": "保存されました。"
}
],
"message.share-url": [
{
"type": 0,
- "value": "これは"
- },
- {
- "type": 1,
- "value": "target"
- },
- {
- "type": 0,
- "value": "の共有リンクです。"
+ "value": "あなたのWebサイトの統計情報は次のURLで公開されています:"
}
],
"message.team-already-member": [
{
"type": 0,
- "value": "You are already a member of the team."
+ "value": "あなたはすでにチームのメンバーです。"
}
],
"message.team-not-found": [
{
"type": 0,
- "value": "Team not found."
+ "value": "チームが見つかりません。"
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Webサイトはチーム内の誰でも見ることができます。"
}
],
"message.tracking-code": [
{
"type": 0,
- "value": "トラッキングコード"
+ "value": "このWebサイトの統計情報を追跡するには、HTMLの"
+ },
+ {
+ "children": [
+ {
+ "type": 0,
+ "value": "..."
+ }
+ ],
+ "type": 8,
+ "value": "head"
+ },
+ {
+ "type": 0,
+ "value": "セクションに以下のコードを記述します。"
}
],
"message.user-deleted": [
{
"type": 0,
- "value": "User deleted."
+ "value": "ユーザーが削除されました。"
}
],
"message.visitor-log": [
@@ -918,7 +1388,7 @@
},
{
"type": 0,
- "value": "("
+ "value": "("
},
{
"type": 1,
@@ -926,7 +1396,7 @@
},
{
"type": 0,
- "value": ")で"
+ "value": ")で"
},
{
"type": 1,
@@ -944,23 +1414,5 @@
"type": 0,
"value": "からの訪問者"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Webサイトが設定されていません。"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json
index cfa45bbf..1f7b82ca 100644
--- a/public/intl/messages/km-KH.json
+++ b/public/intl/messages/km-KH.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "អ្នកគ្រប់គ្រង"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "ថយក្រោយ"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "ចំនួនវិលត្រឡប់"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "បញ្ជាក់ពាក្យសម្ងាត់"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "ប្រទេស"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "ចន្លោះកាលបរិច្ឆេទ"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "លុបគេហទំព័រ"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "បដិសេធ"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "ឈ្មោះគេហទំព័រ"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "បើកការចែករំលែក URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "ព្រឹត្តិការណ៍"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "ដើម"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -325,6 +511,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -337,12 +535,24 @@
"value": "ចេញ"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -355,6 +565,12 @@
"value": "បន្ថែម"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -373,10 +589,16 @@
"value": "មិនមាន"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "ប្រព័ន្ធប្រតិបត្តិការ"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -385,12 +607,36 @@
"value": "ម្ចាស់"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "អ្នកមើលទំព័រ"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -425,6 +671,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -437,6 +689,12 @@
"value": "ឥលូវនេះ"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -455,6 +713,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -467,6 +731,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -485,12 +755,24 @@
"value": "កំណត់ស្ថិតិឡើងវិញ"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -503,6 +785,12 @@
"value": "ប្រភេទឧបករណ៍"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -533,6 +821,12 @@
"value": "ថ្ងៃតែមួយ"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -563,12 +857,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -623,12 +929,42 @@
"value": "បិទ/បើកតារាង"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "លេខកូដតាមដាន"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -641,6 +977,24 @@
"value": "មិនស្គាល់"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -659,6 +1013,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -671,6 +1031,12 @@
"value": "មើលព័ត៌មានលម្អិត"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -683,6 +1049,12 @@
"value": "អ្នកទស្សនា"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -695,6 +1067,12 @@
"value": "គេហទំព័រ"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -757,10 +1135,32 @@
"value": " ឡើងវិញទេ?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "លុបគេហទំព័រ"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -821,18 +1221,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "មិនមានទិន្នន័យទេ។"
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "ពាក្យសម្ងាត់មិនត្រូវគ្នាទេ"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -845,6 +1277,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "អ្នកមិនទាន់បានដាក់គេហទំព័រណាមួយចូលទេ។"
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -854,7 +1292,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "កំណត់ស្ថិតិឡើងវិញ"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -895,6 +1341,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -940,23 +1392,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "អ្នកមិនទាន់បានដាក់គេហទំព័រណាមួយចូលទេ។"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json
index 7b368a5f..26413708 100644
--- a/public/intl/messages/ko-KR.json
+++ b/public/intl/messages/ko-KR.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "관리자"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "뒤로"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "이탈률"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "비밀번호 확인"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "국가"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "날짜 범위"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "웹사이트 삭제"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "무시하기"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "도메인"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "URL 공유 활성화"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "이벤트"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "전체 보기"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "로그아웃"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "더 보기"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "운영체제"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "페이지 뷰(PV)"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -437,6 +683,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -449,6 +701,12 @@
"value": "실시간"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -467,6 +725,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -479,6 +743,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -497,12 +767,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -515,6 +797,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -545,6 +833,12 @@
"value": "하루"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -575,12 +869,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -635,12 +941,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "추적 코드"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -653,6 +989,24 @@
"value": "알 수 없음"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -671,6 +1025,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -683,6 +1043,12 @@
"value": "상세보기"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -695,6 +1061,12 @@
"value": "방문객"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -707,6 +1079,12 @@
"value": "웹사이트"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -761,10 +1139,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "웹사이트 삭제"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -825,18 +1225,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "사용 가능한 데이터가 없습니다."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "비밀번호가 일치하지 않음"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -849,6 +1281,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "구성된 웹 사이트가 없습니다."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -858,7 +1296,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -899,6 +1345,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -944,23 +1396,5 @@
"type": 0,
"value": "의 방문자"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "구성된 웹 사이트가 없습니다."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json
index 3bc4d21b..21610b7b 100644
--- a/public/intl/messages/lt-LT.json
+++ b/public/intl/messages/lt-LT.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administratorius"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Atgal"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Atmetimo rodiklis"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Patvirtinti slaptažodį"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Šalys"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Laikotarpis"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Ištrinti svetainę"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Gerai"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domenas"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Įjungti bendrinimą su nuoroda"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Įvykiai"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Neapdoroti"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -438,6 +624,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -450,12 +648,24 @@
"value": "Atsijungti"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -468,6 +678,12 @@
"value": "Daugiau"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -486,10 +702,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operacinės sistemos"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -498,12 +720,36 @@
"value": "Savininkas"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Puslapių peržiūros"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -538,6 +784,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -550,6 +802,12 @@
"value": "Realiuoju laiku"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -568,6 +826,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -580,6 +844,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -598,12 +868,24 @@
"value": "Atstatyti statistikos duomenis"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -616,6 +898,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -646,6 +934,12 @@
"value": "Viena diena"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -676,12 +970,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -736,12 +1042,42 @@
"value": "Rodyti / slėpti grafikus"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Sekimo kodas"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -754,6 +1090,24 @@
"value": "Nežinoma"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -772,6 +1126,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -784,6 +1144,12 @@
"value": "Peržiūrėti detaliau"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -796,6 +1162,12 @@
"value": "Lankytojai"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -808,6 +1180,12 @@
"value": "Svetainės"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -910,10 +1288,32 @@
"value": " statistikos duomenis?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Ištrinti svetainę"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -974,18 +1374,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Nėra jokių duomenų."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Slaptažodžiai nesutampa"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -998,6 +1430,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Jūs nesate susikonfiguravę jokių svetainių."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -1007,7 +1445,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Atstatyti statistikos duomenis"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -1048,6 +1494,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -1093,23 +1545,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Jūs nesate susikonfiguravę jokių svetainių."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json
index 92befd98..013e5c88 100644
--- a/public/intl/messages/mn-MN.json
+++ b/public/intl/messages/mn-MN.json
@@ -2,7 +2,7 @@
"label.access-code": [
{
"type": 0,
- "value": "Access code"
+ "value": "Хандалтын код"
}
],
"label.actions": [
@@ -14,7 +14,19 @@
"label.activity-log": [
{
"type": 0,
- "value": "Activity log"
+ "value": "Үйл ажиллагааны бүртгэл"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
@@ -29,6 +41,12 @@
"value": "Админ"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Буцах"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Нэг хуудас үзээд гарсан"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -86,19 +128,25 @@
"label.cities": [
{
"type": 0,
- "value": "Cities"
+ "value": "Хотууд"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
}
],
"label.clear-all": [
{
"type": 0,
- "value": "Clear all"
+ "value": "Бүгдийг арилгах"
}
],
"label.confirm": [
{
"type": 0,
- "value": "Confirm"
+ "value": "Батлах"
}
],
"label.confirm-password": [
@@ -107,10 +155,16 @@
"value": "Шинэ нууц үгээ давтах"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
- "value": "Continue"
+ "value": "Үргэлжлүүлэх"
}
],
"label.countries": [
@@ -119,22 +173,34 @@
"value": "Улс"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
- "value": "Create team"
+ "value": "Баг үүсгэх"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Create user"
+ "value": "Хэрэглэгч үүсгэх"
}
],
"label.created": [
{
"type": 0,
- "value": "Created"
+ "value": "Үүсгэсэн"
}
],
"label.current-password": [
@@ -158,13 +224,25 @@
"label.data": [
{
"type": 0,
- "value": "Data"
+ "value": "Өгөгдөл"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
}
],
"label.date-range": [
{
"type": 0,
- "value": "Хугацааны мужид"
+ "value": "Хугацааны муж"
+ }
+ ],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
}
],
"label.default-date-range": [
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Delete team"
+ "value": "Баг устгах"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Delete user"
+ "value": "Хэрэглэгч устгах"
}
],
"label.delete-website": [
@@ -197,6 +275,12 @@
"value": "Веб устгах"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -206,7 +290,13 @@
"label.details": [
{
"type": 0,
- "value": "Details"
+ "value": "Мэдээлэл"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
}
],
"label.devices": [
@@ -221,12 +311,24 @@
"value": "Үл хэргэсэх"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Домэйн"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Хуваалцах холбоос идэвхжүүлэх"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Үйлдэл"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,16 +395,70 @@
"value": "Түүхий"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
- "value": "Join"
+ "value": "Нэгдэх"
}
],
"label.join-team": [
{
"type": 0,
- "value": "Join team"
+ "value": "Багт нэгдэх"
}
],
"label.language": [
@@ -324,13 +510,25 @@
"label.leave": [
{
"type": 0,
- "value": "Leave"
+ "value": "Гарах"
}
],
"label.leave-team": [
{
"type": 0,
- "value": "Leave team"
+ "value": "Багаас гарах"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
}
],
"label.login": [
@@ -345,10 +543,22 @@
"value": "Гарах"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
- "value": "Members"
+ "value": "Гишүүд"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
}
],
"label.mobile": [
@@ -363,6 +573,12 @@
"value": "Цааш"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Байхгүй"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Үйлдлийн систем"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Эзэмшигч"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Хуудас үзсэн"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -430,7 +676,13 @@
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "Query-нүүд"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
}
],
"label.query-parameters": [
@@ -445,6 +697,12 @@
"value": "Яг одоо"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -460,19 +718,31 @@
"label.regenerate": [
{
"type": 0,
- "value": "Regenerate"
+ "value": "Дахин үүсгэх"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
}
],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "Бүсүүд"
}
],
"label.remove": [
{
"type": 0,
- "value": "Remove"
+ "value": "Устгах"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
}
],
"label.required": [
@@ -484,7 +754,7 @@
"label.reset": [
{
"type": 0,
- "value": "Хуучин хэвд нь оруулах"
+ "value": "Дахин эхлүүлэх"
}
],
"label.reset-website": [
@@ -493,10 +763,22 @@
"value": "Тоон үзүүлэлтийг дахин эхлүүлэх"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
- "value": "Role"
+ "value": "Эрх"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
}
],
"label.save": [
@@ -511,10 +793,16 @@
"value": "Дэлгэц"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
- "value": "Select website"
+ "value": "Веб сонгох"
}
],
"label.sessions": [
@@ -541,6 +829,12 @@
"value": "Нэг өдөр"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -550,37 +844,49 @@
"label.team": [
{
"type": 0,
- "value": "Team"
+ "value": "Баг"
}
],
"label.team-guest": [
{
"type": 0,
- "value": "Team guest"
+ "value": "Багийн зочин"
}
],
"label.team-id": [
{
"type": 0,
- "value": "Team ID"
+ "value": "Багийн ID"
}
],
"label.team-member": [
{
"type": 0,
- "value": "Team member"
+ "value": "Багийн гишүүн"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
}
],
"label.team-owner": [
{
"type": 0,
- "value": "Team owner"
+ "value": "Багийн эзэмшигч"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
}
],
"label.teams": [
{
"type": 0,
- "value": "Teams"
+ "value": "Багууд"
}
],
"label.theme": [
@@ -616,7 +922,7 @@
"label.title": [
{
"type": 0,
- "value": "Title"
+ "value": "Гарчиг"
}
],
"label.today": [
@@ -631,12 +937,42 @@
"value": "Графикийг харуулах/нуух"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Мөрдөх код"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,10 +985,28 @@
"value": "Тодорхойгүй"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "Хэрэглэгч"
}
],
"label.username": [
@@ -664,13 +1018,19 @@
"label.users": [
{
"type": 0,
- "value": "Users"
+ "value": "Хэрэглэгчид"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
}
],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "Харах"
}
],
"label.view-details": [
@@ -679,6 +1039,12 @@
"value": "Дэлгэрүүлж харах"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,10 +1057,16 @@
"value": "Зочин"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
- "value": "Website ID"
+ "value": "Вебийн ID"
}
],
"label.websites": [
@@ -703,6 +1075,12 @@
"value": "Вебүүд"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -768,7 +1146,7 @@
"message.confirm-leave": [
{
"type": 0,
- "value": "Are you sure you want to leave "
+ "value": "Та "
},
{
"type": 1,
@@ -776,7 +1154,7 @@
},
{
"type": 0,
- "value": "?"
+ "value": "-с гарахдаа итгэлтэй байна уу?"
}
],
"message.confirm-reset": [
@@ -793,16 +1171,38 @@
"value": "-н тоон үзүүлэлтүүдийг устгахдаа итгэлтэй байна уу?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Веб устгах"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
{
"type": 0,
- "value": "Үүнтэй холбоотой бүх өгөгдөл устах болно."
+ "value": "Энэ вебтэй холбоотой бүх өгөгдөл устах болно."
}
],
"message.error": [
@@ -814,15 +1214,15 @@
"message.event-log": [
{
"type": 1,
- "value": "event"
+ "value": "url"
},
{
"type": 0,
- "value": " on "
+ "value": "-д "
},
{
"type": 1,
- "value": "url"
+ "value": "event"
}
],
"message.go-to-settings": [
@@ -846,7 +1246,7 @@
"message.min-password-length": [
{
"type": 0,
- "value": "Minimum length of "
+ "value": "Хамгийн багадаа "
},
{
"type": 1,
@@ -854,7 +1254,21 @@
},
{
"type": 0,
- "value": " characters"
+ "value": " тэмдэгт"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
}
],
"message.no-data-available": [
@@ -863,22 +1277,46 @@
"value": "Өгөгдөл алга."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
- "value": "Нууц үг тохирохгүй байна"
+ "value": "Нууц үг тохирохгүй байна."
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Энэ багт ямар ч веб алга."
}
],
"message.no-teams": [
{
"type": 0,
- "value": "You have not created any teams."
+ "value": "Та ямар ч баг үүсгээгүй байна."
}
],
"message.no-users": [
{
"type": 0,
- "value": "There are no users."
+ "value": "Хэрэглэгч байхгүй байна."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Та ямар нэгэн веб тохируулаагүй байна."
}
],
"message.page-not-found": [
@@ -890,7 +1328,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Тоон үзүүлэлтийг дахин эхлүүлэх"
+ "value": "Тоон үзүүлэлийг дахин эхлүүлэхийн тулд доорх хэсэгт "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " гэж бичиж, баталгаажуулна уу."
}
],
"message.reset-website-warning": [
@@ -902,41 +1348,57 @@
"message.saved": [
{
"type": 0,
- "value": "Амжилттай хадгаллаа."
+ "value": "Хадгалсан."
}
],
"message.share-url": [
- {
- "type": 1,
- "value": "target"
- },
{
"type": 0,
- "value": "-г нийтэд хуваалцах холбоос."
+ "value": "Таны вебийн тоон үзүүлэлтүүд доорх URL дээр нийтэд харагдах болно:"
}
],
"message.team-already-member": [
{
"type": 0,
- "value": "You are already a member of the team."
+ "value": "Та аль хэдийн энэ багийн гишүүн болсон байна."
}
],
"message.team-not-found": [
{
"type": 0,
- "value": "Team not found."
+ "value": "Баг олдсонгүй."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Вебийг багийн бүх гишүүд үзэж болно."
}
],
"message.tracking-code": [
{
"type": 0,
- "value": "Мөрдөх код"
+ "value": "Энэ вебийн хандалтуудыг мөрдөхийн тулд доорх кодыг HTML-нхээ "
+ },
+ {
+ "children": [
+ {
+ "type": 0,
+ "value": "..."
+ }
+ ],
+ "type": 8,
+ "value": "head"
+ },
+ {
+ "type": 0,
+ "value": " хэсэгт байрлуулна уу."
}
],
"message.user-deleted": [
{
"type": 0,
- "value": "User deleted."
+ "value": "Хэрэглэгч устсан."
}
],
"message.visitor-log": [
@@ -972,23 +1434,5 @@
"type": 0,
"value": " хөтөч ашиглан орсон"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Та ямар нэгэн веб тохируулаагүй байна."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json
index 31eee0d2..e022e122 100644
--- a/public/intl/messages/ms-MY.json
+++ b/public/intl/messages/ms-MY.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Pentadbir"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Kembali"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Kadar lantunan"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Sahkan kata laluan"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Negara"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Julat tarikh"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Padam laman web"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Ketepikan"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domain"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Aktifkan url berkongsi"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Peristiwa"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Mentah"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -325,6 +511,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -337,12 +535,24 @@
"value": "Log keluar"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -355,6 +565,12 @@
"value": "Lebih banyak lagi"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -373,10 +589,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistem operasi"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -385,12 +607,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Paparan halaman"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -425,6 +671,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -437,6 +689,12 @@
"value": "Siaran langsung"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -455,6 +713,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -467,6 +731,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -485,12 +755,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -503,6 +785,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -533,6 +821,12 @@
"value": "Satu hari"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -563,12 +857,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -623,12 +929,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Kod penjejakan"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -641,6 +977,24 @@
"value": "Tidak diketahui"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -659,6 +1013,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -671,6 +1031,12 @@
"value": "Lihat butiran"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -683,6 +1049,12 @@
"value": "Pelawat"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -695,6 +1067,12 @@
"value": "Laman web"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -777,10 +1155,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Padam laman web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -841,18 +1241,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Tiada data yang boleh didapati."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Kata laluan tidak sepadan"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -865,6 +1297,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Anda tidak ada sebarang laman web yang telah dikonfigurasikan."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -874,7 +1312,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -915,6 +1361,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -960,23 +1412,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Anda tidak ada sebarang laman web yang telah dikonfigurasikan."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json
new file mode 100644
index 00000000..3995a22b
--- /dev/null
+++ b/public/intl/messages/my-MM.json
@@ -0,0 +1,1296 @@
+{
+ "label.access-code": [
+ {
+ "type": 0,
+ "value": "ဝင်ခွင့်ကုဒ်"
+ }
+ ],
+ "label.actions": [
+ {
+ "type": 0,
+ "value": "လုပ်ဆောင်ချက်များ"
+ }
+ ],
+ "label.activity-log": [
+ {
+ "type": 0,
+ "value": "လုပ်ဆောင်ချက်စာရင်း"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "ထပ်ထည့်မည်"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်"
+ }
+ ],
+ "label.add-website": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ်ထည့်မည်"
+ }
+ ],
+ "label.admin": [
+ {
+ "type": 0,
+ "value": "အက်ဒမင်"
+ }
+ ],
+ "label.all": [
+ {
+ "type": 0,
+ "value": "အားလုံး"
+ }
+ ],
+ "label.all-time": [
+ {
+ "type": 0,
+ "value": "အချိန်အစမှအခုထိ"
+ }
+ ],
+ "label.analytics": [
+ {
+ "type": 0,
+ "value": "အန်နလစ်တစ်"
+ }
+ ],
+ "label.average-visit-time": [
+ {
+ "type": 0,
+ "value": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်"
+ }
+ ],
+ "label.back": [
+ {
+ "type": 0,
+ "value": "နောက်သို့"
+ }
+ ],
+ "label.bounce-rate": [
+ {
+ "type": 0,
+ "value": "Bounce နှုန်း"
+ }
+ ],
+ "label.browsers": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဘရောင်ဇာများ"
+ }
+ ],
+ "label.cancel": [
+ {
+ "type": 0,
+ "value": "မလုပ်တော့ပါ"
+ }
+ ],
+ "label.change-password": [
+ {
+ "type": 0,
+ "value": "စကားဝှက် ပြောင်းမည်"
+ }
+ ],
+ "label.cities": [
+ {
+ "type": 0,
+ "value": "မြို့များ"
+ }
+ ],
+ "label.clear-all": [
+ {
+ "type": 0,
+ "value": "အားလုံးကိုဖျက်မည်"
+ }
+ ],
+ "label.confirm": [
+ {
+ "type": 0,
+ "value": "အတည်ပြုသည်"
+ }
+ ],
+ "label.confirm-password": [
+ {
+ "type": 0,
+ "value": "စကားဝှက်အတည်ပြုသည်"
+ }
+ ],
+ "label.continue": [
+ {
+ "type": 0,
+ "value": "ဆက်သွားမည်"
+ }
+ ],
+ "label.countries": [
+ {
+ "type": 0,
+ "value": "နိုင်ငံများ"
+ }
+ ],
+ "label.create-team": [
+ {
+ "type": 0,
+ "value": "Team ပြုလုပ်မည်"
+ }
+ ],
+ "label.create-user": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူထည့်မည်"
+ }
+ ],
+ "label.created": [
+ {
+ "type": 0,
+ "value": "ပြုလုပ်ပြီးသော"
+ }
+ ],
+ "label.current-password": [
+ {
+ "type": 0,
+ "value": "လက်ရှိစကားဝှက်"
+ }
+ ],
+ "label.custom-range": [
+ {
+ "type": 0,
+ "value": "အချိန်အပိုင်းအခြားရွေးရန်"
+ }
+ ],
+ "label.dashboard": [
+ {
+ "type": 0,
+ "value": "ဒက်ရှ်ဘုတ်"
+ }
+ ],
+ "label.data": [
+ {
+ "type": 0,
+ "value": "ဒေတာ"
+ }
+ ],
+ "label.date-range": [
+ {
+ "type": 0,
+ "value": "ရက်အပိုင်းအခြား"
+ }
+ ],
+ "label.default-date-range": [
+ {
+ "type": 0,
+ "value": "ပုံသေ ရက်အပိုင်းအခြား"
+ }
+ ],
+ "label.delete": [
+ {
+ "type": 0,
+ "value": "ဖျက်မည်"
+ }
+ ],
+ "label.delete-team": [
+ {
+ "type": 0,
+ "value": "Team ကိုဖျက်မည်"
+ }
+ ],
+ "label.delete-user": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူကိုဖျက်မည်"
+ }
+ ],
+ "label.delete-website": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်"
+ }
+ ],
+ "label.desktop": [
+ {
+ "type": 0,
+ "value": "စားပွဲတင်ကွန်ပျူတာ"
+ }
+ ],
+ "label.details": [
+ {
+ "type": 0,
+ "value": "အသေးစိတ်"
+ }
+ ],
+ "label.devices": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသည့် ကိရိယာများ"
+ }
+ ],
+ "label.dismiss": [
+ {
+ "type": 0,
+ "value": "ပိတ်ပါ"
+ }
+ ],
+ "label.domain": [
+ {
+ "type": 0,
+ "value": "ဒိုမိန်း"
+ }
+ ],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
+ "label.edit": [
+ {
+ "type": 0,
+ "value": "ပြုပြင်မည်"
+ }
+ ],
+ "label.edit-dashboard": [
+ {
+ "type": 0,
+ "value": "ဒက်ရှ်ဘုတ်ကို ပြုပြင်မည်"
+ }
+ ],
+ "label.enable-share-url": [
+ {
+ "type": 0,
+ "value": "ဝေငှခြင်းကိုလင့်ကို ဖွင့်မည်"
+ }
+ ],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "အဖြစ်အပျက်"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "အဖြစ်အပျက် ဒေတာ"
+ }
+ ],
+ "label.events": [
+ {
+ "type": 0,
+ "value": "အဖြစ်အပျက်များ"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field အမည်"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Field အမည်များ"
+ }
+ ],
+ "label.filter-combined": [
+ {
+ "type": 0,
+ "value": "ပေါင်းစပ်ပြီး"
+ }
+ ],
+ "label.filter-raw": [
+ {
+ "type": 0,
+ "value": "အရှိအတိုင်း"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "ဖန်နယ်"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "အသေးစိတ်သိမြင်နိုင်ရန်"
+ }
+ ],
+ "label.join": [
+ {
+ "type": 0,
+ "value": "ဝင်မည်"
+ }
+ ],
+ "label.join-team": [
+ {
+ "type": 0,
+ "value": "အသင်းဝင်မည်"
+ }
+ ],
+ "label.language": [
+ {
+ "type": 0,
+ "value": "ဘာသာစကား"
+ }
+ ],
+ "label.languages": [
+ {
+ "type": 0,
+ "value": "ဘာသာစကားများ"
+ }
+ ],
+ "label.laptop": [
+ {
+ "type": 0,
+ "value": "လက်တော့ပ်"
+ }
+ ],
+ "label.last-days": [
+ {
+ "type": 0,
+ "value": "လွန်ခဲ့သော "
+ },
+ {
+ "type": 1,
+ "value": "x"
+ },
+ {
+ "type": 0,
+ "value": " ရက်က"
+ }
+ ],
+ "label.last-hours": [
+ {
+ "type": 0,
+ "value": "လွန်ခဲ့သော "
+ },
+ {
+ "type": 1,
+ "value": "x"
+ },
+ {
+ "type": 0,
+ "value": " နာရီက"
+ }
+ ],
+ "label.leave": [
+ {
+ "type": 0,
+ "value": "ထွက်မည်"
+ }
+ ],
+ "label.leave-team": [
+ {
+ "type": 0,
+ "value": "အသင်းမှထွက်မည်"
+ }
+ ],
+ "label.login": [
+ {
+ "type": 0,
+ "value": "လော့ဂ်အင်"
+ }
+ ],
+ "label.logout": [
+ {
+ "type": 0,
+ "value": "လော့ဂ်အောက်လုပ်မည်"
+ }
+ ],
+ "label.members": [
+ {
+ "type": 0,
+ "value": "အဖွဲ့ဝင်များ"
+ }
+ ],
+ "label.mobile": [
+ {
+ "type": 0,
+ "value": "မိုဘိုင်း"
+ }
+ ],
+ "label.more": [
+ {
+ "type": 0,
+ "value": "နောက်ထပ်"
+ }
+ ],
+ "label.name": [
+ {
+ "type": 0,
+ "value": "အမည်"
+ }
+ ],
+ "label.new-password": [
+ {
+ "type": 0,
+ "value": "စကားဝှက်အသစ်"
+ }
+ ],
+ "label.none": [
+ {
+ "type": 0,
+ "value": "မရှိပါ"
+ }
+ ],
+ "label.operating-systems": [
+ {
+ "type": 0,
+ "value": "ကွန်ပျူတာလည်ပတ်မှုစနစ်"
+ }
+ ],
+ "label.owner": [
+ {
+ "type": 0,
+ "value": "ပိုင်ဆိုင်သူ"
+ }
+ ],
+ "label.page-views": [
+ {
+ "type": 0,
+ "value": "ဝင်ရောက်ကြည့်ရှုသူ"
+ }
+ ],
+ "label.pages": [
+ {
+ "type": 0,
+ "value": "စာမျက်နှာများ"
+ }
+ ],
+ "label.password": [
+ {
+ "type": 0,
+ "value": "စကားဝှက်"
+ }
+ ],
+ "label.powered-by": [
+ {
+ "type": 1,
+ "value": "name"
+ },
+ {
+ "type": 0,
+ "value": " ထောက်ပံ့သည်"
+ }
+ ],
+ "label.profile": [
+ {
+ "type": 0,
+ "value": "ပရိုဖိုင်း"
+ }
+ ],
+ "label.queries": [
+ {
+ "type": 0,
+ "value": "Queries (ကွာရီများ)"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query (ကွာရီ)"
+ }
+ ],
+ "label.query-parameters": [
+ {
+ "type": 0,
+ "value": "Query parameters (ကွာရီပါရာမီတာများ)"
+ }
+ ],
+ "label.realtime": [
+ {
+ "type": 0,
+ "value": "အချိန်နှင့်တပြေးညီ"
+ }
+ ],
+ "label.referrers": [
+ {
+ "type": 0,
+ "value": "ရည်ညွှန်းမှုများ"
+ }
+ ],
+ "label.refresh": [
+ {
+ "type": 0,
+ "value": "Refresh လုပ်မည်"
+ }
+ ],
+ "label.regenerate": [
+ {
+ "type": 0,
+ "value": "ပြန်ထုတ်မည်"
+ }
+ ],
+ "label.regions": [
+ {
+ "type": 0,
+ "value": "ဒေသများ"
+ }
+ ],
+ "label.remove": [
+ {
+ "type": 0,
+ "value": "ဖျက်မည်"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "တင်ပြမှုများ"
+ }
+ ],
+ "label.required": [
+ {
+ "type": 0,
+ "value": "လိုအပ်သည်"
+ }
+ ],
+ "label.reset": [
+ {
+ "type": 0,
+ "value": "ပြန်စမည်"
+ }
+ ],
+ "label.reset-website": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်"
+ }
+ ],
+ "label.role": [
+ {
+ "type": 0,
+ "value": "အခန်းကဏ္ဍ"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Query ကိုလုပ်ဆောင်မည်"
+ }
+ ],
+ "label.save": [
+ {
+ "type": 0,
+ "value": "သိမ်းဆည်းမည်"
+ }
+ ],
+ "label.screens": [
+ {
+ "type": 0,
+ "value": "မြင်ကွင်းများ"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "ရက်ရွေးပါ"
+ }
+ ],
+ "label.select-website": [
+ {
+ "type": 0,
+ "value": "ဝဘက်ဘ်ဆိုဒ်ရွေးပါ"
+ }
+ ],
+ "label.sessions": [
+ {
+ "type": 0,
+ "value": "ဆက်ရှင်များ"
+ }
+ ],
+ "label.settings": [
+ {
+ "type": 0,
+ "value": "ဆက်တင်များ"
+ }
+ ],
+ "label.share-url": [
+ {
+ "type": 0,
+ "value": "URL ကိုရှဲမည်"
+ }
+ ],
+ "label.single-day": [
+ {
+ "type": 0,
+ "value": "တစ်ရက်အတွင်း"
+ }
+ ],
+ "label.tablet": [
+ {
+ "type": 0,
+ "value": "တက်ဘလက်"
+ }
+ ],
+ "label.team": [
+ {
+ "type": 0,
+ "value": "အသင်း"
+ }
+ ],
+ "label.team-guest": [
+ {
+ "type": 0,
+ "value": "အသင်း ဧည့်သည်"
+ }
+ ],
+ "label.team-id": [
+ {
+ "type": 0,
+ "value": "အသင်း အိုင်ဒီ"
+ }
+ ],
+ "label.team-member": [
+ {
+ "type": 0,
+ "value": "အသင်းဝင်"
+ }
+ ],
+ "label.team-owner": [
+ {
+ "type": 0,
+ "value": "အသင်းကိုပိုင်ဆိုင်သူ"
+ }
+ ],
+ "label.teams": [
+ {
+ "type": 0,
+ "value": "အသင်းများ"
+ }
+ ],
+ "label.theme": [
+ {
+ "type": 0,
+ "value": "Theme (အပြင်အဆင်)"
+ }
+ ],
+ "label.this-month": [
+ {
+ "type": 0,
+ "value": "ယခုလ"
+ }
+ ],
+ "label.this-week": [
+ {
+ "type": 0,
+ "value": "ယခုအပတ်"
+ }
+ ],
+ "label.this-year": [
+ {
+ "type": 0,
+ "value": "ယခုနှစ်"
+ }
+ ],
+ "label.timezone": [
+ {
+ "type": 0,
+ "value": "အချိန်ဇုန်"
+ }
+ ],
+ "label.title": [
+ {
+ "type": 0,
+ "value": "ခေါင်းစဥ်"
+ }
+ ],
+ "label.today": [
+ {
+ "type": 0,
+ "value": "ယနေ့"
+ }
+ ],
+ "label.toggle-charts": [
+ {
+ "type": 0,
+ "value": "ဇယားများကို အဖွင့်အပိတ်လုပ်မည်"
+ }
+ ],
+ "label.tracking-code": [
+ {
+ "type": 0,
+ "value": "ထရက်လုပ်သည့် ကုဒ်"
+ }
+ ],
+ "label.unique-visitors": [
+ {
+ "type": 0,
+ "value": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)"
+ }
+ ],
+ "label.unknown": [
+ {
+ "type": 0,
+ "value": "မသိသော"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URL များ"
+ }
+ ],
+ "label.user": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူ"
+ }
+ ],
+ "label.username": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူအမည်"
+ }
+ ],
+ "label.users": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူများ"
+ }
+ ],
+ "label.view": [
+ {
+ "type": 0,
+ "value": "ဝင်ရောက်ကြည့်ရှုမှု"
+ }
+ ],
+ "label.view-details": [
+ {
+ "type": 0,
+ "value": "အသေးစိတ်ကို ကြည့်ရှုမည်"
+ }
+ ],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "ဝင်ရောက်ကြည့်ရှုမှုများသာ"
+ }
+ ],
+ "label.views": [
+ {
+ "type": 0,
+ "value": "ဝင်ရောက်ကြည့်ရှုမှုများ"
+ }
+ ],
+ "label.visitors": [
+ {
+ "type": 0,
+ "value": "ဝင်ရောက်ကြည့်ရှုသူများ"
+ }
+ ],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ်"
+ }
+ ],
+ "label.website-id": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ် အိုင်ဒီ"
+ }
+ ],
+ "label.websites": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ်များ"
+ }
+ ],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "ဝင်းဒိုး"
+ }
+ ],
+ "label.yesterday": [
+ {
+ "type": 0,
+ "value": "မနေ့က"
+ }
+ ],
+ "labels.after": [
+ {
+ "type": 0,
+ "value": "ပြီးနောက်"
+ }
+ ],
+ "labels.average": [
+ {
+ "type": 0,
+ "value": "ပျမ်းမျှ"
+ }
+ ],
+ "labels.before": [
+ {
+ "type": 0,
+ "value": "မတိုင်မီ"
+ }
+ ],
+ "labels.breakdown": [
+ {
+ "type": 0,
+ "value": "ခွဲခြမ်းစိတ်ဖြာမှု"
+ }
+ ],
+ "labels.contains": [
+ {
+ "type": 0,
+ "value": "ပါဝင်သည်"
+ }
+ ],
+ "labels.create-report": [
+ {
+ "type": 0,
+ "value": "ရီပို့လုပ်မည်"
+ }
+ ],
+ "labels.description": [
+ {
+ "type": 0,
+ "value": "ရှင်းပြချက်"
+ }
+ ],
+ "labels.does-not-contain": [
+ {
+ "type": 0,
+ "value": "မပါဝင်ပါ"
+ }
+ ],
+ "labels.does-not-equal": [
+ {
+ "type": 0,
+ "value": "မတူညီပါ"
+ }
+ ],
+ "labels.equals": [
+ {
+ "type": 0,
+ "value": "တူညီသည်"
+ }
+ ],
+ "labels.false": [
+ {
+ "type": 0,
+ "value": "မှားသည်"
+ }
+ ],
+ "labels.filters": [
+ {
+ "type": 0,
+ "value": "Filter များ"
+ }
+ ],
+ "labels.greater-than": [
+ {
+ "type": 0,
+ "value": "ထက်ပို၍ကြီးသည်"
+ }
+ ],
+ "labels.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်"
+ }
+ ],
+ "labels.less-than": [
+ {
+ "type": 0,
+ "value": "ထက်ပို၍ငယ်သည်"
+ }
+ ],
+ "labels.less-than-equals": [
+ {
+ "type": 0,
+ "value": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်"
+ }
+ ],
+ "labels.max": [
+ {
+ "type": 0,
+ "value": "အများဆုံး"
+ }
+ ],
+ "labels.min": [
+ {
+ "type": 0,
+ "value": "အနည်းဆုံး"
+ }
+ ],
+ "labels.overview": [
+ {
+ "type": 0,
+ "value": "အပေါ်ယံမြင်ကွင်း"
+ }
+ ],
+ "labels.sum": [
+ {
+ "type": 0,
+ "value": "ပေါင်းလဒ်"
+ }
+ ],
+ "labels.total": [
+ {
+ "type": 0,
+ "value": "စုစုပေါင်း"
+ }
+ ],
+ "labels.total-records": [
+ {
+ "type": 0,
+ "value": "မှတ်တမ်းစုစုပေါင်း"
+ }
+ ],
+ "labels.true": [
+ {
+ "type": 0,
+ "value": "မှန်သည်"
+ }
+ ],
+ "labels.type": [
+ {
+ "type": 0,
+ "value": "အမျိုးအစား"
+ }
+ ],
+ "labels.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
+ "labels.untitled": [
+ {
+ "type": 0,
+ "value": "ခေါင်းစဉ်မရှိ"
+ }
+ ],
+ "labels.value": [
+ {
+ "type": 0,
+ "value": "တန်ဖိုး"
+ }
+ ],
+ "message.active-users": [
+ {
+ "type": 1,
+ "value": "x"
+ },
+ {
+ "type": 0,
+ "value": " လက်ရှိအသုံးပြုနေသူ "
+ },
+ {
+ "offset": 0,
+ "options": {
+ "one": {
+ "value": [
+ {
+ "type": 0,
+ "value": "ယောက်"
+ }
+ ]
+ },
+ "other": {
+ "value": [
+ {
+ "type": 0,
+ "value": "ယောက်"
+ }
+ ]
+ }
+ },
+ "pluralType": "cardinal",
+ "type": 6,
+ "value": "x"
+ }
+ ],
+ "message.confirm-delete": [
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": " ကို ဖျက်ရန် သေချာပါသလား?"
+ }
+ ],
+ "message.confirm-leave": [
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": " ကို ထွက်ရန် သေချာပါသလား?"
+ }
+ ],
+ "message.confirm-reset": [
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": " ကို ဖျက်၍ပြန်စလုပ်ရန် သေချာပါသလား?"
+ }
+ ],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "ဤအကောင့်ကိုဖျက်ရန် "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " ကို ရိုက်ထည့်ပေးပါ."
+ }
+ ],
+ "message.delete-website": [
+ {
+ "type": 0,
+ "value": "ဤ ဝက်ဘ်ဆိုဒ်ကိုဖျက်ရန် "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " ကို ရိုက်ထည့်ပေးပါ"
+ }
+ ],
+ "message.delete-website-warning": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ် ဒေတာအကုန် ဖျက်မည်"
+ }
+ ],
+ "message.error": [
+ {
+ "type": 0,
+ "value": "မှားယွင်းမှုတစ်ခု ရှိသွားပါသည်"
+ }
+ ],
+ "message.event-log": [
+ {
+ "type": 1,
+ "value": "url"
+ },
+ {
+ "type": 0,
+ "value": " တွင် "
+ },
+ {
+ "type": 1,
+ "value": "event"
+ }
+ ],
+ "message.go-to-settings": [
+ {
+ "type": 0,
+ "value": "ဆက်တင်သို့ သွားရန်"
+ }
+ ],
+ "message.incorrect-username-password": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူအမည် သို့မဟုတ် စကားဝှက် မှားနေသည်"
+ }
+ ],
+ "message.invalid-domain": [
+ {
+ "type": 0,
+ "value": "ဒိုမိန်း မမှန်ပါ http/https. မပါရပါ"
+ }
+ ],
+ "message.min-password-length": [
+ {
+ "type": 0,
+ "value": "အနည်းဆုံး "
+ },
+ {
+ "type": 1,
+ "value": "n"
+ },
+ {
+ "type": 0,
+ "value": " character ရှိရမည်"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "အူမာမီ "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " အသစ်ထွက်နေပါပြီ"
+ }
+ ],
+ "message.no-data-available": [
+ {
+ "type": 0,
+ "value": "ဒေတာ မရှိပါ"
+ }
+ ],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "အဖြစ်အပျက်ဒေတာ မရှိပါ"
+ }
+ ],
+ "message.no-match-password": [
+ {
+ "type": 0,
+ "value": "စကားဝှက် မှားနေသည်"
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "ရလဒ်မရှိပါ"
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "ဤအသင်းတွင် ဝက်ဘ်ဆိုက်မရှိသေးပါ"
+ }
+ ],
+ "message.no-teams": [
+ {
+ "type": 0,
+ "value": "အသင်း မပြုလုပ်ရသေးပါ"
+ }
+ ],
+ "message.no-users": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူ မရှိသေးပါ"
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "ဝက်ဘ်ဆိုဒ်တစ်ခုမှ မထည့်ရသေးပါ"
+ }
+ ],
+ "message.page-not-found": [
+ {
+ "type": 0,
+ "value": "ဤစာမျက်နှာသည် မရှိပါ"
+ }
+ ],
+ "message.reset-website": [
+ {
+ "type": 0,
+ "value": "ဤ ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်၍ ပြန်စလုပ်ရန် အောက်တွင် "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " ကို ရိုက်ထည့်ပေးပါ"
+ }
+ ],
+ "message.reset-website-warning": [
+ {
+ "type": 0,
+ "value": "ဤဝက်ဘ်ဆိုဒ်က စာရင်းအချက်အလက်များကို ဖျက်မည်၊ ဆက်တင်ဒေတာများ မပါပါ"
+ }
+ ],
+ "message.saved": [
+ {
+ "type": 0,
+ "value": "မှတ်သားပြီး"
+ }
+ ],
+ "message.share-url": [
+ {
+ "type": 0,
+ "value": "သင့်ဝက်ဆိုဒ်ဘ်၏ စာရင်းအချက်အလက်များကို အောက်ပါ URL တွင် ဝင်ရောက်ကြည့်ရှုနိုင်သည်"
+ }
+ ],
+ "message.team-already-member": [
+ {
+ "type": 0,
+ "value": "ဤအသင်းတွင် ဝင်ပြီးသားဖြစ်နေသည်"
+ }
+ ],
+ "message.team-not-found": [
+ {
+ "type": 0,
+ "value": "အသင်း မရှိပါ"
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "ဤဝက်ဘ်ဆိုဒ်များကို အသင်းထဲမှ လူတိုင်းဝင်ကြည့်နိုင်သည်"
+ }
+ ],
+ "message.tracking-code": [
+ {
+ "type": 0,
+ "value": "ဤဝက်ဘ်ဆိုဒ်၏ ဒေတာကိုကောက်ခံရန် အောက်ပါ code ကို သင်၏ HTML တွင်ထည့်ပါ"
+ }
+ ],
+ "message.user-deleted": [
+ {
+ "type": 0,
+ "value": "အသုံးပြုသူ ဖျက်ပြီးပါပြီ"
+ }
+ ],
+ "message.visitor-log": [
+ {
+ "type": 1,
+ "value": "country"
+ },
+ {
+ "type": 0,
+ "value": " မှ "
+ },
+ {
+ "type": 1,
+ "value": "browser"
+ },
+ {
+ "type": 0,
+ "value": " ဖြင့် "
+ },
+ {
+ "type": 1,
+ "value": "os"
+ },
+ {
+ "type": 0,
+ "value": " "
+ },
+ {
+ "type": 1,
+ "value": "device"
+ },
+ {
+ "type": 0,
+ "value": " တွင် ဝင်ရောက်ကြည့်ရှုသူ"
+ }
+ ]
+}
diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json
index bf9ffcd9..82576ff8 100644
--- a/public/intl/messages/nb-NO.json
+++ b/public/intl/messages/nb-NO.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Tilbake"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Avvisningsfrekvens"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Godkjenn passord"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Land"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Datointervall"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Slett nettstedet"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Avbryt"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domene"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Aktiver delings-URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Arrangementer"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Rå"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Logg ut"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Mer"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operativsystemer"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Eier"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Sidevisninger"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Sanntid"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Nullstill statistikk"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Enkelt dag"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Veksle grafer"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Sporingskode"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Ukjent"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Vis detaljer"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Besøkende"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Nettsteder"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -789,10 +1167,32 @@
"value": "'s statistikk?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Slett nettstedet"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -853,18 +1253,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Ingen data tilgjengelig."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Passordene er ikke like"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -877,6 +1309,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Du har ikke satt opp noen nettsteder."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -886,7 +1324,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Nullstill statistikk"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -927,6 +1373,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -972,23 +1424,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Du har ikke satt opp noen nettsteder."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json
index bdaa16cb..5ee25206 100644
--- a/public/intl/messages/nl-NL.json
+++ b/public/intl/messages/nl-NL.json
@@ -2,7 +2,7 @@
"label.access-code": [
{
"type": 0,
- "value": "Access code"
+ "value": "Toegangscode"
}
],
"label.actions": [
@@ -14,19 +14,37 @@
"label.activity-log": [
{
"type": 0,
- "value": "Activity log"
+ "value": "Activiteiten logboek"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
{
"type": 0,
- "value": "Website toevoegen"
+ "value": "Website koppelen"
}
],
"label.admin": [
{
"type": 0,
- "value": "Administrator"
+ "value": "Beheerder"
+ }
+ ],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
}
],
"label.all": [
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Terug"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Bouncepercentage"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -86,19 +128,25 @@
"label.cities": [
{
"type": 0,
- "value": "Cities"
+ "value": "Steden"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
}
],
"label.clear-all": [
{
"type": 0,
- "value": "Clear all"
+ "value": "Filters wissen"
}
],
"label.confirm": [
{
"type": 0,
- "value": "Confirm"
+ "value": "Bevestigen"
}
],
"label.confirm-password": [
@@ -107,10 +155,16 @@
"value": "Wachtwoord bevestigen"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
- "value": "Continue"
+ "value": "Doorgaan"
}
],
"label.countries": [
@@ -119,22 +173,34 @@
"value": "Landen"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
- "value": "Create team"
+ "value": "Team aanmaken"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Create user"
+ "value": "Gebruiker maken"
}
],
"label.created": [
{
"type": 0,
- "value": "Created"
+ "value": "Gemaakt"
}
],
"label.current-password": [
@@ -158,7 +224,13 @@
"label.data": [
{
"type": 0,
- "value": "Data"
+ "value": "Gegevens"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
}
],
"label.date-range": [
@@ -167,6 +239,12 @@
"value": "Datumbereik"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Delete team"
+ "value": "Team verwijderen"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Delete user"
+ "value": "Verwijder gebruiker"
}
],
"label.delete-website": [
@@ -197,16 +275,28 @@
"value": "Website verwijderen"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
- "value": "Desktop"
+ "value": "Computer"
}
],
"label.details": [
{
"type": 0,
- "value": "Details"
+ "value": "Informatie"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
}
],
"label.devices": [
@@ -221,12 +311,24 @@
"value": "Negeren"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domein"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -236,7 +338,7 @@
"label.edit-dashboard": [
{
"type": 0,
- "value": "Edit dashboard"
+ "value": "Dashboard aanpassen"
}
],
"label.enable-share-url": [
@@ -245,12 +347,42 @@
"value": "Sta delen via openbare URL toe"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Gebeurtenissen"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,16 +395,70 @@
"value": "Ruw"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
- "value": "Join"
+ "value": "Lid worden"
}
],
"label.join-team": [
{
"type": 0,
- "value": "Join team"
+ "value": "Word lid van een team"
}
],
"label.language": [
@@ -284,7 +470,7 @@
"label.languages": [
{
"type": 0,
- "value": "Languages"
+ "value": "Talen"
}
],
"label.laptop": [
@@ -324,13 +510,25 @@
"label.leave": [
{
"type": 0,
- "value": "Leave"
+ "value": "Verlaten"
}
],
"label.leave-team": [
{
"type": 0,
- "value": "Leave team"
+ "value": "Verlaat team"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
}
],
"label.login": [
@@ -345,10 +543,22 @@
"value": "Uitloggen"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
- "value": "Members"
+ "value": "Gebruikers"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
}
],
"label.mobile": [
@@ -363,6 +573,12 @@
"value": "Toon meer"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Geen"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Besturingssystemen"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Eigenaar"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Paginaweergaven"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -430,13 +676,19 @@
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "Parameters"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
}
],
"label.query-parameters": [
{
"type": 0,
- "value": "Query parameters"
+ "value": "URL-parameters"
}
],
"label.realtime": [
@@ -445,6 +697,12 @@
"value": "Actueel"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -460,19 +718,31 @@
"label.regenerate": [
{
"type": 0,
- "value": "Regenerate"
+ "value": "Opnieuw genereren"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
}
],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "Regio's"
}
],
"label.remove": [
{
"type": 0,
- "value": "Remove"
+ "value": "Verwijderen"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
}
],
"label.required": [
@@ -484,7 +754,7 @@
"label.reset": [
{
"type": 0,
- "value": "Resetten"
+ "value": "Opnieuw instellen"
}
],
"label.reset-website": [
@@ -493,10 +763,22 @@
"value": "Statistieken opnieuw instellen"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
- "value": "Role"
+ "value": "Gebruikersrol"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
}
],
"label.save": [
@@ -511,16 +793,22 @@
"value": "Schermen"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
- "value": "Select website"
+ "value": "Website selecteren"
}
],
"label.sessions": [
{
"type": 0,
- "value": "Sessions"
+ "value": "Sessies"
}
],
"label.settings": [
@@ -541,6 +829,12 @@
"value": "Enkele dag"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -556,7 +850,7 @@
"label.team-guest": [
{
"type": 0,
- "value": "Team guest"
+ "value": "Team gast"
}
],
"label.team-id": [
@@ -568,13 +862,25 @@
"label.team-member": [
{
"type": 0,
- "value": "Team member"
+ "value": "Teamlid"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
}
],
"label.team-owner": [
{
"type": 0,
- "value": "Team owner"
+ "value": "Teameigenaar"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
}
],
"label.teams": [
@@ -616,7 +922,7 @@
"label.title": [
{
"type": 0,
- "value": "Title"
+ "value": "Titel"
}
],
"label.today": [
@@ -631,12 +937,42 @@
"value": "Grafieken tonen/verbergen"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Volgcode"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,10 +985,28 @@
"value": "Onbekend"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "Gebruiker"
}
],
"label.username": [
@@ -664,13 +1018,19 @@
"label.users": [
{
"type": 0,
- "value": "Users"
+ "value": "Gebruikers"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
}
],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "Weergave"
}
],
"label.view-details": [
@@ -679,6 +1039,12 @@
"value": "Meer details"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Bezoekers"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,10 +1075,16 @@
"value": "Websites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
- "value": "Yesterday"
+ "value": "Gisteren"
}
],
"message.active-users": [
@@ -760,7 +1138,7 @@
"message.confirm-leave": [
{
"type": 0,
- "value": "Are you sure you want to leave "
+ "value": "Weet je zeker dat je "
},
{
"type": 1,
@@ -768,7 +1146,7 @@
},
{
"type": 0,
- "value": "?"
+ "value": " wilt verlaten?"
}
],
"message.confirm-reset": [
@@ -785,10 +1163,32 @@
"value": " opnieuw wilt instellen?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Website verwijderen"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -810,7 +1210,7 @@
},
{
"type": 0,
- "value": " on "
+ "value": " op "
},
{
"type": 1,
@@ -838,7 +1238,7 @@
"message.min-password-length": [
{
"type": 0,
- "value": "Minimum length of "
+ "value": "Minimale lengte van "
},
{
"type": 1,
@@ -846,7 +1246,21 @@
},
{
"type": 0,
- "value": " characters"
+ "value": " tekens"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
}
],
"message.no-data-available": [
@@ -855,22 +1269,46 @@
"value": "Geen gegevens beschikbaar."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Wachtwoorden komen niet overeen"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Er zijn geen websites gekoppeld aan dit team."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
- "value": "You have not created any teams."
+ "value": "Er zijn nog geen teams aangemaakt."
}
],
"message.no-users": [
{
"type": 0,
- "value": "There are no users."
+ "value": "Er zijn geen gebruikers."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Je hebt geen websites ingesteld."
}
],
"message.page-not-found": [
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Statistieken opnieuw instellen"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -914,13 +1360,19 @@
"message.team-already-member": [
{
"type": 0,
- "value": "You are already a member of the team."
+ "value": "Je bent al lid van het team."
}
],
"message.team-not-found": [
{
"type": 0,
- "value": "Team not found."
+ "value": "Team niet gevonden."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites kunnen door iedereen in het team worden bekeken."
}
],
"message.tracking-code": [
@@ -932,7 +1384,7 @@
"message.user-deleted": [
{
"type": 0,
- "value": "User deleted."
+ "value": "Gebruiker verwijderd."
}
],
"message.visitor-log": [
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Je hebt geen websites ingesteld."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json
index ba133523..6da1ff7a 100644
--- a/public/intl/messages/pl-PL.json
+++ b/public/intl/messages/pl-PL.json
@@ -17,6 +17,18 @@
"value": "Dziennik aktywności"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Dodaj"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Dodaj opis"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "Po"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analityka"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Średnia"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Powrót"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Przed"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Współczynnik odrzuceń"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Rozbicie"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Miasta"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Potwierdź hasło"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Zawiera"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Kraje"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Stwórz raport"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Zakres dat"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Usuń witrynę"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Opis"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Szczegóły"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Odrzuć"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Nie zawiera"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domena"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Włącz udostępnianie adresu URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Dane zdarzenia"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Zdarzenia"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "Fałsz"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Pole"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Pola"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Surowe dane"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filtry"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Lejek"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Większe niż"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Większe niż lub równe"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Równe"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Nie jest równe"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Opuść zespół"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Mniejsze niż"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Mniejsze niż lub równe"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Wyloguj"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Maks"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Członkowie"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Więcej"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Brak"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "System operacyjny"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Przegląd"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Właściciel"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Wyświetlenia strony"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,10 +679,16 @@
"value": "Zapytania"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Zapytanie"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
- "value": "Parametry query"
+ "value": "Parametry zapytania"
}
],
"label.realtime": [
@@ -445,6 +697,12 @@
"value": "Czas rzeczywisty"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Wygeneruj ponownie"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Usuń"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Raporty"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Zresetuj statystyki"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Uruchom zapytanie"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Ekrany"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Wybierz datę"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "W tym dniu"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Suma"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Członek zespołu"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Właściciel zespołu"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Przełącz wykresy"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "W sumie"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Suma rekordów"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Kod śledzenia"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "Prawda"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Typ"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unikalne"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Nieznany"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Bez tytułu"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "Link"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "Linki"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Użytkownicy"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Wartość"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Pokaż szczegóły"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "Tylko do odczytu"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Odwiedzający"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Witryna"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Witryny"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Okno"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "Aby usunąć to konto, wpisz "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " w polu poniżej, aby potwierdzić."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Usuń witrynę"
+ "value": "Aby usunąć tę stronę, wpisz "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " w polu poniżej, aby potwierdzić."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " znaków"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Brak dostępnych danych."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "Brak dostępnych danych o zdarzeniach."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Hasła się nie zgadzają"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "Nie znaleziono wyników."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Ten zespół nie ma żadnych witryn internetowych."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "Nie ma żadnych użytkowników."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Nie masz skonfigurowanych żadnych witryn internetowych."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Zresetuj statystyki"
+ "value": "Aby zresetować tę witrynę, wpisz "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " w polu poniżej, aby potwierdzić."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Nie znaleziono zespołu."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Strony internetowe mogą być przeglądane przez każdego członka zespołu."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "Ten zespół nie ma żadnych witryn internetowych."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Nie masz skonfigurowanych żadnych witryn internetowych."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Strony internetowe mogą być przeglądane przez każdego członka zespołu."
- }
]
}
diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json
index ffd77c16..ba508a50 100644
--- a/public/intl/messages/pt-BR.json
+++ b/public/intl/messages/pt-BR.json
@@ -2,7 +2,7 @@
"label.access-code": [
{
"type": 0,
- "value": "Access code"
+ "value": "Código de acesso"
}
],
"label.actions": [
@@ -14,7 +14,19 @@
"label.activity-log": [
{
"type": 0,
- "value": "Activity log"
+ "value": "Log de atividade"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
@@ -29,6 +41,12 @@
"value": "Administrador"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "Depois"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -44,7 +62,13 @@
"label.analytics": [
{
"type": 0,
- "value": "Analytics"
+ "value": "Estatísticas"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
}
],
"label.average-visit-time": [
@@ -59,12 +83,30 @@
"value": "Voltar"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Antes"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Taxa de rejeição"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -86,19 +128,25 @@
"label.cities": [
{
"type": 0,
- "value": "Cities"
+ "value": "Cidades"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
}
],
"label.clear-all": [
{
"type": 0,
- "value": "Clear all"
+ "value": "Limpar tudo"
}
],
"label.confirm": [
{
"type": 0,
- "value": "Confirm"
+ "value": "Confirmar"
}
],
"label.confirm-password": [
@@ -107,10 +155,16 @@
"value": "Confirme a nova senha"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
- "value": "Continue"
+ "value": "Continuar"
}
],
"label.countries": [
@@ -119,22 +173,34 @@
"value": "Países"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Criar relatório"
+ }
+ ],
"label.create-team": [
{
"type": 0,
- "value": "Create team"
+ "value": "Criar time"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Create user"
+ "value": "Criar usuário"
}
],
"label.created": [
{
"type": 0,
- "value": "Created"
+ "value": "Criado"
}
],
"label.current-password": [
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Intervalo de datas"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Delete team"
+ "value": "Remover time"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Delete user"
+ "value": "Remover usuário"
}
],
"label.delete-website": [
@@ -197,6 +275,12 @@
"value": "Remover site"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Descrição"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -206,7 +290,13 @@
"label.details": [
{
"type": 0,
- "value": "Details"
+ "value": "Detalhes"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
}
],
"label.devices": [
@@ -221,12 +311,24 @@
"value": "Dispensar"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domínio"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -236,7 +338,7 @@
"label.edit-dashboard": [
{
"type": 0,
- "value": "Edit dashboard"
+ "value": "Editar painel"
}
],
"label.enable-share-url": [
@@ -245,12 +347,42 @@
"value": "Ativar link de compartilhamento"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Evento"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Eventos"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Campo"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Campos"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,16 +395,70 @@
"value": "Dados brutos"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funil"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Maior que"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Maior que ou igual"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
- "value": "Join"
+ "value": "Entrar"
}
],
"label.join-team": [
{
"type": 0,
- "value": "Join team"
+ "value": "Entrar no time"
}
],
"label.language": [
@@ -324,13 +510,25 @@
"label.leave": [
{
"type": 0,
- "value": "Leave"
+ "value": "Sair"
}
],
"label.leave-team": [
{
"type": 0,
- "value": "Leave team"
+ "value": "Sair do time"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Menor que"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Menor que ou igual"
}
],
"label.login": [
@@ -345,10 +543,22 @@
"value": "Sair"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
- "value": "Members"
+ "value": "Membros"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
}
],
"label.mobile": [
@@ -363,6 +573,12 @@
"value": "Mais"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -378,13 +594,19 @@
"label.none": [
{
"type": 0,
- "value": "None"
+ "value": "Nenhum"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistemas operacionais"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Proprietário"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Visualizações de página"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -430,7 +676,13 @@
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "Parâmetros"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
}
],
"label.query-parameters": [
@@ -445,6 +697,12 @@
"value": "Tempo real"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -460,19 +718,31 @@
"label.regenerate": [
{
"type": 0,
- "value": "Regenerate"
+ "value": "Regerar"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
}
],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "Regiões"
}
],
"label.remove": [
{
"type": 0,
- "value": "Remove"
+ "value": "Remover"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
}
],
"label.required": [
@@ -493,10 +763,22 @@
"value": "Redefinir estatísticas"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
- "value": "Role"
+ "value": "Papel"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Executar query"
}
],
"label.save": [
@@ -511,16 +793,22 @@
"value": "Telas"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Selecionar data"
+ }
+ ],
"label.select-website": [
{
"type": 0,
- "value": "Select website"
+ "value": "Selecionar site"
}
],
"label.sessions": [
{
"type": 0,
- "value": "Sessions"
+ "value": "Sessões"
}
],
"label.settings": [
@@ -541,6 +829,12 @@
"value": "Dia específico"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -550,37 +844,49 @@
"label.team": [
{
"type": 0,
- "value": "Team"
+ "value": "Time"
}
],
"label.team-guest": [
{
"type": 0,
- "value": "Team guest"
+ "value": "Convidado"
}
],
"label.team-id": [
{
"type": 0,
- "value": "Team ID"
+ "value": "ID do Time"
}
],
"label.team-member": [
{
"type": 0,
- "value": "Team member"
+ "value": "Membro"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
}
],
"label.team-owner": [
{
"type": 0,
- "value": "Team owner"
+ "value": "Proprietário"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
}
],
"label.teams": [
{
"type": 0,
- "value": "Teams"
+ "value": "Times"
}
],
"label.theme": [
@@ -616,7 +922,7 @@
"label.title": [
{
"type": 0,
- "value": "Title"
+ "value": "Título"
}
],
"label.today": [
@@ -631,12 +937,42 @@
"value": "Mostrar/Esconder gráficos"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Código de rastreamento"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Tipo"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Único"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,10 +985,28 @@
"value": "Desconhecido"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Sem título"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "Usuário"
}
],
"label.username": [
@@ -664,13 +1018,19 @@
"label.users": [
{
"type": 0,
- "value": "Users"
+ "value": "Usuários"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Valor"
}
],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "Ver"
}
],
"label.view-details": [
@@ -679,6 +1039,12 @@
"value": "Ver detalhes"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "Somente visualização"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,10 +1057,16 @@
"value": "Visitantes"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
- "value": "Website ID"
+ "value": "ID do Site"
}
],
"label.websites": [
@@ -703,6 +1075,12 @@
"value": "Sites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Janela"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -764,7 +1142,7 @@
"message.confirm-leave": [
{
"type": 0,
- "value": "Are you sure you want to leave "
+ "value": "Você tem certeza que deseja sair de "
},
{
"type": 1,
@@ -789,10 +1167,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "Para excluir esta conta, digite "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " na caixa abaixo para confirmar."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Remover site"
+ "value": "Para excluir este website, digite "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " na caixa abaixo para confirmar."
}
],
"message.delete-website-warning": [
@@ -814,7 +1214,7 @@
},
{
"type": 0,
- "value": " on "
+ "value": " em "
},
{
"type": 1,
@@ -842,7 +1242,7 @@
"message.min-password-length": [
{
"type": 0,
- "value": "Minimum length of "
+ "value": "Quantidade mínima de "
},
{
"type": 1,
@@ -850,7 +1250,21 @@
},
{
"type": 0,
- "value": " characters"
+ "value": " caracteres"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "Uma nova versão do Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " está disponível!"
}
],
"message.no-data-available": [
@@ -859,22 +1273,46 @@
"value": "Sem dados disponíveis."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "Nenhum dado de evento está disponível."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "As senhas não correspondem"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "Nenhum resultado foi encontrado."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Este time não possui nenhum site."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
- "value": "You have not created any teams."
+ "value": "Você não criou nenhum time."
}
],
"message.no-users": [
{
"type": 0,
- "value": "There are no users."
+ "value": "Não há nenhum usuário."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Nenhum site foi configurado ainda."
}
],
"message.page-not-found": [
@@ -886,7 +1324,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Redefinir estatísticas"
+ "value": "Para redefinir este site, digite "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " na caixa abaixo para confirmar."
}
],
"message.reset-website-warning": [
@@ -918,13 +1364,19 @@
"message.team-already-member": [
{
"type": 0,
- "value": "You are already a member of the team."
+ "value": "Você já um membro do time."
}
],
"message.team-not-found": [
{
"type": 0,
- "value": "Team not found."
+ "value": "Time não encontrado."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Os sites podem ser visualizados por qualquer membro da equipe."
}
],
"message.tracking-code": [
@@ -936,7 +1388,7 @@
"message.user-deleted": [
{
"type": 0,
- "value": "User deleted."
+ "value": "Usuário removido."
}
],
"message.visitor-log": [
@@ -972,23 +1424,5 @@
"type": 1,
"value": "os"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Nenhum site foi configurado ainda."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json
index 079af91b..a6431fb3 100644
--- a/public/intl/messages/pt-PT.json
+++ b/public/intl/messages/pt-PT.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrador"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Voltar"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Taxa de rejeição"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirmar senha"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Países"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Intervalo de datas"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Eliminar website"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Ignorar"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domínio"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Ativar link de partilha"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Eventos"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Dados brutos"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Sair"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Mais"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sistemas operativos"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Proprietário"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Visualizações da página"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Tempo real"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Repor estatísticas"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Dia único"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Alternar gráficos"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Código de rastreamento"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Desconhecido"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Ver detalhes"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Visitantes"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Websites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -789,10 +1167,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Eliminar website"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -853,18 +1253,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Sem dados disponíveis."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "As senhas não coincidem"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -877,6 +1309,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Não tens nenhum website configurado."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -886,7 +1324,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Repor estatísticas"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -927,6 +1373,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -972,23 +1424,5 @@
"type": 1,
"value": "os"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Não tens nenhum website configurado."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json
index 5ea1dece..1438ab41 100644
--- a/public/intl/messages/ro-RO.json
+++ b/public/intl/messages/ro-RO.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Înapoi"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Rata de respingere"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Confirmare parolă"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Țări"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Interval de date"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Ștergere site web"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Renunță"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domeniu"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Activare adresă URL de distribuire"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Evenimente"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Brut"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Iesire din cont"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Mai mult"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Sisteme de operare"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Vizualizări de pagină"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Realtime"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Resetează statisticile pentru site"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "O singură zi"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Schimbă graficele"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Cod de urmărire"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Necunoscut"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Vizualizare detalii"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Vizitatori"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Site-uri web"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Ștergere site web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Nici o informație disponibilă."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Parolele nu se potrivesc"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Nu aveți niciun site web configurat."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Resetează statisticile pentru site"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Nu aveți niciun site web configurat."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json
index 155828c5..b3213e67 100644
--- a/public/intl/messages/ru-RU.json
+++ b/public/intl/messages/ru-RU.json
@@ -17,6 +17,18 @@
"value": "Журнал активности"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Администратор"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Аналитика"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Назад"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Отказы"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Города"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Подтвердить пароль"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Страны"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Данные"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Диапазон дат"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Удалить сайт"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Подробности"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,16 +311,28 @@
"value": "Отклонить"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Домен"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
- "value": "Редактировать"
+ "value": "Изменить"
}
],
"label.edit-dashboard": [
@@ -245,12 +347,42 @@
"value": "Разрешить делиться ссылкой"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "События"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Сырые данные"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Покинуть команду"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Выйти"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Участники"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Больше"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "Не указано"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Операционные системы"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Владелец"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Просмотры страниц"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Запросы"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Реальное время"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Обновить"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Удалить"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Сбросить статистику"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Роль"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Экраны"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Один день"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Член команды"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Владелец команды"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Показать/скрыть графики"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Код отслеживания"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Неизвестно"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Пользователи"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Посмотреть детали"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Посетители"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Сайты"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -761,10 +1139,24 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Удалить сайт"
+ "value": "Для удаления введите DELETE"
}
],
"message.delete-website-warning": [
@@ -825,18 +1217,50 @@
"value": " символов"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Нет данных."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Пароли не совпадают"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "У этой команды нет ни одного сайта."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -849,6 +1273,12 @@
"value": "Нет пользователей."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "У вас нет настроенных сайтов."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -858,7 +1288,7 @@
"message.reset-website": [
{
"type": 0,
- "value": "Сбросить статистику"
+ "value": "Для сброса введите RESET"
}
],
"message.reset-website-warning": [
@@ -899,6 +1329,12 @@
"value": "Команда не найдена."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Сайты могут просматривать все члены команды."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -944,23 +1380,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "У этой команды нет ни одного сайта."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "У вас нет настроенных сайтов."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Сайты могут просматривать все члены команды."
- }
]
}
diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json
index 82898fbd..f4e5bca2 100644
--- a/public/intl/messages/si-LK.json
+++ b/public/intl/messages/si-LK.json
@@ -1,26 +1,32 @@
{
- "label.accounts": [
+ "label.access-code": [
{
"type": 0,
- "value": "ගිණුම්"
+ "value": "Access code"
}
],
- "label.add-account": [
+ "label.actions": [
{
"type": 0,
- "value": "ගිණුම එකතු කරන්න"
+ "value": "Actions"
}
],
- "label.add-column": [
+ "label.activity-log": [
{
"type": 0,
- "value": "තීරුව එක් කරන්න"
+ "value": "Activity log"
}
],
- "label.add-filter": [
+ "label.add": [
{
"type": 0,
- "value": "පෙරහන එකතු කරන්න"
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
@@ -29,10 +35,16 @@
"value": "වෙබ් අඩවිය එක් කරන්න"
}
],
- "label.administrator": [
+ "label.admin": [
{
"type": 0,
- "value": "පරිපාලක"
+ "value": "Administrator"
+ }
+ ],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
}
],
"label.all": [
@@ -47,10 +59,22 @@
"value": "හැම වෙලාවෙම"
}
],
- "label.all-websites": [
+ "label.analytics": [
{
"type": 0,
- "value": "සියලුම වෙබ් අඩවි"
+ "value": "Analytics"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
+ "label.average-visit-time": [
+ {
+ "type": 0,
+ "value": "Average visit time"
}
],
"label.back": [
@@ -59,6 +83,36 @@
"value": "ආපසු"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
+ "label.bounce-rate": [
+ {
+ "type": 0,
+ "value": "Bounce rate"
+ }
+ ],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
+ "label.browsers": [
+ {
+ "type": 0,
+ "value": "Browsers"
+ }
+ ],
"label.cancel": [
{
"type": 0,
@@ -71,16 +125,82 @@
"value": "මුරපදය වෙනස් කරන්න"
}
],
+ "label.cities": [
+ {
+ "type": 0,
+ "value": "Cities"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
+ "label.clear-all": [
+ {
+ "type": 0,
+ "value": "Clear all"
+ }
+ ],
+ "label.confirm": [
+ {
+ "type": 0,
+ "value": "Confirm"
+ }
+ ],
"label.confirm-password": [
{
"type": 0,
"value": "මුරපදය සත්යාපනය කරන්න"
}
],
- "label.copy-to-clipboard": [
+ "label.contains": [
{
"type": 0,
- "value": "පසුරු පුවරුවට පිටපත් කරන්න"
+ "value": "Contains"
+ }
+ ],
+ "label.continue": [
+ {
+ "type": 0,
+ "value": "Continue"
+ }
+ ],
+ "label.countries": [
+ {
+ "type": 0,
+ "value": "Countries"
+ }
+ ],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
+ "label.create-team": [
+ {
+ "type": 0,
+ "value": "Create team"
+ }
+ ],
+ "label.create-user": [
+ {
+ "type": 0,
+ "value": "Create user"
+ }
+ ],
+ "label.created": [
+ {
+ "type": 0,
+ "value": "Created"
}
],
"label.current-password": [
@@ -101,12 +221,30 @@
"value": "උපකරණ පුවරුව"
}
],
+ "label.data": [
+ {
+ "type": 0,
+ "value": "Data"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "දින පරාසය"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -119,10 +257,16 @@
"value": "මකන්න"
}
],
- "label.delete-account": [
+ "label.delete-team": [
{
"type": 0,
- "value": "ගිණුම මකන්න"
+ "value": "Delete team"
+ }
+ ],
+ "label.delete-user": [
+ {
+ "type": 0,
+ "value": "Delete user"
}
],
"label.delete-website": [
@@ -131,34 +275,70 @@
"value": "වෙබ් අඩවිය මකන්න"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
+ "label.desktop": [
+ {
+ "type": 0,
+ "value": "Desktop"
+ }
+ ],
+ "label.details": [
+ {
+ "type": 0,
+ "value": "Details"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
+ "label.devices": [
+ {
+ "type": 0,
+ "value": "Devices"
+ }
+ ],
"label.dismiss": [
{
"type": 0,
"value": "මගහරින්න"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "වසම"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
"value": "සංස්කරණය කරන්න"
}
],
- "label.edit-account": [
+ "label.edit-dashboard": [
{
"type": 0,
- "value": "ගිණුම සංස්කරණය කරන්න"
- }
- ],
- "label.edit-website": [
- {
- "type": 0,
- "value": "වෙබ් අඩවිය සංස්කරණය කරන්න"
+ "value": "Edit dashboard"
}
],
"label.enable-share-url": [
@@ -167,28 +347,118 @@
"value": "බෙදාගැනීමේ URL සබල කරන්න"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
"label.event-data": [
{
"type": 0,
"value": "සිදුවීම් දත්ත"
}
],
- "label.field-name": [
+ "label.events": [
{
"type": 0,
- "value": "ක්ෂේත්ර නාම"
+ "value": "Events"
}
],
- "label.invalid": [
+ "label.false": [
{
"type": 0,
- "value": "වලංගු නැත"
+ "value": "False"
}
],
- "label.invalid-domain": [
+ "label.field": [
{
"type": 0,
- "value": "වලංගු නොවන වසමක්"
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
+ "label.filter-combined": [
+ {
+ "type": 0,
+ "value": "Combined"
+ }
+ ],
+ "label.filter-raw": [
+ {
+ "type": 0,
+ "value": "Raw"
+ }
+ ],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
+ "label.join": [
+ {
+ "type": 0,
+ "value": "Join"
+ }
+ ],
+ "label.join-team": [
+ {
+ "type": 0,
+ "value": "Join team"
}
],
"label.language": [
@@ -197,6 +467,18 @@
"value": "භාෂාව"
}
],
+ "label.languages": [
+ {
+ "type": 0,
+ "value": "Languages"
+ }
+ ],
+ "label.laptop": [
+ {
+ "type": 0,
+ "value": "Laptop"
+ }
+ ],
"label.last-days": [
{
"type": 0,
@@ -225,14 +507,28 @@
"value": " පැය"
}
],
- "label.logged-in-as": [
+ "label.leave": [
{
"type": 0,
- "value": "ලොග් වී ඇත්තේ "
- },
+ "value": "Leave"
+ }
+ ],
+ "label.leave-team": [
{
- "type": 1,
- "value": "username"
+ "type": 0,
+ "value": "Leave team"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
}
],
"label.login": [
@@ -247,12 +543,42 @@
"value": "පිටවීම"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
+ "label.members": [
+ {
+ "type": 0,
+ "value": "Members"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
+ "label.mobile": [
+ {
+ "type": 0,
+ "value": "Mobile"
+ }
+ ],
"label.more": [
{
"type": 0,
"value": "තවත්"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -271,22 +597,74 @@
"value": "කිසිවක් නැත"
}
],
+ "label.os": [
+ {
+ "type": 0,
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
+ }
+ ],
"label.owner": [
{
"type": 0,
"value": "හිමිකරු"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
+ "label.page-views": [
+ {
+ "type": 0,
+ "value": "Page views"
+ }
+ ],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
+ "label.pages": [
+ {
+ "type": 0,
+ "value": "Pages"
+ }
+ ],
"label.password": [
{
"type": 0,
"value": "මුරපදය"
}
],
- "label.passwords-dont-match": [
+ "label.powered-by": [
{
"type": 0,
- "value": "මුරපද නොගැලපේ"
+ "value": "Powered by "
+ },
+ {
+ "type": 1,
+ "value": "name"
}
],
"label.profile": [
@@ -295,16 +673,40 @@
"value": "පැතිකඩ"
}
],
+ "label.queries": [
+ {
+ "type": 0,
+ "value": "Queries"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
+ "label.query-parameters": [
+ {
+ "type": 0,
+ "value": "Query parameters"
+ }
+ ],
"label.realtime": [
{
"type": 0,
"value": "තත්ය කාල"
}
],
- "label.realtime-logs": [
+ "label.referrer": [
{
"type": 0,
- "value": "තත්ය කාලීන ලොග්"
+ "value": "Referrer"
+ }
+ ],
+ "label.referrers": [
+ {
+ "type": 0,
+ "value": "Referrers"
}
],
"label.refresh": [
@@ -313,6 +715,36 @@
"value": "නැවුම් කරන්න"
}
],
+ "label.regenerate": [
+ {
+ "type": 0,
+ "value": "Regenerate"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
+ "label.regions": [
+ {
+ "type": 0,
+ "value": "Regions"
+ }
+ ],
+ "label.remove": [
+ {
+ "type": 0,
+ "value": "Remove"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -331,16 +763,52 @@
"value": "සංඛ්යා ලේඛන නැවත සකසන්න"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
+ "label.role": [
+ {
+ "type": 0,
+ "value": "Role"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
"value": "සුරකින්න"
}
],
- "label.search": [
+ "label.screens": [
{
"type": 0,
- "value": "සෙවීම"
+ "value": "Screens"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
+ "label.select-website": [
+ {
+ "type": 0,
+ "value": "Select website"
+ }
+ ],
+ "label.sessions": [
+ {
+ "type": 0,
+ "value": "Sessions"
}
],
"label.settings": [
@@ -361,6 +829,66 @@
"value": "තනි දවස"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
+ "label.tablet": [
+ {
+ "type": 0,
+ "value": "Tablet"
+ }
+ ],
+ "label.team": [
+ {
+ "type": 0,
+ "value": "Team"
+ }
+ ],
+ "label.team-guest": [
+ {
+ "type": 0,
+ "value": "Team guest"
+ }
+ ],
+ "label.team-id": [
+ {
+ "type": 0,
+ "value": "Team ID"
+ }
+ ],
+ "label.team-member": [
+ {
+ "type": 0,
+ "value": "Team member"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
+ "label.team-owner": [
+ {
+ "type": 0,
+ "value": "Team owner"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
+ "label.teams": [
+ {
+ "type": 0,
+ "value": "Teams"
+ }
+ ],
"label.theme": [
{
"type": 0,
@@ -391,22 +919,64 @@
"value": "වේලා කලාපය"
}
],
+ "label.title": [
+ {
+ "type": 0,
+ "value": "Title"
+ }
+ ],
"label.today": [
{
"type": 0,
"value": "අද"
}
],
+ "label.toggle-charts": [
+ {
+ "type": 0,
+ "value": "Toggle charts"
+ }
+ ],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "ලුහුබැඳීමේ කේතය"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
"label.type": [
{
"type": 0,
- "value": "වර්ගය"
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
+ "label.unique-visitors": [
+ {
+ "type": 0,
+ "value": "Unique visitors"
}
],
"label.unknown": [
@@ -415,16 +985,52 @@
"value": "නොදනී"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
+ "label.user": [
+ {
+ "type": 0,
+ "value": "User"
+ }
+ ],
"label.username": [
{
"type": 0,
"value": "පරිශීලක නාමය"
}
],
+ "label.users": [
+ {
+ "type": 0,
+ "value": "Users"
+ }
+ ],
"label.value": [
{
"type": 0,
- "value": "වටිනාකම"
+ "value": "Value"
+ }
+ ],
+ "label.view": [
+ {
+ "type": 0,
+ "value": "View"
}
],
"label.view-details": [
@@ -433,12 +1039,48 @@
"value": "තොරතුරු පෙන්වන්න"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
+ "label.views": [
+ {
+ "type": 0,
+ "value": "Views"
+ }
+ ],
+ "label.visitors": [
+ {
+ "type": 0,
+ "value": "Visitors"
+ }
+ ],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
+ "label.website-id": [
+ {
+ "type": 0,
+ "value": "Website ID"
+ }
+ ],
"label.websites": [
{
"type": 0,
"value": "වෙබ් අඩවි"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -489,6 +1131,20 @@
"value": " මකා දැමීම ගැන විශ්වාසද?"
}
],
+ "message.confirm-leave": [
+ {
+ "type": 0,
+ "value": "Are you sure you want to leave "
+ },
+ {
+ "type": 1,
+ "value": "target"
+ },
+ {
+ "type": 0,
+ "value": "?"
+ }
+ ],
"message.confirm-reset": [
{
"type": 1,
@@ -499,40 +1155,58 @@
"value": " ට අදාල සංඛ්යාලේඛන නැවත පිහිටුවීමට අවශ්යද?"
}
],
- "message.copied": [
+ "message.delete-account": [
{
"type": 0,
- "value": "පිටපත් කරගත්තා!"
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
- "message.delete-warning": [
+ "message.delete-website": [
{
"type": 0,
- "value": "සියලුම ආශ්රිත දත්ත ද මකා දැමෙනු ඇත."
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
- "message.edit-dashboard": [
+ "message.delete-website-warning": [
{
"type": 0,
- "value": "උපකරණ පුවරුව සංස්කරණය කරන්න"
+ "value": "All website data will be deleted."
}
],
- "message.failure": [
+ "message.error": [
{
"type": 0,
- "value": "යම් ගැටලුවක් මතු වී ඇත."
+ "value": "Something went wrong."
}
],
- "message.get-share-url": [
+ "message.event-log": [
+ {
+ "type": 1,
+ "value": "event"
+ },
{
"type": 0,
- "value": "බෙදාගැනීමේ URL ලබා ගන්න"
- }
- ],
- "message.get-tracking-code": [
+ "value": " on "
+ },
{
- "type": 0,
- "value": "ලුහුබැඳීමේ කේතය ලබා ගන්න"
+ "type": 1,
+ "value": "url"
}
],
"message.go-to-settings": [
@@ -547,44 +1221,30 @@
"value": "වැරදි පරිශීලක නාමය/මුරපදය."
}
],
- "message.log.visitor": [
- {
- "type": 1,
- "value": "country"
- },
+ "message.invalid-domain": [
{
"type": 0,
- "value": " වලින් පැමිණි අමුත්තකු "
+ "value": "Invalid domain. Do not include http/https."
+ }
+ ],
+ "message.min-password-length": [
+ {
+ "type": 0,
+ "value": "Minimum length of "
},
{
"type": 1,
- "value": "device"
+ "value": "n"
},
{
"type": 0,
- "value": " එකේ, මේ "
- },
- {
- "type": 1,
- "value": "os"
- },
- {
- "type": 0,
- "value": " එකේ, මේ "
- },
- {
- "type": 1,
- "value": "browser"
- },
- {
- "type": 0,
- "value": " එකෙන් ඉන්නවා"
+ "value": " characters"
}
],
"message.new-version-available": [
{
"type": 0,
- "value": "umami අලුත්ම "
+ "value": "A new version of Umami "
},
{
"type": 1,
@@ -592,7 +1252,7 @@
},
{
"type": 0,
- "value": " වන අනුවාදය නිකුත් උනා!"
+ "value": " is available!"
}
],
"message.no-data-available": [
@@ -601,10 +1261,46 @@
"value": "පෙන්වීමට දත්ත නොමැත."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
+ "message.no-match-password": [
+ {
+ "type": 0,
+ "value": "Passwords do not match."
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
+ "message.no-teams": [
+ {
+ "type": 0,
+ "value": "You have not created any teams."
+ }
+ ],
+ "message.no-users": [
+ {
+ "type": 0,
+ "value": "There are no users."
+ }
+ ],
"message.no-websites-configured": [
{
"type": 0,
- "value": "ඔබට වින්යාස කර ඇති වෙබ් අඩවි කිසිවක් නොමැත."
+ "value": "You do not have any websites configured."
}
],
"message.page-not-found": [
@@ -613,26 +1309,30 @@
"value": "පිටුව හමු නොවීය."
}
],
- "message.powered-by": [
+ "message.reset-website": [
{
"type": 0,
- "value": "බල ගැන්වුයේ "
+ "value": "To reset this website, type "
},
{
"type": 1,
- "value": "name"
- }
- ],
- "message.reset-warning": [
+ "value": "confirmation"
+ },
{
"type": 0,
- "value": "සියලුම සංඛ්යාලේඛන මකා දමනු ඇත. නමුත් ඔබගේ නිරීක්ෂණ කේතය නොවෙනස්ව පවතිනු ඇත."
+ "value": " in the box below to confirm."
}
],
- "message.save-success": [
+ "message.reset-website-warning": [
{
"type": 0,
- "value": "සාර්තකව සුරැකිණි."
+ "value": "All statistics for this website will be deleted, but your settings will remain intact."
+ }
+ ],
+ "message.saved": [
+ {
+ "type": 0,
+ "value": "Saved."
}
],
"message.share-url": [
@@ -649,194 +1349,82 @@
"value": " සඳහා ප්රසිද්ධියේ බෙදාගත් URL එකයි."
}
],
- "message.toggle-charts": [
+ "message.team-already-member": [
{
"type": 0,
- "value": "ප්රස්ථාර ටොගල් කරන්න"
+ "value": "You are already a member of the team."
}
],
- "message.track-stats": [
- {
- "type": 1,
- "value": "target"
- },
+ "message.team-not-found": [
{
"type": 0,
- "value": " හි සංඛ්යාලේඛන බැලීම සදහා, පහත කේතය "
+ "value": "Team not found."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
+ "message.tracking-code": [
+ {
+ "type": 0,
+ "value": "To track stats for this website, place the following code in the "
},
{
- "type": 1,
+ "children": [
+ {
+ "type": 0,
+ "value": "..."
+ }
+ ],
+ "type": 8,
"value": "head"
},
{
"type": 0,
- "value": " කොටසට ඇතුලත් කරන්න."
+ "value": " section of your HTML."
}
],
- "message.type-delete": [
+ "message.user-deleted": [
{
"type": 0,
- "value": "සත්යාපනය සදහා "
+ "value": "User deleted."
+ }
+ ],
+ "message.visitor-log": [
+ {
+ "type": 0,
+ "value": "Visitor from "
},
{
"type": 1,
- "value": "delete"
+ "value": "country"
},
{
"type": 0,
- "value": " ලෙස පහල කොටුවේ ටයිප් කරන්න"
- }
- ],
- "message.type-reset": [
- {
- "type": 0,
- "value": "සත්යාපනය සදහා "
+ "value": " using "
},
{
"type": 1,
- "value": "reset"
+ "value": "browser"
},
{
"type": 0,
- "value": " ලෙස පහල කොටුවේ ටයිප් කරන්න"
- }
- ],
- "metrics.actions": [
+ "value": " on "
+ },
+ {
+ "type": 1,
+ "value": "os"
+ },
{
"type": 0,
- "value": "ක්රියාවන්"
- }
- ],
- "metrics.average-visit-time": [
+ "value": " "
+ },
{
- "type": 0,
- "value": "සාමාන්ය සංචාර කාලය"
- }
- ],
- "metrics.bounce-rate": [
- {
- "type": 0,
- "value": "හැරී යන ප්රමාණය"
- }
- ],
- "metrics.browsers": [
- {
- "type": 0,
- "value": "බ්රව්සර්"
- }
- ],
- "metrics.countries": [
- {
- "type": 0,
- "value": "රටවල්"
- }
- ],
- "metrics.device.desktop": [
- {
- "type": 0,
- "value": "ඩෙස්ක්ටොප්"
- }
- ],
- "metrics.device.laptop": [
- {
- "type": 0,
- "value": "ලැප්ටොප්"
- }
- ],
- "metrics.device.mobile": [
- {
- "type": 0,
- "value": "ජංගම"
- }
- ],
- "metrics.device.tablet": [
- {
- "type": 0,
- "value": "ටැබ්ලට්"
- }
- ],
- "metrics.devices": [
- {
- "type": 0,
- "value": "උපකරණ"
- }
- ],
- "metrics.events": [
- {
- "type": 0,
- "value": "සිද්ධීන්"
- }
- ],
- "metrics.filter.combined": [
- {
- "type": 0,
- "value": "ඒකාබද්ධ"
- }
- ],
- "metrics.filter.raw": [
- {
- "type": 0,
- "value": "අමු"
- }
- ],
- "metrics.languages": [
- {
- "type": 0,
- "value": "භාෂා"
- }
- ],
- "metrics.operating-systems": [
- {
- "type": 0,
- "value": "මෙහෙයුම් පද්ධති"
- }
- ],
- "metrics.page-views": [
- {
- "type": 0,
- "value": "පිටු බැලීම්"
- }
- ],
- "metrics.pages": [
- {
- "type": 0,
- "value": "පිටු"
- }
- ],
- "metrics.query-parameters": [
- {
- "type": 0,
- "value": "විමසුම් පරාමිතීන්"
- }
- ],
- "metrics.referrers": [
- {
- "type": 0,
- "value": "යොමු කරන්නන්"
- }
- ],
- "metrics.screens": [
- {
- "type": 0,
- "value": "තිර"
- }
- ],
- "metrics.unique-visitors": [
- {
- "type": 0,
- "value": "අලුත්ම අමුත්තන්"
- }
- ],
- "metrics.views": [
- {
- "type": 0,
- "value": "බැලූ ගණන"
- }
- ],
- "metrics.visitors": [
- {
- "type": 0,
- "value": "අමුත්තන්"
+ "type": 1,
+ "value": "device"
}
]
-}
\ No newline at end of file
+}
diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json
index ad3e9b19..b7e2914a 100644
--- a/public/intl/messages/sk-SK.json
+++ b/public/intl/messages/sk-SK.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrátor"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Späť"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Okamžité opustenie"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Potvrdiť heslo"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Zem"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Obdobie"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Zmazať web"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Odísť"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Doména"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Povoliť zdielanie URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Udalosti"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Nezpracované"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Odhlásiť"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Viac"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operačný systém"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Zobrazenie stánok"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Aktuálne"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Jeden deň"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Sledovací kód"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Neznámý"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Zobraziť detaily"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Návštevy"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Weby"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Zmazať web"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Žiadne data."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Hesla se nezhodujú"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Nemáte nastavený žiadny web."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Nemáte nastavený žiadny web."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json
index aa584730..a3af95cb 100644
--- a/public/intl/messages/sl-SI.json
+++ b/public/intl/messages/sl-SI.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Administrator"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Nazaj"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Zapustna stopnja"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Potrditev gesla"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Države"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Časovni razpon"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Izbriši spletno mesto"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Opusti"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domena"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Omogoči URL za skupno rabo"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Dogodki"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Neobdelane meritve"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Odjava"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Več"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operacijski sistemi"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Ogledi strani"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "V realnem času"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "En dan"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Koda za sledenje"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Neznano"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Prikaži podrobnosti"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Obiskovalci"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Spletna mesta"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Izbriši spletno mesto"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Podatki niso na voljo."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Gesli se ne ujemata"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Ni nastavljenih spletnih mest."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Ni nastavljenih spletnih mest."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json
index 93040948..4a7f4130 100644
--- a/public/intl/messages/sv-SE.json
+++ b/public/intl/messages/sv-SE.json
@@ -14,7 +14,19 @@
"label.activity-log": [
{
"type": 0,
- "value": "Activity log"
+ "value": "Aktivitetslogg"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
}
],
"label.add-website": [
@@ -29,6 +41,12 @@
"value": "Administratör"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -44,7 +62,13 @@
"label.analytics": [
{
"type": 0,
- "value": "Analytics"
+ "value": "Analys"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
}
],
"label.average-visit-time": [
@@ -59,12 +83,30 @@
"value": "Tillbaka"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Avvisningfrekvens"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -86,19 +128,25 @@
"label.cities": [
{
"type": 0,
- "value": "Cities"
+ "value": "Städer"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
}
],
"label.clear-all": [
{
"type": 0,
- "value": "Clear all"
+ "value": "Rensa alla"
}
],
"label.confirm": [
{
"type": 0,
- "value": "Confirm"
+ "value": "Bekräfta"
}
],
"label.confirm-password": [
@@ -107,10 +155,16 @@
"value": "Bekräfta lösenord"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
- "value": "Continue"
+ "value": "Fortsätt"
}
],
"label.countries": [
@@ -119,22 +173,34 @@
"value": "Länder"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
- "value": "Create team"
+ "value": "Skapa team"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Create user"
+ "value": "Skapa användare"
}
],
"label.created": [
{
"type": 0,
- "value": "Created"
+ "value": "Skapad"
}
],
"label.current-password": [
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Datumomfång"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Delete team"
+ "value": "Radera team"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Delete user"
+ "value": "Radera användare"
}
],
"label.delete-website": [
@@ -197,6 +275,12 @@
"value": "Radera webbsajt"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -206,7 +290,13 @@
"label.details": [
{
"type": 0,
- "value": "Details"
+ "value": "Detailjer"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
}
],
"label.devices": [
@@ -221,12 +311,24 @@
"value": "Avbryt"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Domän"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -236,7 +338,7 @@
"label.edit-dashboard": [
{
"type": 0,
- "value": "Edit dashboard"
+ "value": "Redigera översikt"
}
],
"label.enable-share-url": [
@@ -245,12 +347,42 @@
"value": "Aktivera delnings-URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Händelser"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,16 +395,70 @@
"value": "Rådata"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
- "value": "Join"
+ "value": "Gå med"
}
],
"label.join-team": [
{
"type": 0,
- "value": "Join team"
+ "value": "gå med i team"
}
],
"label.language": [
@@ -324,13 +510,25 @@
"label.leave": [
{
"type": 0,
- "value": "Leave"
+ "value": "Lämna"
}
],
"label.leave-team": [
{
"type": 0,
- "value": "Leave team"
+ "value": "Lämna team"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
}
],
"label.login": [
@@ -345,10 +543,22 @@
"value": "Logga ut"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
- "value": "Members"
+ "value": "Medlemmar"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
}
],
"label.mobile": [
@@ -363,6 +573,12 @@
"value": "Mer"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -378,13 +594,19 @@
"label.none": [
{
"type": 0,
- "value": "None"
+ "value": "Inga"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Operativsystem"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Ägare"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Sidvisningar"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -430,13 +676,19 @@
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "Frågor"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Frågor"
}
],
"label.query-parameters": [
{
"type": 0,
- "value": "Query parameters"
+ "value": "Fråge-parametrar"
}
],
"label.realtime": [
@@ -445,6 +697,12 @@
"value": "Realtid"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -460,19 +718,31 @@
"label.regenerate": [
{
"type": 0,
- "value": "Regenerate"
+ "value": "Regenerera"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
}
],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "Regioner"
}
],
"label.remove": [
{
"type": 0,
- "value": "Remove"
+ "value": "Ta bort"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
}
],
"label.required": [
@@ -493,10 +763,22 @@
"value": "Återställ statistik"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
- "value": "Role"
+ "value": "Roll"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
}
],
"label.save": [
@@ -508,13 +790,19 @@
"label.screens": [
{
"type": 0,
- "value": "Screens"
+ "value": "Upplösning"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
}
],
"label.select-website": [
{
"type": 0,
- "value": "Select website"
+ "value": "Välj webbsajt"
}
],
"label.sessions": [
@@ -541,6 +829,12 @@
"value": "En dag"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -556,7 +850,7 @@
"label.team-guest": [
{
"type": 0,
- "value": "Team guest"
+ "value": "Team-gäst"
}
],
"label.team-id": [
@@ -568,19 +862,31 @@
"label.team-member": [
{
"type": 0,
- "value": "Team member"
+ "value": "Team-medlem"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
}
],
"label.team-owner": [
{
"type": 0,
- "value": "Team owner"
+ "value": "Team-ägare"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
}
],
"label.teams": [
{
"type": 0,
- "value": "Teams"
+ "value": "Team"
}
],
"label.theme": [
@@ -616,7 +922,7 @@
"label.title": [
{
"type": 0,
- "value": "Title"
+ "value": "Titel"
}
],
"label.today": [
@@ -631,12 +937,42 @@
"value": "Visa/göm grafer"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Spårningskod"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,10 +985,28 @@
"value": "Okänd"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "Användare"
}
],
"label.username": [
@@ -667,10 +1021,16 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "Visa"
}
],
"label.view-details": [
@@ -679,6 +1039,12 @@
"value": "Visa detaljer"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,10 +1057,16 @@
"value": "Besökare"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
- "value": "Website ID"
+ "value": "Webbsajt-ID"
}
],
"label.websites": [
@@ -703,10 +1075,16 @@
"value": "Webbsajt"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
- "value": "Yesterday"
+ "value": "Igår"
}
],
"message.active-users": [
@@ -764,7 +1142,7 @@
"message.confirm-leave": [
{
"type": 0,
- "value": "Are you sure you want to leave "
+ "value": "Är du säker på att du vill lämna "
},
{
"type": 1,
@@ -789,10 +1167,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Radera webbsajt"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -814,7 +1214,7 @@
},
{
"type": 0,
- "value": " on "
+ "value": " på "
},
{
"type": 1,
@@ -842,7 +1242,7 @@
"message.min-password-length": [
{
"type": 0,
- "value": "Minimum length of "
+ "value": "Minst "
},
{
"type": 1,
@@ -850,7 +1250,21 @@
},
{
"type": 0,
- "value": " characters"
+ "value": " tecken"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
}
],
"message.no-data-available": [
@@ -859,22 +1273,46 @@
"value": "Ingen data tillgänglig."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Lösenorden är inte samma"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "Det här teamet har inga webbsajter."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
- "value": "You have not created any teams."
+ "value": "Du har inte skapat några team."
}
],
"message.no-users": [
{
"type": 0,
- "value": "There are no users."
+ "value": "Det finns inga användare."
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Du har inga webbsajter."
}
],
"message.page-not-found": [
@@ -886,7 +1324,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Återställ statistik"
+ "value": "För att återställa statistiken skriv "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " i rutan nedan."
}
],
"message.reset-website-warning": [
@@ -918,13 +1364,19 @@
"message.team-already-member": [
{
"type": 0,
- "value": "You are already a member of the team."
+ "value": "Du är redan medlem i teamet."
}
],
"message.team-not-found": [
{
"type": 0,
- "value": "Team not found."
+ "value": "Team kan inte hittas."
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websajter kan ses av alla i teamet."
}
],
"message.tracking-code": [
@@ -936,7 +1388,7 @@
"message.user-deleted": [
{
"type": 0,
- "value": "User deleted."
+ "value": "Användare raderad."
}
],
"message.visitor-log": [
@@ -972,23 +1424,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Du har inga webbsajter."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json
index d46893d6..90fb9ebf 100644
--- a/public/intl/messages/ta-IN.json
+++ b/public/intl/messages/ta-IN.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "நிர்வாகியைச் சேர்க்க"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "பின்னால்"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "துள்ளல் விகிதம்"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "கடவுச்சொல்லை உறுதிப்படுத்தவும்"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "நாடுகள்"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "தேதி வரம்பு"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "வலைத்தளத்தை நீக்கு"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "நீக்கு"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "கள முகவரி"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "கள முகவரியை பகிரலாம்"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "நிகழ்வுகள்"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "மூல"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "வெளியேறு"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "மேலும்"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "இயக்க முறைமைகள்"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "பக்க காட்சிகள்"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "தற்போதைய"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "ஒரு நாள்"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "கண்காணிப்பு குறியீடு"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "தெரியாத"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "விபரங்களை பார்"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "பார்வையாளர்கள்"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "வலைத்தளங்கள்"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "வலைத்தளத்தை நீக்கு"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "தரவு எதுவும் கிடைக்கவில்லை."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "இருக்கடவுச்சொல் பொருந்தவில்லை"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "உங்களிடம் எந்த வலைத்தளங்களும் கட்டமைக்கப்படவில்லை."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -919,6 +1365,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -964,23 +1416,5 @@
"type": 0,
"value": "லில் பயன்படுத்துகிறார்"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "உங்களிடம் எந்த வலைத்தளங்களும் கட்டமைக்கப்படவில்லை."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json
index 74ab2981..c30a9d61 100644
--- a/public/intl/messages/th-TH.json
+++ b/public/intl/messages/th-TH.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "ผู้ดูแลระบบ"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "ย้อนกลับ"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "อัตราตีกลับ"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "ยืนยันรหัสผ่าน"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "ประเทศ"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "ตั้งแต่วันที่"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "ลบเว็บไซต์"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "ยกเลิก"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "โดเมน"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "เปิดใช้งานการแชร์ลิงก์"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "เหตุการณ์"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "ข้อมูลดิบ"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -325,6 +511,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -337,12 +535,24 @@
"value": "ออกจากระบบ"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -355,6 +565,12 @@
"value": "เพิ่มเติม"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -373,10 +589,16 @@
"value": "ไม่ได้กำหนด"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "ระบบปฏิบัติการ"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -385,12 +607,36 @@
"value": "เจ้าของ"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "การเข้าชม"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -425,6 +671,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -437,6 +689,12 @@
"value": "เรียลไทม์"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -455,6 +713,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -467,6 +731,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -485,12 +755,24 @@
"value": "รีเซตข้อมูลสถิติ"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -503,6 +785,12 @@
"value": "ขนาดหน้าจอ"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -533,6 +821,12 @@
"value": "วันที่"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -563,12 +857,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -623,12 +929,42 @@
"value": "เปิด/ปิดแผนภูมิ"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "โค้ดสำหรับใช้ติดตาม"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -641,6 +977,24 @@
"value": "ไม่รู้จัก"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -659,6 +1013,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -671,6 +1031,12 @@
"value": "แสดงรายละเอียด"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -683,6 +1049,12 @@
"value": "ผู้เข้าชม"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -695,6 +1067,12 @@
"value": "เว็บไซต์"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -781,10 +1159,32 @@
"value": " ?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "ลบเว็บไซต์"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -845,18 +1245,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "ไม่มีข้อมูล."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "รหัสผ่านไม่ตรงกัน"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -869,6 +1301,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "คุณยังไม่ได้ตั้งค่าเว็บไซต์ใด ๆ ไว้."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -878,7 +1316,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "รีเซตข้อมูลสถิติ"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -919,6 +1365,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -964,23 +1416,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "คุณยังไม่ได้ตั้งค่าเว็บไซต์ใด ๆ ไว้."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json
index f8c3a275..138681ad 100644
--- a/public/intl/messages/tr-TR.json
+++ b/public/intl/messages/tr-TR.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Yönetici"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Geri"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Çıkma oranı"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Parolayı onayla"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Ülkeler"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Tarih aralığı"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Web sitesini sil"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Reddet"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Alan adı"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Anonim paylaşım URL'i aktif"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Olaylar"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Ham"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Çıkış Yap"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Detaylı göster"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "İşletim sistemi"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Owner"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Sayfa görünümü"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "Gerçek Zamanlı"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Reset statistics"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Ekranlar"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Tekil gün"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Toggle charts"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "İzleme kodu"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Bilinmeyen"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Detayı incele"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Ziyaretçi"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Web siteleri"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -757,10 +1135,32 @@
"value": "'s statistics?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Web sitesini sil"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -821,18 +1221,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Henüz hiç veri yok."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Parolalar uyuşmuyor"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -845,6 +1277,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Henüz hiç web sitesi tanımlamadınız"
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -854,7 +1292,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Reset statistics"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -891,6 +1337,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -936,23 +1388,5 @@
"type": 1,
"value": "browser"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Henüz hiç web sitesi tanımlamadınız"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json
index 0cf3d7c1..bdc2d345 100644
--- a/public/intl/messages/uk-UA.json
+++ b/public/intl/messages/uk-UA.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Адміністратор"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Назад"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Показник відмов"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Підтвердити пароль"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Країни"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Діапазон дат"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Видалити сайт"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Відхилити"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Домен"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Дозволити ділитися посиланням"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Події"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Сирі дані"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "Вийти"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "Більше"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Операційні системи"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "Власник"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Перегляди сторінок"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "У реальному часі"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "Скинути статистику сайту"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "Один день"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "Переключити графіки"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Код для відслідковування"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "Невідомо"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "Переглянути деталі"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "Відвідувачі"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "Сайти"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -761,10 +1139,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Видалити сайт"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -825,18 +1225,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Немає даних."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Паролі не співпадають"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -849,6 +1281,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "У вас немає налаштованих сайтів."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -858,7 +1296,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Скинути статистику сайту"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -899,6 +1345,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -944,23 +1396,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "У вас немає налаштованих сайтів."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json
index 303ca457..2005bc71 100644
--- a/public/intl/messages/ur-PK.json
+++ b/public/intl/messages/ur-PK.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "منتظم"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "پیچھے"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "اچھال کی شرح"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "پاس ورڈ کی تصدیق کریں"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "ممالک"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "تاریخ کی حد"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "ویب سائٹ مٹایں"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "مسترد کریں"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "ڈومین"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "شیئر یو آر ایل کو فعال کریں"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "واقعات"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "خام"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "لاگ آوٹ"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "مزید"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "آپریٹنگ سسٹمز"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "مالک"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "صفحہ کے نظارے"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -433,6 +679,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -445,6 +697,12 @@
"value": "براہ راست"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -463,6 +721,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -475,6 +739,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -493,12 +763,24 @@
"value": "اعدادوشمار کو دوبارہ ترتیب دیں"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -511,6 +793,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -541,6 +829,12 @@
"value": "ایک دن"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -571,12 +865,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -631,12 +937,42 @@
"value": "چارٹ تبدیل کریں"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "ٹریکنگ کوڈ"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,6 +985,24 @@
"value": "نامعلوم"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -667,6 +1021,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -679,6 +1039,12 @@
"value": "تفصیلات دیکھیں"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -691,6 +1057,12 @@
"value": "زائرین"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -703,6 +1075,12 @@
"value": "ویب سائٹس"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -785,10 +1163,32 @@
"value": " کے اعدادوشمار کو دوبارہ ترتیب دینا چاہتے ہیں؟"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "ویب سائٹ مٹایں"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -849,18 +1249,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "مواد موجود نہیں ہے."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "پاس ورڈز مماثل نہیں ہیں"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -873,6 +1305,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "آپ کے پاس کوئی ویب سائٹ کنفیگر نہیں ہے۔"
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -882,7 +1320,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "اعدادوشمار کو دوبارہ ترتیب دیں"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -923,6 +1369,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -968,23 +1420,5 @@
"type": 0,
"value": " سے آنے والا"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "آپ کے پاس کوئی ویب سائٹ کنفیگر نہیں ہے۔"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json
index e9b65724..9fe0dd4e 100644
--- a/public/intl/messages/vi-VN.json
+++ b/public/intl/messages/vi-VN.json
@@ -17,6 +17,18 @@
"value": "Activity log"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "Add"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "Add description"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "Quản trị"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "After"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "Analytics"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "Average"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "Quay về"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "Before"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "Tỷ lệ thoát trang"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "Breakdown"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "Cities"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "Xác nhận mật khẩu"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "Contains"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "Quốc gia"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "Create report"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "Data"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "Phạm vi ngày"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "Xóa website"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "Description"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "Details"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "Loại trừ"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "Does not contain"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "Tên miền"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "Dropoff"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "Bật khả năng chia sẻ URL"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "Event"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "Event data"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "Sự kiện"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "False"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "Gốc"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "Filters"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "Funnel"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "Insights"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "Is"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "Is not"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -325,6 +511,18 @@
"value": "Leave team"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "Less than"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "Less than or equals"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -337,12 +535,24 @@
"value": "Đăng xuất"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "Max"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "Members"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "Min"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -355,6 +565,12 @@
"value": "Thêm"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -373,10 +589,16 @@
"value": "None"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "Hệ điều hành"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "Overview"
}
],
"label.owner": [
@@ -385,12 +607,36 @@
"value": "Chủ sở hữu"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "Lượt xem"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -425,6 +671,12 @@
"value": "Queries"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "Query"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -437,6 +689,12 @@
"value": "Thời gian thực"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -455,6 +713,12 @@
"value": "Regenerate"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -467,6 +731,12 @@
"value": "Remove"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "Reports"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -485,12 +755,24 @@
"value": "Tái thiết lập thống kê"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "Role"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "Run query"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -503,6 +785,12 @@
"value": "Screens"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "Select date"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -533,6 +821,12 @@
"value": "Trong ngày"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "Sum"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -563,12 +857,24 @@
"value": "Team member"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -623,12 +929,42 @@
"value": "Bật/tắt biểu đồ"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "Total"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "Total records"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "Mã theo dõi"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "True"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "Type"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -641,6 +977,24 @@
"value": "Không rõ"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "Untitled"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -659,6 +1013,12 @@
"value": "Users"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "Value"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -671,6 +1031,12 @@
"value": "Xem chi tiết"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -683,6 +1049,12 @@
"value": "Khách"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "Website"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -695,6 +1067,12 @@
"value": "Websites"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "Window"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -777,10 +1155,32 @@
"value": "?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "To delete this account, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "Xóa website"
+ "value": "To delete this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.delete-website-warning": [
@@ -841,18 +1241,50 @@
"value": " characters"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "A new version of Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " is available!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "Không có dữ liệu."
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "No event data is available."
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "Mật khẩu không đồng nhất"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "No results were found."
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "This team does not have any websites."
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -865,6 +1297,12 @@
"value": "There are no users."
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "Bạn chưa có bất cứ website nào."
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -874,7 +1312,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "Tái thiết lập thống kê"
+ "value": "To reset this website, type "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " in the box below to confirm."
}
],
"message.reset-website-warning": [
@@ -915,6 +1361,12 @@
"value": "Team not found."
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "Websites can be viewed by anyone on the team."
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -960,23 +1412,5 @@
"type": 1,
"value": "device"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "Bạn chưa có bất cứ website nào."
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
- }
]
}
diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json
index 53421291..71234564 100644
--- a/public/intl/messages/zh-CN.json
+++ b/public/intl/messages/zh-CN.json
@@ -17,6 +17,18 @@
"value": "活动日志"
}
],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "添加"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "添加描述"
+ }
+ ],
"label.add-website": [
{
"type": 0,
@@ -29,6 +41,12 @@
"value": "管理员"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "之后"
+ }
+ ],
"label.all": [
{
"type": 0,
@@ -47,6 +65,12 @@
"value": "分析"
}
],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "平均"
+ }
+ ],
"label.average-visit-time": [
{
"type": 0,
@@ -59,12 +83,30 @@
"value": "返回"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "之前"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "跳出率"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "故障"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "Browser"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -89,6 +131,12 @@
"value": "市/县"
}
],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "City"
+ }
+ ],
"label.clear-all": [
{
"type": 0,
@@ -107,6 +155,12 @@
"value": "确认密码"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "包含"
+ }
+ ],
"label.continue": [
{
"type": 0,
@@ -119,6 +173,18 @@
"value": "国家/地区"
}
],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "Country"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "创建报告"
+ }
+ ],
"label.create-team": [
{
"type": 0,
@@ -161,12 +227,24 @@
"value": "统计数据"
}
],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "Date"
+ }
+ ],
"label.date-range": [
{
"type": 0,
"value": "时间段"
}
],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "Day"
+ }
+ ],
"label.default-date-range": [
{
"type": 0,
@@ -197,6 +275,12 @@
"value": "删除网站"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "描述"
+ }
+ ],
"label.desktop": [
{
"type": 0,
@@ -209,6 +293,12 @@
"value": "详细信息"
}
],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "Device"
+ }
+ ],
"label.devices": [
{
"type": 0,
@@ -221,12 +311,24 @@
"value": "关闭"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "不包含"
+ }
+ ],
"label.domain": [
{
"type": 0,
"value": "域名"
}
],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "丢弃"
+ }
+ ],
"label.edit": [
{
"type": 0,
@@ -245,12 +347,42 @@
"value": "启用共享链接"
}
],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "事件"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "事件数据"
+ }
+ ],
"label.events": [
{
"type": 0,
"value": "行为类别"
}
],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "否"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "Field"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "Fields"
+ }
+ ],
"label.filter-combined": [
{
"type": 0,
@@ -263,6 +395,60 @@
"value": "原始"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "筛选"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "分析"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "Greater than"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "Greater than or equals"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "见解"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "等于"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "不等于"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "Is not set"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "Is set"
+ }
+ ],
"label.join": [
{
"type": 0,
@@ -333,6 +519,18 @@
"value": "离开团队"
}
],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "少于"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "少于等于"
+ }
+ ],
"label.login": [
{
"type": 0,
@@ -345,12 +543,24 @@
"value": "退出"
}
],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "最大"
+ }
+ ],
"label.members": [
{
"type": 0,
"value": "成员"
}
],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "最小"
+ }
+ ],
"label.mobile": [
{
"type": 0,
@@ -363,6 +573,12 @@
"value": "更多"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "My websites"
+ }
+ ],
"label.name": [
{
"type": 0,
@@ -381,10 +597,16 @@
"value": "无"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "操作系统"
+ "value": "OS"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "概览"
}
],
"label.owner": [
@@ -393,12 +615,36 @@
"value": "所有者"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "Page "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " of "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
"value": "页面浏览量"
}
],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "Page title"
+ }
+ ],
"label.pages": [
{
"type": 0,
@@ -437,6 +683,12 @@
"value": "查询"
}
],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "查询"
+ }
+ ],
"label.query-parameters": [
{
"type": 0,
@@ -449,6 +701,12 @@
"value": "实时"
}
],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "Referrer"
+ }
+ ],
"label.referrers": [
{
"type": 0,
@@ -467,6 +725,12 @@
"value": "重新生成"
}
],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "Region"
+ }
+ ],
"label.regions": [
{
"type": 0,
@@ -479,6 +743,12 @@
"value": "移除"
}
],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "报告"
+ }
+ ],
"label.required": [
{
"type": 0,
@@ -497,12 +767,24 @@
"value": "重置统计数据"
}
],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "Retention"
+ }
+ ],
"label.role": [
{
"type": 0,
"value": "角色"
}
],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "查询"
+ }
+ ],
"label.save": [
{
"type": 0,
@@ -515,6 +797,12 @@
"value": "屏幕尺寸"
}
],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "选择数据"
+ }
+ ],
"label.select-website": [
{
"type": 0,
@@ -545,6 +833,12 @@
"value": "单日"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "总和"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -575,12 +869,24 @@
"value": "团队成员"
}
],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "Team name"
+ }
+ ],
"label.team-owner": [
{
"type": 0,
"value": "团队所有者"
}
],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "Team websites"
+ }
+ ],
"label.teams": [
{
"type": 0,
@@ -635,12 +941,42 @@
"value": "切换图表"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "总数"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "总记录数"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "跟踪代码"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "是"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "类型"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "Unique"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -653,6 +989,24 @@
"value": "未知"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "未命名"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "URL"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "URLs"
+ }
+ ],
"label.user": [
{
"type": 0,
@@ -671,6 +1025,12 @@
"value": "用户"
}
],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "值"
+ }
+ ],
"label.view": [
{
"type": 0,
@@ -683,6 +1043,12 @@
"value": "查看更多"
}
],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "View only"
+ }
+ ],
"label.views": [
{
"type": 0,
@@ -695,6 +1061,12 @@
"value": "访客"
}
],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "网站"
+ }
+ ],
"label.website-id": [
{
"type": 0,
@@ -707,6 +1079,12 @@
"value": "网站"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "窗口"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
@@ -769,10 +1147,32 @@
"value": " 的数据吗?"
}
],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "确定删除该账户, 请在下面的输入框中输入 "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " 进行二次确认。"
+ }
+ ],
"message.delete-website": [
{
"type": 0,
- "value": "删除网站"
+ "value": "确定删除该网站, 请在下面的输入框中输入 "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " 进行二次确认。"
}
],
"message.delete-website-warning": [
@@ -833,18 +1233,50 @@
"value": " 个字符"
}
],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "Umami的新版本"
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": "已推出!"
+ }
+ ],
"message.no-data-available": [
{
"type": 0,
"value": "无可用数据。"
}
],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "无可用事件。"
+ }
+ ],
"message.no-match-password": [
{
"type": 0,
"value": "密码不一致"
}
],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "没有找到任何结果。"
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "这个团队没有任何网站。"
+ }
+ ],
"message.no-teams": [
{
"type": 0,
@@ -857,6 +1289,12 @@
"value": "没有任何用户。"
}
],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "你还没有设置任何网站。"
+ }
+ ],
"message.page-not-found": [
{
"type": 0,
@@ -866,7 +1304,15 @@
"message.reset-website": [
{
"type": 0,
- "value": "重置统计数据"
+ "value": "如果确定重置该网站, 请在下面的输入框中输入 "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " 进行二次确认。"
}
],
"message.reset-website-warning": [
@@ -907,6 +1353,12 @@
"value": "未找到团队。"
}
],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "团队中的任何人都可查看网站。"
+ }
+ ],
"message.tracking-code": [
{
"type": 0,
@@ -916,7 +1368,7 @@
"message.user-deleted": [
{
"type": 0,
- "value": "User detected."
+ "value": "用户已删除。"
}
],
"message.visitor-log": [
@@ -956,23 +1408,5 @@
"type": 0,
"value": " 浏览器进行访问。"
}
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "这个团队没有任何网站。"
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "你还没有设置任何网站。"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "团队中的任何人都可查看网站。"
- }
]
}
diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json
index a306e4cc..c980c4bb 100644
--- a/public/intl/messages/zh-TW.json
+++ b/public/intl/messages/zh-TW.json
@@ -2,25 +2,37 @@
"label.access-code": [
{
"type": 0,
- "value": "Access code"
+ "value": "存取碼"
}
],
"label.actions": [
{
"type": 0,
- "value": "用戶行為"
+ "value": "行動"
}
],
"label.activity-log": [
{
"type": 0,
- "value": "Activity log"
+ "value": "活動日誌"
+ }
+ ],
+ "label.add": [
+ {
+ "type": 0,
+ "value": "新增"
+ }
+ ],
+ "label.add-description": [
+ {
+ "type": 0,
+ "value": "新增描述"
}
],
"label.add-website": [
{
"type": 0,
- "value": "增加網站"
+ "value": "新增網站"
}
],
"label.admin": [
@@ -29,28 +41,40 @@
"value": "管理員"
}
],
+ "label.after": [
+ {
+ "type": 0,
+ "value": "之後"
+ }
+ ],
"label.all": [
{
"type": 0,
- "value": "所有"
+ "value": "全部"
}
],
"label.all-time": [
{
"type": 0,
- "value": "所有時間段"
+ "value": "所有時間"
}
],
"label.analytics": [
{
"type": 0,
- "value": "Analytics"
+ "value": "分析"
+ }
+ ],
+ "label.average": [
+ {
+ "type": 0,
+ "value": "平均"
}
],
"label.average-visit-time": [
{
"type": 0,
- "value": "平均訪問時間"
+ "value": "平均造訪時間"
}
],
"label.back": [
@@ -59,12 +83,30 @@
"value": "返回"
}
],
+ "label.before": [
+ {
+ "type": 0,
+ "value": "之前"
+ }
+ ],
"label.bounce-rate": [
{
"type": 0,
"value": "跳出率"
}
],
+ "label.breakdown": [
+ {
+ "type": 0,
+ "value": "分解"
+ }
+ ],
+ "label.browser": [
+ {
+ "type": 0,
+ "value": "瀏覽器"
+ }
+ ],
"label.browsers": [
{
"type": 0,
@@ -80,25 +122,31 @@
"label.change-password": [
{
"type": 0,
- "value": "更新密碼"
+ "value": "更改密碼"
}
],
"label.cities": [
{
"type": 0,
- "value": "Cities"
+ "value": "城市"
+ }
+ ],
+ "label.city": [
+ {
+ "type": 0,
+ "value": "城市"
}
],
"label.clear-all": [
{
"type": 0,
- "value": "Clear all"
+ "value": "全部清除"
}
],
"label.confirm": [
{
"type": 0,
- "value": "Confirm"
+ "value": "確認"
}
],
"label.confirm-password": [
@@ -107,34 +155,52 @@
"value": "確認密碼"
}
],
+ "label.contains": [
+ {
+ "type": 0,
+ "value": "包含"
+ }
+ ],
"label.continue": [
{
"type": 0,
- "value": "Continue"
+ "value": "繼續"
}
],
"label.countries": [
{
"type": 0,
- "value": "國家/地區"
+ "value": "國家"
+ }
+ ],
+ "label.country": [
+ {
+ "type": 0,
+ "value": "國家"
+ }
+ ],
+ "label.create-report": [
+ {
+ "type": 0,
+ "value": "建立報告"
}
],
"label.create-team": [
{
"type": 0,
- "value": "Create team"
+ "value": "建立團隊"
}
],
"label.create-user": [
{
"type": 0,
- "value": "Create user"
+ "value": "建立使用者"
}
],
"label.created": [
{
"type": 0,
- "value": "Created"
+ "value": "已建立"
}
],
"label.current-password": [
@@ -146,31 +212,43 @@
"label.custom-range": [
{
"type": 0,
- "value": "自定義時段"
+ "value": "自訂範圍"
}
],
"label.dashboard": [
{
"type": 0,
- "value": "管理面板"
+ "value": "儀表板"
}
],
"label.data": [
{
"type": 0,
- "value": "Data"
+ "value": "資料"
+ }
+ ],
+ "label.date": [
+ {
+ "type": 0,
+ "value": "日期"
}
],
"label.date-range": [
{
"type": 0,
- "value": "多日"
+ "value": "日期範圍"
+ }
+ ],
+ "label.day": [
+ {
+ "type": 0,
+ "value": "日"
}
],
"label.default-date-range": [
{
"type": 0,
- "value": "默認日期範圍"
+ "value": "預設日期範圍"
}
],
"label.delete": [
@@ -182,13 +260,13 @@
"label.delete-team": [
{
"type": 0,
- "value": "Delete team"
+ "value": "刪除團隊"
}
],
"label.delete-user": [
{
"type": 0,
- "value": "Delete user"
+ "value": "刪除使用者"
}
],
"label.delete-website": [
@@ -197,16 +275,28 @@
"value": "刪除網站"
}
],
+ "label.description": [
+ {
+ "type": 0,
+ "value": "描述"
+ }
+ ],
"label.desktop": [
{
"type": 0,
- "value": "桌機"
+ "value": "桌上型電腦"
}
],
"label.details": [
{
"type": 0,
- "value": "Details"
+ "value": "詳細資訊"
+ }
+ ],
+ "label.device": [
+ {
+ "type": 0,
+ "value": "裝置"
}
],
"label.devices": [
@@ -221,10 +311,22 @@
"value": "關閉"
}
],
+ "label.does-not-contain": [
+ {
+ "type": 0,
+ "value": "不包含"
+ }
+ ],
"label.domain": [
{
"type": 0,
- "value": "域名"
+ "value": "網域"
+ }
+ ],
+ "label.dropoff": [
+ {
+ "type": 0,
+ "value": "退出"
}
],
"label.edit": [
@@ -236,25 +338,55 @@
"label.edit-dashboard": [
{
"type": 0,
- "value": "編輯管理面板"
+ "value": "編輯儀表板"
}
],
"label.enable-share-url": [
{
"type": 0,
- "value": "啟用分享連結"
+ "value": "啟用分享網址"
+ }
+ ],
+ "label.event": [
+ {
+ "type": 0,
+ "value": "事件"
+ }
+ ],
+ "label.event-data": [
+ {
+ "type": 0,
+ "value": "事件資料"
}
],
"label.events": [
{
"type": 0,
- "value": "行為類別"
+ "value": "事件"
+ }
+ ],
+ "label.false": [
+ {
+ "type": 0,
+ "value": "否"
+ }
+ ],
+ "label.field": [
+ {
+ "type": 0,
+ "value": "欄位"
+ }
+ ],
+ "label.fields": [
+ {
+ "type": 0,
+ "value": "欄位"
}
],
"label.filter-combined": [
{
"type": 0,
- "value": "總和"
+ "value": "組合"
}
],
"label.filter-raw": [
@@ -263,16 +395,70 @@
"value": "原始"
}
],
+ "label.filters": [
+ {
+ "type": 0,
+ "value": "篩選器"
+ }
+ ],
+ "label.funnel": [
+ {
+ "type": 0,
+ "value": "漏斗"
+ }
+ ],
+ "label.greater-than": [
+ {
+ "type": 0,
+ "value": "大於"
+ }
+ ],
+ "label.greater-than-equals": [
+ {
+ "type": 0,
+ "value": "大於或等於"
+ }
+ ],
+ "label.insights": [
+ {
+ "type": 0,
+ "value": "洞察"
+ }
+ ],
+ "label.is": [
+ {
+ "type": 0,
+ "value": "是"
+ }
+ ],
+ "label.is-not": [
+ {
+ "type": 0,
+ "value": "不是"
+ }
+ ],
+ "label.is-not-set": [
+ {
+ "type": 0,
+ "value": "未設定"
+ }
+ ],
+ "label.is-set": [
+ {
+ "type": 0,
+ "value": "已設定"
+ }
+ ],
"label.join": [
{
"type": 0,
- "value": "Join"
+ "value": "加入"
}
],
"label.join-team": [
{
"type": 0,
- "value": "Join team"
+ "value": "加入團隊"
}
],
"label.language": [
@@ -290,7 +476,7 @@
"label.laptop": [
{
"type": 0,
- "value": "筆記本"
+ "value": "筆記型電腦"
}
],
"label.last-days": [
@@ -324,13 +510,25 @@
"label.leave": [
{
"type": 0,
- "value": "Leave"
+ "value": "離開"
}
],
"label.leave-team": [
{
"type": 0,
- "value": "Leave team"
+ "value": "離開團隊"
+ }
+ ],
+ "label.less-than": [
+ {
+ "type": 0,
+ "value": "小於"
+ }
+ ],
+ "label.less-than-equals": [
+ {
+ "type": 0,
+ "value": "小於或等於"
}
],
"label.login": [
@@ -342,19 +540,31 @@
"label.logout": [
{
"type": 0,
- "value": "退出"
+ "value": "登出"
+ }
+ ],
+ "label.max": [
+ {
+ "type": 0,
+ "value": "最大"
}
],
"label.members": [
{
"type": 0,
- "value": "Members"
+ "value": "成員"
+ }
+ ],
+ "label.min": [
+ {
+ "type": 0,
+ "value": "最小"
}
],
"label.mobile": [
{
"type": 0,
- "value": "手機"
+ "value": "行動裝置"
}
],
"label.more": [
@@ -363,10 +573,16 @@
"value": "更多"
}
],
+ "label.my-websites": [
+ {
+ "type": 0,
+ "value": "我的網站"
+ }
+ ],
"label.name": [
{
"type": 0,
- "value": "名字"
+ "value": "名稱"
}
],
"label.new-password": [
@@ -381,10 +597,16 @@
"value": "無"
}
],
- "label.operating-systems": [
+ "label.os": [
{
"type": 0,
- "value": "操作系統"
+ "value": "作業系統"
+ }
+ ],
+ "label.overview": [
+ {
+ "type": 0,
+ "value": "概覽"
}
],
"label.owner": [
@@ -393,16 +615,40 @@
"value": "擁有者"
}
],
+ "label.page-of": [
+ {
+ "type": 0,
+ "value": "頁面 "
+ },
+ {
+ "type": 1,
+ "value": "current"
+ },
+ {
+ "type": 0,
+ "value": " / "
+ },
+ {
+ "type": 1,
+ "value": "total"
+ }
+ ],
"label.page-views": [
{
"type": 0,
- "value": "網頁流量"
+ "value": "頁面瀏覽"
+ }
+ ],
+ "label.pageTitle": [
+ {
+ "type": 0,
+ "value": "頁面標題"
}
],
"label.pages": [
{
"type": 0,
- "value": "網頁"
+ "value": "頁面"
}
],
"label.password": [
@@ -414,11 +660,15 @@
"label.powered-by": [
{
"type": 0,
- "value": "運行 "
+ "value": "由 "
},
{
"type": 1,
"value": "name"
+ },
+ {
+ "type": 0,
+ "value": " 提供"
}
],
"label.profile": [
@@ -430,7 +680,13 @@
"label.queries": [
{
"type": 0,
- "value": "Queries"
+ "value": "查詢"
+ }
+ ],
+ "label.query": [
+ {
+ "type": 0,
+ "value": "查詢"
}
],
"label.query-parameters": [
@@ -442,37 +698,55 @@
"label.realtime": [
{
"type": 0,
- "value": "實時"
+ "value": "即時"
+ }
+ ],
+ "label.referrer": [
+ {
+ "type": 0,
+ "value": "參照來源"
}
],
"label.referrers": [
{
"type": 0,
- "value": "指入域名"
+ "value": "參照來源"
}
],
"label.refresh": [
{
"type": 0,
- "value": "刷新"
+ "value": "重新整理"
}
],
"label.regenerate": [
{
"type": 0,
- "value": "Regenerate"
+ "value": "重新產生"
+ }
+ ],
+ "label.region": [
+ {
+ "type": 0,
+ "value": "區域"
}
],
"label.regions": [
{
"type": 0,
- "value": "Regions"
+ "value": "區域"
}
],
"label.remove": [
{
"type": 0,
- "value": "Remove"
+ "value": "移除"
+ }
+ ],
+ "label.reports": [
+ {
+ "type": 0,
+ "value": "報告"
}
],
"label.required": [
@@ -484,55 +758,73 @@
"label.reset": [
{
"type": 0,
- "value": "重置"
+ "value": "重設"
}
],
"label.reset-website": [
{
"type": 0,
- "value": "重置統計數據"
+ "value": "重設網站"
+ }
+ ],
+ "label.retention": [
+ {
+ "type": 0,
+ "value": "保留"
}
],
"label.role": [
{
"type": 0,
- "value": "Role"
+ "value": "角色"
+ }
+ ],
+ "label.run-query": [
+ {
+ "type": 0,
+ "value": "執行查詢"
}
],
"label.save": [
{
"type": 0,
- "value": "保存"
+ "value": "儲存"
}
],
"label.screens": [
{
"type": 0,
- "value": "屏幕尺寸"
+ "value": "螢幕"
+ }
+ ],
+ "label.select-date": [
+ {
+ "type": 0,
+ "value": "選擇日期"
}
],
"label.select-website": [
{
"type": 0,
- "value": "Select website"
+ "value": "選擇網站"
}
],
"label.sessions": [
{
"type": 0,
- "value": "Sessions"
+ "value": "工作階段"
}
],
"label.settings": [
{
"type": 0,
- "value": "設置"
+ "value": "設定"
}
],
"label.share-url": [
{
"type": 0,
- "value": "分享連結"
+ "value": "分享網址"
}
],
"label.single-day": [
@@ -541,6 +833,12 @@
"value": "單日"
}
],
+ "label.sum": [
+ {
+ "type": 0,
+ "value": "總和"
+ }
+ ],
"label.tablet": [
{
"type": 0,
@@ -550,37 +848,49 @@
"label.team": [
{
"type": 0,
- "value": "Team"
+ "value": "團隊"
}
],
"label.team-guest": [
{
"type": 0,
- "value": "Team guest"
+ "value": "團隊訪客"
}
],
"label.team-id": [
{
"type": 0,
- "value": "Team ID"
+ "value": "團隊 ID"
}
],
"label.team-member": [
{
"type": 0,
- "value": "Team member"
+ "value": "團隊成員"
+ }
+ ],
+ "label.team-name": [
+ {
+ "type": 0,
+ "value": "團隊名稱"
}
],
"label.team-owner": [
{
"type": 0,
- "value": "Team owner"
+ "value": "團隊擁有者"
+ }
+ ],
+ "label.team-websites": [
+ {
+ "type": 0,
+ "value": "團隊網站"
}
],
"label.teams": [
{
"type": 0,
- "value": "Teams"
+ "value": "團隊"
}
],
"label.theme": [
@@ -616,7 +926,7 @@
"label.title": [
{
"type": 0,
- "value": "Title"
+ "value": "標題"
}
],
"label.today": [
@@ -631,12 +941,42 @@
"value": "切換圖表"
}
],
+ "label.total": [
+ {
+ "type": 0,
+ "value": "總計"
+ }
+ ],
+ "label.total-records": [
+ {
+ "type": 0,
+ "value": "總記錄"
+ }
+ ],
"label.tracking-code": [
{
"type": 0,
"value": "追蹤代碼"
}
],
+ "label.true": [
+ {
+ "type": 0,
+ "value": "是"
+ }
+ ],
+ "label.type": [
+ {
+ "type": 0,
+ "value": "類型"
+ }
+ ],
+ "label.unique": [
+ {
+ "type": 0,
+ "value": "獨立"
+ }
+ ],
"label.unique-visitors": [
{
"type": 0,
@@ -649,52 +989,88 @@
"value": "未知"
}
],
+ "label.untitled": [
+ {
+ "type": 0,
+ "value": "無標題"
+ }
+ ],
+ "label.url": [
+ {
+ "type": 0,
+ "value": "網址"
+ }
+ ],
+ "label.urls": [
+ {
+ "type": 0,
+ "value": "網址"
+ }
+ ],
"label.user": [
{
"type": 0,
- "value": "User"
+ "value": "使用者"
}
],
"label.username": [
{
"type": 0,
- "value": "用户名"
+ "value": "使用者名稱"
}
],
"label.users": [
{
"type": 0,
- "value": "Users"
+ "value": "使用者"
+ }
+ ],
+ "label.value": [
+ {
+ "type": 0,
+ "value": "值"
}
],
"label.view": [
{
"type": 0,
- "value": "View"
+ "value": "檢視"
}
],
"label.view-details": [
{
"type": 0,
- "value": "查看更多"
+ "value": "檢視詳細資訊"
+ }
+ ],
+ "label.view-only": [
+ {
+ "type": 0,
+ "value": "僅供檢視"
}
],
"label.views": [
{
"type": 0,
- "value": "頁面流量"
+ "value": "檢視"
}
],
"label.visitors": [
{
"type": 0,
- "value": "獨立訪客"
+ "value": "訪客"
+ }
+ ],
+ "label.website": [
+ {
+ "type": 0,
+ "value": "網站"
}
],
"label.website-id": [
{
"type": 0,
- "value": "Website ID"
+ "value": "網站 ID"
}
],
"label.websites": [
@@ -703,16 +1079,22 @@
"value": "網站"
}
],
+ "label.window": [
+ {
+ "type": 0,
+ "value": "視窗"
+ }
+ ],
"label.yesterday": [
{
"type": 0,
- "value": "Yesterday"
+ "value": "昨天"
}
],
"message.active-users": [
{
"type": 0,
- "value": "當前線上 "
+ "value": "目前有 "
},
{
"type": 1,
@@ -720,13 +1102,13 @@
},
{
"type": 0,
- "value": " 人"
+ "value": " 個活躍的訪客"
}
],
"message.confirm-delete": [
{
"type": 0,
- "value": "你確定要刪除 "
+ "value": "您確定要刪除 "
},
{
"type": 1,
@@ -740,7 +1122,7 @@
"message.confirm-leave": [
{
"type": 0,
- "value": "Are you sure you want to leave "
+ "value": "您確定要離開 "
},
{
"type": 1,
@@ -748,13 +1130,13 @@
},
{
"type": 0,
- "value": "?"
+ "value": " 嗎?"
}
],
"message.confirm-reset": [
{
"type": 0,
- "value": "您確定要重置 "
+ "value": "您確定要重設 "
},
{
"type": 1,
@@ -762,25 +1144,47 @@
},
{
"type": 0,
- "value": " 的數據嗎?"
+ "value": " 嗎?"
+ }
+ ],
+ "message.delete-account": [
+ {
+ "type": 0,
+ "value": "要刪除此帳戶,請在下方的方框中輸入 "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " 以確認。"
}
],
"message.delete-website": [
{
"type": 0,
- "value": "刪除網站"
+ "value": "要刪除此網站,請在下方的方框中輸入 "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " 以確認。"
}
],
"message.delete-website-warning": [
{
"type": 0,
- "value": "所有相關數據將會被刪除。"
+ "value": "所有網站資料將被刪除。"
}
],
"message.error": [
{
"type": 0,
- "value": "出現錯誤。"
+ "value": "發生錯誤。"
}
],
"message.event-log": [
@@ -790,7 +1194,7 @@
},
{
"type": 0,
- "value": " on "
+ "value": " 在 "
},
{
"type": 1,
@@ -800,25 +1204,25 @@
"message.go-to-settings": [
{
"type": 0,
- "value": "去設定"
+ "value": "前往設定"
}
],
"message.incorrect-username-password": [
{
"type": 0,
- "value": "用户名或密碼不正確。"
+ "value": "使用者名稱和/或密碼不正確。"
}
],
"message.invalid-domain": [
{
"type": 0,
- "value": "無效域名"
+ "value": "無效的網域。請不要包含 http/https。"
}
],
"message.min-password-length": [
{
"type": 0,
- "value": "Minimum length of "
+ "value": "最少需要 "
},
{
"type": 1,
@@ -826,99 +1230,157 @@
},
{
"type": 0,
- "value": " characters"
+ "value": " 個字元"
+ }
+ ],
+ "message.new-version-available": [
+ {
+ "type": 0,
+ "value": "Umami "
+ },
+ {
+ "type": 1,
+ "value": "version"
+ },
+ {
+ "type": 0,
+ "value": " 的新版本已經可以使用!"
}
],
"message.no-data-available": [
{
"type": 0,
- "value": "無可用數據。"
+ "value": "沒有可用的資料。"
+ }
+ ],
+ "message.no-event-data": [
+ {
+ "type": 0,
+ "value": "沒有可用的事件資料。"
}
],
"message.no-match-password": [
{
"type": 0,
- "value": "密碼不一致"
+ "value": "密碼不一致。"
+ }
+ ],
+ "message.no-results-found": [
+ {
+ "type": 0,
+ "value": "找不到結果。"
+ }
+ ],
+ "message.no-team-websites": [
+ {
+ "type": 0,
+ "value": "此團隊沒有任何網站。"
}
],
"message.no-teams": [
{
"type": 0,
- "value": "You have not created any teams."
+ "value": "您尚未建立任何團隊。"
}
],
"message.no-users": [
{
"type": 0,
- "value": "There are no users."
+ "value": "沒有使用者。"
+ }
+ ],
+ "message.no-websites-configured": [
+ {
+ "type": 0,
+ "value": "您尚未設定任何網站。"
}
],
"message.page-not-found": [
{
"type": 0,
- "value": "網頁未找到。"
+ "value": "找不到頁面"
}
],
"message.reset-website": [
{
"type": 0,
- "value": "重置統計數據"
+ "value": "要重設此網站,請在下方的方框中輸入 "
+ },
+ {
+ "type": 1,
+ "value": "confirmation"
+ },
+ {
+ "type": 0,
+ "value": " 以確認。"
}
],
"message.reset-website-warning": [
{
"type": 0,
- "value": "本網站的所有統計數據將被刪除,但您的跟蹤代碼將保持不變。"
+ "value": "此網站的所有統計將被刪除,但您的設定將保持不變。"
}
],
"message.saved": [
{
"type": 0,
- "value": "成功保存。"
+ "value": "已儲存。"
}
],
"message.share-url": [
{
"type": 0,
- "value": "這是 "
- },
- {
- "type": 1,
- "value": "target"
- },
- {
- "type": 0,
- "value": " 的分享連結。"
+ "value": "您的網站統計資料可以在以下網址公開檢視:"
}
],
"message.team-already-member": [
{
"type": 0,
- "value": "You are already a member of the team."
+ "value": "您已經是團隊的成員。"
}
],
"message.team-not-found": [
{
"type": 0,
- "value": "Team not found."
+ "value": "找不到團隊。"
+ }
+ ],
+ "message.team-websites-info": [
+ {
+ "type": 0,
+ "value": "團隊的任何成員都可以檢視網站。"
}
],
"message.tracking-code": [
{
"type": 0,
- "value": "追蹤代碼"
+ "value": "要追蹤此網站的統計,請將以下代碼放在您的 HTML 的 "
+ },
+ {
+ "children": [
+ {
+ "type": 0,
+ "value": "..."
+ }
+ ],
+ "type": 8,
+ "value": "head"
+ },
+ {
+ "type": 0,
+ "value": " 區段中。"
}
],
"message.user-deleted": [
{
"type": 0,
- "value": "User deleted."
+ "value": "使用者已刪除。"
}
],
"message.visitor-log": [
{
"type": 0,
- "value": "來自"
+ "value": "來自 "
},
{
"type": 1,
@@ -926,15 +1388,7 @@
},
{
"type": 0,
- "value": "的訪客在搭載 "
- },
- {
- "type": 1,
- "value": "os"
- },
- {
- "type": 0,
- "value": " 的"
+ "value": " 的訪客在 "
},
{
"type": 1,
@@ -942,7 +1396,15 @@
},
{
"type": 0,
- "value": "上使用 "
+ "value": " 上的 "
+ },
+ {
+ "type": 1,
+ "value": "os"
+ },
+ {
+ "type": 0,
+ "value": " 使用 "
},
{
"type": 1,
@@ -950,25 +1412,7 @@
},
{
"type": 0,
- "value": " 進行訪問。"
- }
- ],
- "messages.no-team-websites": [
- {
- "type": 0,
- "value": "This team does not have any websites."
- }
- ],
- "messages.no-websites-configured": [
- {
- "type": 0,
- "value": "目前無任何網站設定。"
- }
- ],
- "messages.team-websites-info": [
- {
- "type": 0,
- "value": "Websites can be viewed by anyone on the team."
+ "value": " 瀏覽。"
}
]
}
diff --git a/queries/admin/team.ts b/queries/admin/team.ts
deleted file mode 100644
index b965119b..00000000
--- a/queries/admin/team.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Prisma, Team, TeamWebsite } from '@prisma/client';
-import prisma from 'lib/prisma';
-import { uuid } from 'lib/crypto';
-import { ROLES } from 'lib/constants';
-
-export async function getTeam(where: Prisma.TeamWhereInput): Promise {
- return prisma.client.team.findFirst({
- where,
- include: {
- teamUser: true,
- },
- });
-}
-
-export async function getTeams(where: Prisma.TeamWhereInput): Promise {
- return prisma.client.team.findMany({
- where,
- });
-}
-
-export async function createTeam(data: Prisma.TeamCreateInput, userId: string): Promise {
- const { id } = data;
-
- return prisma.transaction([
- prisma.client.team.create({
- data,
- }),
- prisma.client.teamUser.create({
- data: {
- id: uuid(),
- teamId: id,
- userId,
- role: ROLES.teamOwner,
- },
- }),
- ]);
-}
-
-export async function updateTeam(
- data: Prisma.TeamUpdateInput,
- where: Prisma.TeamWhereUniqueInput,
-): Promise {
- return prisma.client.team.update({
- data: {
- ...data,
- updatedAt: new Date(),
- },
- where,
- });
-}
-
-export async function deleteTeam(
- teamId: string,
-): Promise> {
- const { client, transaction } = prisma;
-
- return transaction([
- client.teamWebsite.deleteMany({
- where: {
- teamId,
- },
- }),
- client.teamUser.deleteMany({
- where: {
- teamId,
- },
- }),
- client.team.delete({
- where: {
- id: teamId,
- },
- }),
- ]);
-}
diff --git a/queries/admin/website.ts b/queries/admin/website.ts
deleted file mode 100644
index f5ce5739..00000000
--- a/queries/admin/website.ts
+++ /dev/null
@@ -1,112 +0,0 @@
-import { Prisma, Website } from '@prisma/client';
-import cache from 'lib/cache';
-import prisma from 'lib/prisma';
-
-export async function getWebsite(where: Prisma.WebsiteWhereUniqueInput): Promise {
- return prisma.client.website.findUnique({
- where,
- });
-}
-
-export async function getWebsites(): Promise {
- return prisma.client.website.findMany({
- orderBy: {
- name: 'asc',
- },
- });
-}
-
-export async function createWebsite(
- data: Prisma.WebsiteCreateInput | Prisma.WebsiteUncheckedCreateInput,
-): Promise {
- return prisma.client.website
- .create({
- data,
- })
- .then(async data => {
- if (cache.enabled) {
- await cache.storeWebsite(data);
- }
-
- return data;
- });
-}
-
-export async function updateWebsite(
- websiteId,
- data: Prisma.WebsiteUpdateInput | Prisma.WebsiteUncheckedUpdateInput,
-): Promise {
- return prisma.client.website.update({
- where: {
- id: websiteId,
- },
- data,
- });
-}
-
-export async function resetWebsite(
- websiteId,
-): Promise<[Prisma.BatchPayload, Prisma.BatchPayload, Website]> {
- const { client, transaction } = prisma;
-
- return transaction([
- client.websiteEvent.deleteMany({
- where: { websiteId },
- }),
- client.session.deleteMany({
- where: { websiteId },
- }),
- client.website.update({
- where: { id: websiteId },
- data: {
- resetAt: new Date(),
- },
- }),
- ]).then(async data => {
- if (cache.enabled) {
- await cache.storeWebsite(data[2]);
- }
-
- return data;
- });
-}
-
-export async function deleteWebsite(
- websiteId,
-): Promise<[Prisma.BatchPayload, Prisma.BatchPayload, Website]> {
- const { client, transaction } = prisma;
- const cloudMode = process.env.CLOUD_MODE;
-
- return transaction([
- client.eventData.deleteMany({
- where: { websiteId },
- }),
- client.websiteEvent.deleteMany({
- where: { websiteId },
- }),
- client.session.deleteMany({
- where: { websiteId },
- }),
- client.teamWebsite.deleteMany({
- where: {
- websiteId,
- },
- }),
- cloudMode
- ? prisma.client.website.update({
- data: {
- deletedAt: new Date(),
- },
- where: { id: websiteId },
- })
- : client.website.delete({
- where: { id: websiteId },
- }),
- ]).then(async data => {
- if (cache.enabled) {
- await cache.deleteWebsite(websiteId);
- }
-
- return data;
- });
-}
diff --git a/queries/analytics/event/getEventMetrics.ts b/queries/analytics/event/getEventMetrics.ts
deleted file mode 100644
index 32c4c3d0..00000000
--- a/queries/analytics/event/getEventMetrics.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-import prisma from 'lib/prisma';
-import clickhouse from 'lib/clickhouse';
-import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
-import { WebsiteEventMetric } from 'lib/types';
-import { EVENT_TYPE } from 'lib/constants';
-import { loadWebsite } from 'lib/query';
-
-export async function getEventMetrics(
- ...args: [
- websiteId: string,
- data: {
- startDate: Date;
- endDate: Date;
- timezone: string;
- unit: string;
- filters: {
- url: string;
- eventName: string;
- };
- },
- ]
-): Promise {
- return runQuery({
- [PRISMA]: () => relationalQuery(...args),
- [CLICKHOUSE]: () => clickhouseQuery(...args),
- });
-}
-
-async function relationalQuery(
- websiteId: string,
- {
- startDate,
- endDate,
- timezone = 'utc',
- unit = 'day',
- filters,
- }: {
- startDate: Date;
- endDate: Date;
- timezone: string;
- unit: string;
- filters: {
- url: string;
- eventName: string;
- };
- },
-) {
- const { toUuid, rawQuery, getDateQuery, getFilterQuery } = prisma;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params: any = [websiteId, resetDate, startDate, endDate];
- const filterQuery = getFilterQuery(filters, params);
-
- return rawQuery(
- `select
- event_name x,
- ${getDateQuery('created_at', unit, timezone)} t,
- count(*) y
- from website_event
- where website_id = $1${toUuid()}
- and created_at >= $2
- and created_at between $3 and $4
- and event_type = ${EVENT_TYPE.customEvent}
- ${filterQuery}
- group by 1, 2
- order by 2`,
- params,
- );
-}
-
-async function clickhouseQuery(
- websiteId: string,
- {
- startDate,
- endDate,
- timezone = 'utc',
- unit = 'day',
- filters,
- }: {
- startDate: Date;
- endDate: Date;
- timezone: string;
- unit: string;
- filters: {
- url: string;
- eventName: string;
- };
- },
-) {
- const { rawQuery, getDateQuery, getDateFormat, getBetweenDates, getFilterQuery } = clickhouse;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params = { websiteId };
-
- return rawQuery(
- `select
- event_name x,
- ${getDateQuery('created_at', unit, timezone)} t,
- count(*) y
- from website_event
- where website_id = {websiteId:UUID}
- and event_type = ${EVENT_TYPE.customEvent}
- and created_at >= ${getDateFormat(resetDate)}
- and ${getBetweenDates('created_at', startDate, endDate)}
- ${getFilterQuery(filters, params)}
- group by x, t
- order by t`,
- params,
- );
-}
diff --git a/queries/analytics/eventData/getEventData.ts b/queries/analytics/eventData/getEventData.ts
deleted file mode 100644
index 73a71386..00000000
--- a/queries/analytics/eventData/getEventData.ts
+++ /dev/null
@@ -1,122 +0,0 @@
-import clickhouse from 'lib/clickhouse';
-import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
-import prisma from 'lib/prisma';
-import { WebsiteEventDataMetric } from 'lib/types';
-import { loadWebsite } from 'lib/query';
-
-export async function getEventData(
- ...args: [
- websiteId: string,
- data: {
- startDate: Date;
- endDate: Date;
- eventName: string;
- urlPath?: string;
- filters: [
- {
- eventKey?: string;
- eventValue?: string | number | boolean | Date;
- },
- ];
- },
- ]
-): Promise {
- return runQuery({
- [PRISMA]: () => relationalQuery(...args),
- [CLICKHOUSE]: () => clickhouseQuery(...args),
- });
-}
-
-async function relationalQuery(
- websiteId: string,
- data: {
- startDate: Date;
- endDate: Date;
- timeSeries?: {
- unit: string;
- timezone: string;
- };
- eventName: string;
- urlPath?: string;
- filters: [
- {
- eventKey?: string;
- eventValue?: string | number | boolean | Date;
- },
- ];
- },
-) {
- const { startDate, endDate, timeSeries, eventName, urlPath, filters } = data;
- const { toUuid, rawQuery, getEventDataFilterQuery, getDateQuery } = prisma;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params: any = [websiteId, resetDate, startDate, endDate, eventName || ''];
-
- return rawQuery(
- `select
- count(*) x
- ${eventName ? `,event_name eventName` : ''}
- ${urlPath ? `,url_path urlPath` : ''}
- ${
- timeSeries ? `,${getDateQuery('created_at', timeSeries.unit, timeSeries.timezone)} t` : ''
- }
- from event_data
- ${
- eventName || urlPath
- ? 'join website_event on event_data.id = website_event.website_event_id'
- : ''
- }
- where website_id = $1${toUuid()}
- and created_at >= $2
- and created_at between $3 and $4
- ${eventName ? `and eventName = $5` : ''}
- ${getEventDataFilterQuery(filters, params)}
- ${timeSeries ? 'group by t' : ''}`,
- params,
- );
-}
-
-async function clickhouseQuery(
- websiteId: string,
- data: {
- startDate: Date;
- endDate: Date;
- timeSeries?: {
- unit: string;
- timezone: string;
- };
- eventName?: string;
- urlPath?: string;
- filters: [
- {
- eventKey?: string;
- eventValue?: string | number | boolean | Date;
- },
- ];
- },
-) {
- const { startDate, endDate, timeSeries, eventName, urlPath, filters } = data;
- const { rawQuery, getDateFormat, getBetweenDates, getDateQuery, getEventDataFilterQuery } =
- clickhouse;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params = { websiteId };
-
- return rawQuery(
- `select
- count(*) x
- ${eventName ? `,event_name eventName` : ''}
- ${urlPath ? `,url_path urlPath` : ''}
- ${
- timeSeries ? `,${getDateQuery('created_at', timeSeries.unit, timeSeries.timezone)} t` : ''
- }
- from event_data
- where website_id = {websiteId:UUID}
- ${eventName ? `and eventName = ${eventName}` : ''}
- and created_at >= ${getDateFormat(resetDate)}
- and ${getBetweenDates('created_at', startDate, endDate)}
- ${getEventDataFilterQuery(filters, params)}
- ${timeSeries ? 'group by t' : ''}`,
- params,
- );
-}
diff --git a/queries/analytics/pageview/getPageviewMetrics.ts b/queries/analytics/pageview/getPageviewMetrics.ts
deleted file mode 100644
index db82720d..00000000
--- a/queries/analytics/pageview/getPageviewMetrics.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import prisma from 'lib/prisma';
-import clickhouse from 'lib/clickhouse';
-import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
-import { EVENT_TYPE } from 'lib/constants';
-import { loadWebsite } from 'lib/query';
-
-export async function getPageviewMetrics(
- ...args: [
- websiteId: string,
- criteria: {
- startDate: Date;
- endDate: Date;
- column: string;
- filters: object;
- },
- ]
-) {
- return runQuery({
- [PRISMA]: () => relationalQuery(...args),
- [CLICKHOUSE]: () => clickhouseQuery(...args),
- });
-}
-
-async function relationalQuery(
- websiteId: string,
- criteria: {
- startDate: Date;
- endDate: Date;
- column: string;
- filters: object;
- },
-) {
- const { startDate, endDate, filters = {}, column } = criteria;
- const { rawQuery, parseFilters, toUuid } = prisma;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params: any = [
- websiteId,
- resetDate,
- startDate,
- endDate,
- column === 'event_name' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView,
- ];
-
- let excludeDomain = '';
-
- if (column === 'referrer_domain') {
- excludeDomain = 'and website_event.referrer_domain != $6';
- params.push(website.domain);
- }
-
- const { filterQuery, joinSession } = parseFilters(filters, params);
-
- return rawQuery(
- `select ${column} x, count(*) y
- from website_event
- ${joinSession}
- where website_event.website_id = $1${toUuid()}
- and website_event.created_at >= $2
- and website_event.created_at between $3 and $4
- and event_type = $5
- ${excludeDomain}
- ${filterQuery}
- group by 1
- order by 2 desc
- limit 100`,
- params,
- );
-}
-
-async function clickhouseQuery(
- websiteId: string,
- criteria: {
- startDate: Date;
- endDate: Date;
- column: string;
- filters: object;
- },
-) {
- const { startDate, endDate, filters = {}, column } = criteria;
- const { rawQuery, getDateFormat, parseFilters, getBetweenDates } = clickhouse;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params = {
- websiteId,
- eventType: column === 'event_name' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView,
- domain: undefined,
- };
-
- let excludeDomain = '';
-
- if (column === 'referrer_domain') {
- excludeDomain = 'and referrer_domain != {domain:String}';
- params.domain = website.domain;
- }
-
- const { filterQuery } = parseFilters(filters, params);
-
- return rawQuery(
- `select ${column} x, count(*) y
- from website_event
- where website_id = {websiteId:UUID}
- and event_type = {eventType:UInt32}
- and created_at >= ${getDateFormat(resetDate)}
- and ${getBetweenDates('created_at', startDate, endDate)}
- ${excludeDomain}
- ${filterQuery}
- group by x
- order by y desc
- limit 100`,
- params,
- );
-}
diff --git a/queries/analytics/pageview/getPageviewStats.ts b/queries/analytics/pageview/getPageviewStats.ts
deleted file mode 100644
index 01e4ab14..00000000
--- a/queries/analytics/pageview/getPageviewStats.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-import clickhouse from 'lib/clickhouse';
-import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
-import prisma from 'lib/prisma';
-import { EVENT_TYPE } from 'lib/constants';
-import { loadWebsite } from 'lib/query';
-
-export async function getPageviewStats(
- ...args: [
- websiteId: string,
- criteria: {
- startDate: Date;
- endDate: Date;
- timezone?: string;
- unit?: string;
- count?: string;
- filters: object;
- sessionKey?: string;
- },
- ]
-) {
- return runQuery({
- [PRISMA]: () => relationalQuery(...args),
- [CLICKHOUSE]: () => clickhouseQuery(...args),
- });
-}
-
-async function relationalQuery(
- websiteId: string,
- criteria: {
- startDate: Date;
- endDate: Date;
- timezone?: string;
- unit?: string;
- count?: string;
- filters: object;
- sessionKey?: string;
- },
-) {
- const {
- startDate,
- endDate,
- timezone = 'utc',
- unit = 'day',
- count = '*',
- filters = {},
- sessionKey = 'session_id',
- } = criteria;
- const { toUuid, getDateQuery, parseFilters, rawQuery } = prisma;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params: any = [websiteId, resetDate, startDate, endDate];
- const { filterQuery, joinSession } = parseFilters(filters, params);
-
- return rawQuery(
- `select ${getDateQuery('website_event.created_at', unit, timezone)} x,
- count(${count !== '*' ? `${count}${sessionKey}` : count}) y
- from website_event
- ${joinSession}
- where website_event.website_id = $1${toUuid()}
- and website_event.created_at >= $2
- and website_event.created_at between $3 and $4
- and event_type = ${EVENT_TYPE.pageView}
- ${filterQuery}
- group by 1`,
- params,
- );
-}
-
-async function clickhouseQuery(
- websiteId: string,
- criteria: {
- startDate: Date;
- endDate: Date;
- timezone?: string;
- unit?: string;
- count?: string;
- filters: object;
- sessionKey?: string;
- },
-) {
- const {
- startDate,
- endDate,
- timezone = 'UTC',
- unit = 'day',
- count = '*',
- filters = {},
- } = criteria;
- const {
- parseFilters,
- getDateFormat,
- rawQuery,
- getDateStringQuery,
- getDateQuery,
- getBetweenDates,
- } = clickhouse;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params = { websiteId };
- const { filterQuery } = parseFilters(filters, params);
-
- return rawQuery(
- `select
- ${getDateStringQuery('g.t', unit)} as x,
- g.y as y
- from
- (select
- ${getDateQuery('created_at', unit, timezone)} t,
- count(${count !== '*' ? 'distinct session_id' : count}) y
- from website_event
- where website_id = {websiteId:UUID}
- and event_type = ${EVENT_TYPE.pageView}
- and created_at >= ${getDateFormat(resetDate)}
- and ${getBetweenDates('created_at', startDate, endDate)}
- ${filterQuery}
- group by t) g
- order by t`,
- params,
- );
-}
diff --git a/queries/analytics/session/createSession.ts b/queries/analytics/session/createSession.ts
deleted file mode 100644
index 22f7892f..00000000
--- a/queries/analytics/session/createSession.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
-import kafka from 'lib/kafka';
-import prisma from 'lib/prisma';
-import cache from 'lib/cache';
-import { Prisma } from '@prisma/client';
-
-export async function createSession(args: Prisma.SessionCreateInput) {
- return runQuery({
- [PRISMA]: () => relationalQuery(args),
- [CLICKHOUSE]: () => clickhouseQuery(args),
- }).then(async data => {
- if (cache.enabled) {
- await cache.storeSession(data);
- }
-
- return data;
- });
-}
-
-async function relationalQuery(data: Prisma.SessionCreateInput) {
- const {
- id,
- websiteId,
- hostname,
- browser,
- os,
- device,
- screen,
- language,
- country,
- subdivision1,
- subdivision2,
- city,
- } = data;
-
- return prisma.client.session.create({
- data: {
- id,
- websiteId,
- hostname,
- browser,
- os,
- device,
- screen,
- language,
- country,
- subdivision1: country && subdivision1 ? `${country}-${subdivision1}` : null,
- subdivision2,
- city,
- },
- });
-}
-
-async function clickhouseQuery(data: {
- id: string;
- websiteId: string;
- hostname?: string;
- browser?: string;
- os?: string;
- device?: string;
- screen?: string;
- language?: string;
- country?: string;
- subdivision1?: string;
- subdivision2?: string;
- city?: string;
-}) {
- const {
- id,
- websiteId,
- hostname,
- browser,
- os,
- device,
- screen,
- language,
- country,
- subdivision1,
- subdivision2,
- city,
- } = data;
- const { getDateFormat, sendMessage } = kafka;
-
- const msg = {
- session_id: id,
- website_id: websiteId,
- hostname,
- browser,
- os,
- device,
- screen,
- language,
- country,
- subdivision1,
- subdivision2,
- city,
- created_at: getDateFormat(new Date()),
- };
-
- await sendMessage(msg, 'event');
-
- return data;
-}
diff --git a/queries/analytics/session/getSession.ts b/queries/analytics/session/getSession.ts
deleted file mode 100644
index d226e832..00000000
--- a/queries/analytics/session/getSession.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import clickhouse from 'lib/clickhouse';
-import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
-import prisma from 'lib/prisma';
-import { Prisma } from '@prisma/client';
-
-export async function getSession(args: { id: string }) {
- return runQuery({
- [PRISMA]: () => relationalQuery(args),
- [CLICKHOUSE]: () => clickhouseQuery(args),
- });
-}
-
-async function relationalQuery(where: Prisma.SessionWhereUniqueInput) {
- return prisma.client.session.findUnique({
- where,
- });
-}
-
-async function clickhouseQuery({ id: sessionId }: { id: string }) {
- const { rawQuery, findFirst } = clickhouse;
- const params = { sessionId };
-
- return rawQuery(
- `select
- session_id,
- website_id,
- created_at,
- hostname,
- browser,
- os,
- device,
- screen,
- language,
- country,
- subdivision1,
- subdivision2,
- city
- from website_event
- where session_id = {sessionId:UUID}
- limit 1`,
- params,
- ).then(result => findFirst(result));
-}
diff --git a/queries/analytics/session/getSessionMetrics.ts b/queries/analytics/session/getSessionMetrics.ts
deleted file mode 100644
index 57d4a736..00000000
--- a/queries/analytics/session/getSessionMetrics.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import prisma from 'lib/prisma';
-import clickhouse from 'lib/clickhouse';
-import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
-import { EVENT_TYPE } from 'lib/constants';
-import { loadWebsite } from 'lib/query';
-
-export async function getSessionMetrics(
- ...args: [
- websiteId: string,
- criteria: { startDate: Date; endDate: Date; column: string; filters: object },
- ]
-) {
- return runQuery({
- [PRISMA]: () => relationalQuery(...args),
- [CLICKHOUSE]: () => clickhouseQuery(...args),
- });
-}
-
-async function relationalQuery(
- websiteId: string,
- criteria: { startDate: Date; endDate: Date; column: string; filters: object },
-) {
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const { startDate, endDate, column, filters = {} } = criteria;
- const { toUuid, parseFilters, rawQuery } = prisma;
- const params: any = [websiteId, resetDate, startDate, endDate];
- const { filterQuery, joinSession } = parseFilters(filters, params);
-
- return rawQuery(
- `select ${column} x, count(*) y
- from session as x
- where x.session_id in (
- select website_event.session_id
- from website_event
- join website
- on website_event.website_id = website.website_id
- ${joinSession}
- where website.website_id = $1${toUuid()}
- and website_event.created_at >= $2
- and website_event.created_at between $3 and $4
- ${filterQuery}
- )
- group by 1
- order by 2 desc
- limit 100`,
- params,
- );
-}
-
-async function clickhouseQuery(
- websiteId: string,
- data: { startDate: Date; endDate: Date; column: string; filters: object },
-) {
- const { startDate, endDate, column, filters = {} } = data;
- const { getDateFormat, parseFilters, getBetweenDates, rawQuery } = clickhouse;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params = { websiteId };
- const { filterQuery } = parseFilters(filters, params);
-
- return rawQuery(
- `select ${column} x, count(distinct session_id) y
- from website_event as x
- where website_id = {websiteId:UUID}
- and event_type = ${EVENT_TYPE.pageView}
- and created_at >= ${getDateFormat(resetDate)}
- and ${getBetweenDates('created_at', startDate, endDate)}
- ${filterQuery}
- group by x
- order by y desc
- limit 100`,
- params,
- );
-}
diff --git a/queries/analytics/stats/getWebsiteStats.ts b/queries/analytics/stats/getWebsiteStats.ts
deleted file mode 100644
index 0021e793..00000000
--- a/queries/analytics/stats/getWebsiteStats.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import prisma from 'lib/prisma';
-import clickhouse from 'lib/clickhouse';
-import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
-import { EVENT_TYPE } from 'lib/constants';
-import { loadWebsite } from 'lib/query';
-
-export async function getWebsiteStats(
- ...args: [
- websiteId: string,
- data: { startDate: Date; endDate: Date; type?: string; filters: object },
- ]
-) {
- return runQuery({
- [PRISMA]: () => relationalQuery(...args),
- [CLICKHOUSE]: () => clickhouseQuery(...args),
- });
-}
-
-async function relationalQuery(
- websiteId: string,
- criteria: { startDate: Date; endDate: Date; filters: object },
-) {
- const { startDate, endDate, filters = {} } = criteria;
- const { toUuid, getDateQuery, getTimestampInterval, parseFilters, rawQuery } = prisma;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params: any = [websiteId, resetDate, startDate, endDate];
- const { filterQuery, joinSession } = parseFilters(filters, params);
-
- return rawQuery(
- `select sum(t.c) as "pageviews",
- count(distinct t.session_id) as "uniques",
- sum(case when t.c = 1 then 1 else 0 end) as "bounces",
- sum(t.time) as "totaltime"
- from (
- select website_event.session_id,
- ${getDateQuery('website_event.created_at', 'hour')},
- count(*) c,
- ${getTimestampInterval('website_event.created_at')} as "time"
- from website_event
- join website
- on website_event.website_id = website.website_id
- ${joinSession}
- where event_type = ${EVENT_TYPE.pageView}
- and website.website_id = $1${toUuid()}
- and website_event.created_at >= $2
- and website_event.created_at between $3 and $4
- ${filterQuery}
- group by 1, 2
- ) t`,
- params,
- );
-}
-
-async function clickhouseQuery(
- websiteId: string,
- criteria: { startDate: Date; endDate: Date; filters: object },
-) {
- const { startDate, endDate, filters = {} } = criteria;
- const { rawQuery, getDateFormat, getDateQuery, getBetweenDates, parseFilters } = clickhouse;
- const website = await loadWebsite(websiteId);
- const resetDate = new Date(website?.resetAt || website?.createdAt);
- const params = { websiteId };
- const { filterQuery } = parseFilters(filters, params);
-
- return rawQuery(
- `select
- sum(t.c) as "pageviews",
- count(distinct t.session_id) as "uniques",
- sum(if(t.c = 1, 1, 0)) as "bounces",
- sum(if(max_time < min_time + interval 1 hour, max_time-min_time, 0)) as "totaltime"
- from (
- select session_id,
- ${getDateQuery('created_at', 'day')} time_series,
- count(*) c,
- min(created_at) min_time,
- max(created_at) max_time
- from website_event
- where event_type = ${EVENT_TYPE.pageView}
- and website_id = {websiteId:UUID}
- and created_at >= ${getDateFormat(resetDate)}
- and ${getBetweenDates('created_at', startDate, endDate)}
- ${filterQuery}
- group by session_id, time_series
- ) t;`,
- params,
- );
-}
diff --git a/queries/index.js b/queries/index.js
deleted file mode 100644
index 1275e173..00000000
--- a/queries/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-export * from './admin/team';
-export * from './admin/teamUser';
-export * from './admin/user';
-export * from './admin/website';
-export * from './analytics/event/getEventMetrics';
-export * from './analytics/event/getEvents';
-export * from './analytics/eventData/getEventData';
-export * from './analytics/event/saveEvent';
-export * from './analytics/pageview/getPageviewMetrics';
-export * from './analytics/pageview/getPageviewStats';
-export * from './analytics/session/createSession';
-export * from './analytics/session/getSession';
-export * from './analytics/session/getSessionMetrics';
-export * from './analytics/session/getSessions';
-export * from './analytics/stats/getActiveVisitors';
-export * from './analytics/stats/getRealtimeData';
-export * from './analytics/stats/getWebsiteStats';
diff --git a/rollup.components.config.mjs b/rollup.components.config.mjs
new file mode 100644
index 00000000..c4481d0e
--- /dev/null
+++ b/rollup.components.config.mjs
@@ -0,0 +1,84 @@
+import path from 'path';
+import crypto from 'crypto';
+import resolve from '@rollup/plugin-node-resolve';
+import alias from '@rollup/plugin-alias';
+import json from '@rollup/plugin-json';
+import postcss from 'rollup-plugin-postcss';
+import copy from 'rollup-plugin-copy';
+import del from 'rollup-plugin-delete';
+import nodeExternals from 'rollup-plugin-node-externals';
+import esbuild from 'rollup-plugin-esbuild';
+import dts from 'rollup-plugin-dts';
+import svgr from '@svgr/rollup';
+
+const md5 = str => crypto.createHash('md5').update(str).digest('hex');
+
+const customResolver = resolve({
+ extensions: ['.js', '.jsx', '.ts', '.tsx'],
+});
+
+const aliasConfig = {
+ entries: [
+ { find: /^components/, replacement: path.resolve('./src/components') },
+ { find: /^hooks/, replacement: path.resolve('./src/hooks') },
+ { find: /^lib/, replacement: path.resolve('./src/lib') },
+ { find: /^store/, replacement: path.resolve('./src/store') },
+ { find: /^public/, replacement: path.resolve('./public') },
+ { find: /^assets/, replacement: path.resolve('./src/assets') },
+ ],
+ customResolver,
+};
+
+const jsBundle = {
+ input: 'src/index.ts',
+ output: [
+ {
+ file: 'dist/index.js',
+ format: 'es',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ del({ targets: 'dist/*', runOnce: true }),
+ copy({ targets: [{ src: './package.components.json', dest: 'dist', rename: 'package.json' }] }),
+ postcss({
+ config: false,
+ extract: 'styles.css',
+ sourceMap: true,
+ minimize: true,
+ modules: {
+ generateScopedName: function (name, filename, css) {
+ const file = path.basename(filename, '.css').replace('.module', '');
+ const hash = Buffer.from(md5(`${name}:${filename}:${css}`))
+ .toString('base64')
+ .substring(0, 5);
+
+ return `${file}-${name}--${hash}`;
+ },
+ },
+ }),
+ svgr({ icon: true }),
+ nodeExternals(),
+ json(),
+ alias(aliasConfig),
+ esbuild({
+ target: 'es6',
+ jsx: 'automatic',
+ loaders: {
+ '.js': 'jsx',
+ },
+ }),
+ ],
+};
+
+const dtsBundle = {
+ input: 'src/index.ts',
+ output: {
+ file: 'dist/index.d.ts',
+ format: 'es',
+ },
+ plugins: [alias(aliasConfig), nodeExternals(), json(), dts()],
+ external: [/\.css/],
+};
+
+export default [jsBundle, dtsBundle];
diff --git a/rollup.tracker.config.js b/rollup.tracker.config.mjs
similarity index 93%
rename from rollup.tracker.config.js
rename to rollup.tracker.config.mjs
index f4e7223c..465e1af3 100644
--- a/rollup.tracker.config.js
+++ b/rollup.tracker.config.mjs
@@ -4,7 +4,7 @@ import replace from '@rollup/plugin-replace';
import { terser } from 'rollup-plugin-terser';
export default {
- input: 'tracker/index.js',
+ input: 'src/tracker/index.js',
output: {
file: 'public/script.js',
format: 'iife',
diff --git a/scripts/check-db.js b/scripts/check-db.js
index 3fd3a908..a84a775c 100644
--- a/scripts/check-db.js
+++ b/scripts/check-db.js
@@ -11,7 +11,7 @@ if (process.env.SKIP_DB_CHECK) {
}
function getDatabaseType(url = process.env.DATABASE_URL) {
- const type = process.env.DATABASE_TYPE || (url && url.split(':')[0]);
+ const type = url && url.split(':')[0];
if (type === 'postgres') {
return 'postgresql';
@@ -20,7 +20,6 @@ function getDatabaseType(url = process.env.DATABASE_URL) {
return type;
}
-const databaseType = getDatabaseType();
const prisma = new PrismaClient();
function success(msg) {
@@ -49,10 +48,11 @@ async function checkConnection() {
}
}
-async function checkDatabaseVersion(databaseType) {
+async function checkDatabaseVersion() {
const query = await prisma.$queryRaw`select version() as version`;
const version = semver.valid(semver.coerce(query[0].version));
+ const databaseType = getDatabaseType();
const minVersion = databaseType === 'postgresql' ? '9.4.0' : '5.7.0';
if (semver.lt(version, minVersion)) {
@@ -87,7 +87,7 @@ async function applyMigration() {
let err = false;
for (let fn of [checkEnv, checkConnection, checkDatabaseVersion, checkV1Tables, applyMigration]) {
try {
- fn.name === 'checkDatabaseVersion' ? await fn(databaseType) : await fn();
+ await fn();
} catch (e) {
error(e.message);
err = true;
diff --git a/scripts/check-env.js b/scripts/check-env.js
new file mode 100644
index 00000000..a68fd822
--- /dev/null
+++ b/scripts/check-env.js
@@ -0,0 +1,35 @@
+/* eslint-disable no-console */
+require('dotenv').config();
+
+function checkMissing(vars) {
+ const missing = vars.reduce((arr, key) => {
+ if (!process.env[key]) {
+ arr.push(key);
+ }
+ return arr;
+ }, []);
+
+ if (missing.length) {
+ console.log(`The following environment variables are not defined:`);
+ for (const item of missing) {
+ console.log(' - ', item);
+ }
+ process.exit(1);
+ }
+}
+
+if (!process.env.SKIP_DB_CHECK && !process.env.DATABASE_TYPE) {
+ checkMissing(['DATABASE_URL']);
+}
+
+if (process.env.CLICKHOUSE_URL) {
+ checkMissing(['CA_CERT', 'CLIENT_CERT', 'CLIENT_KEY', 'KAFKA_BROKER', 'KAFKA_URL', 'REDIS_URL']);
+}
+
+if (process.env.CLOUD_MODE) {
+ checkMissing(['CLOUD_URL']);
+}
+
+if (process.env.ENABLE_BLOCKER) {
+ checkMissing(['REDIS_URL']);
+}
diff --git a/scripts/check-lang.js b/scripts/check-lang.js
index e5a0bf09..a1b60431 100644
--- a/scripts/check-lang.js
+++ b/scripts/check-lang.js
@@ -2,7 +2,7 @@
const fs = require('fs');
const path = require('path');
const chalk = require('chalk');
-const messages = require('../lang/en-US.json');
+const messages = require('../src/lang/en-US.json');
const ignore = require('../lang-ignore.json');
const dir = path.resolve(__dirname, '../lang');
diff --git a/scripts/download-country-names.js b/scripts/download-country-names.js
index f56d91f9..6dbbbbdc 100644
--- a/scripts/download-country-names.js
+++ b/scripts/download-country-names.js
@@ -4,7 +4,7 @@ const path = require('path');
const https = require('https');
const chalk = require('chalk');
-const src = path.resolve(__dirname, '../lang');
+const src = path.resolve(__dirname, '../src/lang');
const dest = path.resolve(__dirname, '../public/intl/country');
const files = fs.readdirSync(src);
diff --git a/scripts/download-language-names.js b/scripts/download-language-names.js
index 5cea88cf..5478fb8d 100644
--- a/scripts/download-language-names.js
+++ b/scripts/download-language-names.js
@@ -4,7 +4,7 @@ const path = require('path');
const https = require('https');
const chalk = require('chalk');
-const src = path.resolve(__dirname, '../lang');
+const src = path.resolve(__dirname, '../src/lang');
const dest = path.resolve(__dirname, '../public/intl/language');
const files = fs.readdirSync(src);
diff --git a/scripts/format-lang.js b/scripts/format-lang.js
index 941fd672..593e296d 100644
--- a/scripts/format-lang.js
+++ b/scripts/format-lang.js
@@ -3,7 +3,7 @@ const path = require('path');
const del = require('del');
const prettier = require('prettier');
-const src = path.resolve(__dirname, '../lang');
+const src = path.resolve(__dirname, '../src/lang');
const dest = path.resolve(__dirname, '../build/messages');
const files = fs.readdirSync(src);
@@ -17,7 +17,7 @@ async function run() {
await fs.ensureDir(dest);
files.forEach(file => {
- const lang = require(`../lang/${file}`);
+ const lang = require(`../src/lang/${file}`);
const keys = Object.keys(lang).sort();
const formatted = keys.reduce((obj, key) => {
diff --git a/scripts/telemetry.js b/scripts/telemetry.js
index 67fe3202..24cd40c9 100644
--- a/scripts/telemetry.js
+++ b/scripts/telemetry.js
@@ -1,42 +1,24 @@
-const fs = require('fs-extra');
-const path = require('path');
const os = require('os');
const isCI = require('is-ci');
const pkg = require('../package.json');
-const dest = path.resolve(__dirname, '../.next/cache/umami.json');
-const url = 'https://telemetry.umami.is/api/send';
-
-async function sendTelemetry(action) {
- let json = {};
-
- try {
- json = await fs.readJSON(dest);
- } catch {
- // Ignore
- }
-
- try {
- await fs.writeJSON(dest, { version: pkg.version });
- } catch {
- // Ignore
- }
+const url = 'https://api.umami.is/v1/telemetry';
+async function sendTelemetry(type) {
const { default: isDocker } = await import('is-docker');
const { default: fetch } = await import('node-fetch');
- const upgrade = json.version !== undefined && json.version !== pkg.version;
- const payload = {
- action,
- version: pkg.version,
- node: process.version,
- platform: os.platform(),
- arch: os.arch(),
- os: `${os.type()} (${os.version()})`,
- docker: isDocker(),
- ci: isCI,
- prev: json.version,
- upgrade,
+ const data = {
+ type,
+ payload: {
+ version: pkg.version,
+ node: process.version,
+ platform: os.platform(),
+ arch: os.arch(),
+ os: `${os.type()} (${os.version()})`,
+ isDocker: isDocker(),
+ isCi: isCI,
+ },
};
try {
@@ -46,7 +28,7 @@ async function sendTelemetry(action) {
headers: {
'Content-Type': 'application/json',
},
- body: JSON.stringify(payload),
+ body: JSON.stringify(data),
});
} catch {
// Ignore
diff --git a/src/assets/add-user.svg b/src/assets/add-user.svg
new file mode 100644
index 00000000..c6b4f484
--- /dev/null
+++ b/src/assets/add-user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/bar-chart.svg b/src/assets/bar-chart.svg
new file mode 100644
index 00000000..25a182a3
--- /dev/null
+++ b/src/assets/bar-chart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/bars.svg b/src/assets/bars.svg
similarity index 100%
rename from assets/bars.svg
rename to src/assets/bars.svg
diff --git a/assets/bolt.svg b/src/assets/bolt.svg
similarity index 100%
rename from assets/bolt.svg
rename to src/assets/bolt.svg
diff --git a/assets/calendar.svg b/src/assets/calendar.svg
similarity index 100%
rename from assets/calendar.svg
rename to src/assets/calendar.svg
diff --git a/assets/clock.svg b/src/assets/clock.svg
similarity index 68%
rename from assets/clock.svg
rename to src/assets/clock.svg
index 9c2a9a41..ab4c1dec 100644
--- a/assets/clock.svg
+++ b/src/assets/clock.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/assets/dashboard.svg b/src/assets/dashboard.svg
new file mode 100644
index 00000000..2090e5dc
--- /dev/null
+++ b/src/assets/dashboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/expand.svg b/src/assets/expand.svg
new file mode 100644
index 00000000..43b9036f
--- /dev/null
+++ b/src/assets/expand.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/eye.svg b/src/assets/eye.svg
similarity index 100%
rename from assets/eye.svg
rename to src/assets/eye.svg
diff --git a/src/assets/funnel.svg b/src/assets/funnel.svg
new file mode 100644
index 00000000..63fb7158
--- /dev/null
+++ b/src/assets/funnel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/gear.svg b/src/assets/gear.svg
similarity index 100%
rename from assets/gear.svg
rename to src/assets/gear.svg
diff --git a/assets/globe.svg b/src/assets/globe.svg
similarity index 100%
rename from assets/globe.svg
rename to src/assets/globe.svg
diff --git a/src/assets/lightbulb.svg b/src/assets/lightbulb.svg
new file mode 100644
index 00000000..4ff96dcc
--- /dev/null
+++ b/src/assets/lightbulb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/link.svg b/src/assets/link.svg
similarity index 100%
rename from assets/link.svg
rename to src/assets/link.svg
diff --git a/assets/lock.svg b/src/assets/lock.svg
similarity index 70%
rename from assets/lock.svg
rename to src/assets/lock.svg
index c13fb7c7..27fcc5e1 100644
--- a/assets/lock.svg
+++ b/src/assets/lock.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/assets/logo.svg b/src/assets/logo.svg
similarity index 100%
rename from assets/logo.svg
rename to src/assets/logo.svg
diff --git a/src/assets/magnet.svg b/src/assets/magnet.svg
new file mode 100644
index 00000000..3c64c3ee
--- /dev/null
+++ b/src/assets/magnet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/moon.svg b/src/assets/moon.svg
similarity index 100%
rename from assets/moon.svg
rename to src/assets/moon.svg
diff --git a/src/assets/nodes.svg b/src/assets/nodes.svg
new file mode 100644
index 00000000..b3e22a75
--- /dev/null
+++ b/src/assets/nodes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/overview.svg b/src/assets/overview.svg
new file mode 100644
index 00000000..ec44b4ea
--- /dev/null
+++ b/src/assets/overview.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/profile.svg b/src/assets/profile.svg
similarity index 94%
rename from assets/profile.svg
rename to src/assets/profile.svg
index 133b1bc1..6a1af5a0 100644
--- a/assets/profile.svg
+++ b/src/assets/profile.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/assets/redo.svg b/src/assets/redo.svg
similarity index 100%
rename from assets/redo.svg
rename to src/assets/redo.svg
diff --git a/src/assets/reports.svg b/src/assets/reports.svg
new file mode 100644
index 00000000..66dfc325
--- /dev/null
+++ b/src/assets/reports.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/sun.svg b/src/assets/sun.svg
similarity index 100%
rename from assets/sun.svg
rename to src/assets/sun.svg
diff --git a/assets/user.svg b/src/assets/user.svg
similarity index 81%
rename from assets/user.svg
rename to src/assets/user.svg
index a75cbb8d..245a67f6 100644
--- a/assets/user.svg
+++ b/src/assets/user.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/assets/users.svg b/src/assets/users.svg
similarity index 94%
rename from assets/users.svg
rename to src/assets/users.svg
index f775ea91..7036a22c 100644
--- a/assets/users.svg
+++ b/src/assets/users.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/assets/visitor.svg b/src/assets/visitor.svg
similarity index 100%
rename from assets/visitor.svg
rename to src/assets/visitor.svg
diff --git a/assets/website.svg b/src/assets/website.svg
similarity index 93%
rename from assets/website.svg
rename to src/assets/website.svg
index cfa9e565..6096a650 100644
--- a/assets/website.svg
+++ b/src/assets/website.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/components/common/ConfirmDeleteForm.js b/src/components/common/ConfirmDeleteForm.js
new file mode 100644
index 00000000..3d2c383d
--- /dev/null
+++ b/src/components/common/ConfirmDeleteForm.js
@@ -0,0 +1,29 @@
+import { useState } from 'react';
+import { Button, LoadingButton, Form, FormButtons } from 'react-basics';
+import useMessages from 'components/hooks/useMessages';
+
+export function ConfirmDeleteForm({ name, onConfirm, onClose }) {
+ const [loading, setLoading] = useState(false);
+ const { formatMessage, labels, messages, FormattedMessage } = useMessages();
+
+ const handleConfirm = () => {
+ setLoading(true);
+ onConfirm();
+ };
+
+ return (
+
+ );
+}
+
+export default ConfirmDeleteForm;
diff --git a/src/components/common/Empty.js b/src/components/common/Empty.js
new file mode 100644
index 00000000..c0be761a
--- /dev/null
+++ b/src/components/common/Empty.js
@@ -0,0 +1,15 @@
+import classNames from 'classnames';
+import styles from './Empty.module.css';
+import useMessages from 'components/hooks/useMessages';
+
+export function Empty({ message, className }) {
+ const { formatMessage, messages } = useMessages();
+
+ return (
+
+ {message || formatMessage(messages.noDataAvailable)}
+
+ );
+}
+
+export default Empty;
diff --git a/components/common/NoData.module.css b/src/components/common/Empty.module.css
similarity index 100%
rename from components/common/NoData.module.css
rename to src/components/common/Empty.module.css
diff --git a/components/common/EmptyPlaceholder.js b/src/components/common/EmptyPlaceholder.js
similarity index 100%
rename from components/common/EmptyPlaceholder.js
rename to src/components/common/EmptyPlaceholder.js
diff --git a/components/common/ErrorBoundary.js b/src/components/common/ErrorBoundary.js
similarity index 92%
rename from components/common/ErrorBoundary.js
rename to src/components/common/ErrorBoundary.js
index 5bb11a9e..32cedb39 100644
--- a/components/common/ErrorBoundary.js
+++ b/src/components/common/ErrorBoundary.js
@@ -1,7 +1,7 @@
/* eslint-disable no-console */
import { ErrorBoundary as Boundary } from 'react-error-boundary';
import { Button } from 'react-basics';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
import styles from './ErrorBoundry.module.css';
const logError = (error, info) => {
@@ -12,7 +12,6 @@ export function ErrorBoundary({ children }) {
const { formatMessage, messages } = useMessages();
const fallbackRender = ({ error, resetErrorBoundary }) => {
- console.log({ error });
return (
{formatMessage(messages.error)}
diff --git a/components/common/ErrorBoundry.module.css b/src/components/common/ErrorBoundry.module.css
similarity index 100%
rename from components/common/ErrorBoundry.module.css
rename to src/components/common/ErrorBoundry.module.css
diff --git a/components/common/ErrorMessage.js b/src/components/common/ErrorMessage.js
similarity index 88%
rename from components/common/ErrorMessage.js
rename to src/components/common/ErrorMessage.js
index e2b22747..f8129c6b 100644
--- a/components/common/ErrorMessage.js
+++ b/src/components/common/ErrorMessage.js
@@ -1,6 +1,6 @@
import { Icon, Icons, Text } from 'react-basics';
import styles from './ErrorMessage.module.css';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
export function ErrorMessage() {
const { formatMessage, messages } = useMessages();
diff --git a/components/common/ErrorMessage.module.css b/src/components/common/ErrorMessage.module.css
similarity index 100%
rename from components/common/ErrorMessage.module.css
rename to src/components/common/ErrorMessage.module.css
diff --git a/components/common/Favicon.js b/src/components/common/Favicon.js
similarity index 100%
rename from components/common/Favicon.js
rename to src/components/common/Favicon.js
diff --git a/components/common/Favicon.module.css b/src/components/common/Favicon.module.css
similarity index 100%
rename from components/common/Favicon.module.css
rename to src/components/common/Favicon.module.css
diff --git a/components/common/FilterButtons.js b/src/components/common/FilterButtons.js
similarity index 100%
rename from components/common/FilterButtons.js
rename to src/components/common/FilterButtons.js
diff --git a/components/common/FilterLink.js b/src/components/common/FilterLink.js
similarity index 91%
rename from components/common/FilterLink.js
rename to src/components/common/FilterLink.js
index 30cdc025..2a95e011 100644
--- a/components/common/FilterLink.js
+++ b/src/components/common/FilterLink.js
@@ -2,8 +2,8 @@ import { Icon, Icons } from 'react-basics';
import classNames from 'classnames';
import Link from 'next/link';
import { safeDecodeURI } from 'next-basics';
-import usePageQuery from 'hooks/usePageQuery';
-import useMessages from 'hooks/useMessages';
+import usePageQuery from 'components/hooks/usePageQuery';
+import useMessages from 'components/hooks/useMessages';
import styles from './FilterLink.module.css';
export function FilterLink({ id, value, label, externalUrl, children, className }) {
diff --git a/components/common/FilterLink.module.css b/src/components/common/FilterLink.module.css
similarity index 100%
rename from components/common/FilterLink.module.css
rename to src/components/common/FilterLink.module.css
diff --git a/components/common/HamburgerButton.js b/src/components/common/HamburgerButton.js
similarity index 88%
rename from components/common/HamburgerButton.js
rename to src/components/common/HamburgerButton.js
index f4b12859..f97006ef 100644
--- a/components/common/HamburgerButton.js
+++ b/src/components/common/HamburgerButton.js
@@ -2,20 +2,18 @@ import { Button, Icon } from 'react-basics';
import { useState } from 'react';
import MobileMenu from './MobileMenu';
import Icons from 'components/icons';
-import useMessages from 'hooks/useMessages';
-import useConfig from 'hooks/useConfig';
+import useMessages from 'components/hooks/useMessages';
export function HamburgerButton() {
const { formatMessage, labels } = useMessages();
const [active, setActive] = useState(false);
- const { cloudMode } = useConfig();
+ const cloudMode = Boolean(process.env.cloudMode);
const menuItems = [
{
label: formatMessage(labels.dashboard),
url: '/dashboard',
},
- { label: formatMessage(labels.realtime), url: '/realtime' },
!cloudMode && {
label: formatMessage(labels.settings),
url: '/settings',
diff --git a/components/common/HamburgerButton.module.css b/src/components/common/HamburgerButton.module.css
similarity index 100%
rename from components/common/HamburgerButton.module.css
rename to src/components/common/HamburgerButton.module.css
diff --git a/components/common/HoverTooltip.js b/src/components/common/HoverTooltip.js
similarity index 71%
rename from components/common/HoverTooltip.js
rename to src/components/common/HoverTooltip.js
index 2a98ab84..614841df 100644
--- a/components/common/HoverTooltip.js
+++ b/src/components/common/HoverTooltip.js
@@ -2,7 +2,7 @@ import { useEffect, useState } from 'react';
import { Tooltip } from 'react-basics';
import styles from './HoverTooltip.module.css';
-export function HoverTooltip({ tooltip }) {
+export function HoverTooltip({ children }) {
const [position, setPosition] = useState({ x: -1000, y: -1000 });
useEffect(() => {
@@ -18,9 +18,9 @@ export function HoverTooltip({ tooltip }) {
}, []);
return (
-
-
-
+
+ {children}
+
);
}
diff --git a/src/components/common/HoverTooltip.module.css b/src/components/common/HoverTooltip.module.css
new file mode 100644
index 00000000..c4bb76ea
--- /dev/null
+++ b/src/components/common/HoverTooltip.module.css
@@ -0,0 +1,6 @@
+.tooltip {
+ position: fixed;
+ pointer-events: none;
+ z-index: var(--z-index-popup);
+ transform: translate(-50%, calc(-100% - 5px));
+}
diff --git a/src/components/common/LinkButton.js b/src/components/common/LinkButton.js
new file mode 100644
index 00000000..54c7fa63
--- /dev/null
+++ b/src/components/common/LinkButton.js
@@ -0,0 +1,14 @@
+import Link from 'next/link';
+import { Icon, Icons, Text } from 'react-basics';
+import styles from './LinkButton.module.css';
+
+export function LinkButton({ href, icon, children }) {
+ return (
+
+
{icon || }
+
{children}
+
+ );
+}
+
+export default LinkButton;
diff --git a/src/components/common/LinkButton.module.css b/src/components/common/LinkButton.module.css
new file mode 100644
index 00000000..ae8a3b62
--- /dev/null
+++ b/src/components/common/LinkButton.module.css
@@ -0,0 +1,28 @@
+.button {
+ display: flex;
+ align-items: center;
+ align-self: flex-start;
+ white-space: nowrap;
+ gap: var(--size200);
+ font-family: inherit;
+ color: var(--base900);
+ background: var(--base100);
+ border: 1px solid transparent;
+ border-radius: var(--border-radius);
+ min-height: var(--base-height);
+ padding: 0 var(--size600);
+ position: relative;
+ cursor: pointer;
+}
+
+.button:hover {
+ background: var(--base200);
+}
+
+.button:active {
+ background: var(--base300);
+}
+
+.button:visited {
+ color: var(--base900);
+}
diff --git a/components/common/MobileMenu.js b/src/components/common/MobileMenu.js
similarity index 90%
rename from components/common/MobileMenu.js
rename to src/components/common/MobileMenu.js
index 2228a3e9..de1e9ffa 100644
--- a/components/common/MobileMenu.js
+++ b/src/components/common/MobileMenu.js
@@ -1,3 +1,4 @@
+import { createPortal } from 'react-dom';
import classNames from 'classnames';
import { useRouter } from 'next/router';
import Link from 'next/link';
@@ -28,10 +29,11 @@ export function MobileMenu({ items = [], onClose }) {
);
- return (
+ return createPortal(
-
+ ,
+ document.body,
);
}
diff --git a/components/common/MobileMenu.module.css b/src/components/common/MobileMenu.module.css
similarity index 100%
rename from components/common/MobileMenu.module.css
rename to src/components/common/MobileMenu.module.css
diff --git a/src/components/common/Pager.js b/src/components/common/Pager.js
new file mode 100644
index 00000000..7a5e7ed5
--- /dev/null
+++ b/src/components/common/Pager.js
@@ -0,0 +1,45 @@
+import styles from './Pager.module.css';
+import { Button, Flexbox, Icon, Icons } from 'react-basics';
+import useMessages from 'components/hooks/useMessages';
+
+export function Pager({ page, pageSize, count, onPageChange }) {
+ const { formatMessage, labels } = useMessages();
+ const maxPage = Math.ceil(count / pageSize);
+ const lastPage = page === maxPage;
+ const firstPage = page === 1;
+
+ if (count === 0) {
+ return null;
+ }
+
+ const handlePageChange = value => {
+ const nextPage = page + value;
+ if (nextPage > 0 && nextPage <= maxPage) {
+ onPageChange(nextPage);
+ }
+ };
+
+ if (maxPage === 1) {
+ return null;
+ }
+
+ return (
+
+
+
+ {formatMessage(labels.pageOf, { current: page, total: maxPage })}
+
+
+
+ );
+}
+
+export default Pager;
diff --git a/src/components/common/Pager.module.css b/src/components/common/Pager.module.css
new file mode 100644
index 00000000..99eb70ce
--- /dev/null
+++ b/src/components/common/Pager.module.css
@@ -0,0 +1,7 @@
+.container {
+ margin-top: 20px;
+}
+
+.text {
+ margin: 0 16px;
+}
diff --git a/src/components/common/SettingsTable.js b/src/components/common/SettingsTable.js
new file mode 100644
index 00000000..2df3b391
--- /dev/null
+++ b/src/components/common/SettingsTable.js
@@ -0,0 +1,100 @@
+import Empty from 'components/common/Empty';
+import useMessages from 'components/hooks/useMessages';
+import { useState } from 'react';
+import {
+ SearchField,
+ Table,
+ TableBody,
+ TableCell,
+ TableColumn,
+ TableHeader,
+ TableRow,
+} from 'react-basics';
+import styles from './SettingsTable.module.css';
+import Pager from 'components/common/Pager';
+
+export function SettingsTable({
+ columns = [],
+ data,
+ children,
+ cellRender,
+ showSearch,
+ showPaging,
+ onFilterChange,
+ onPageChange,
+ onPageSizeChange,
+ filterValue,
+}) {
+ const { formatMessage, messages } = useMessages();
+ const [filter, setFilter] = useState(filterValue);
+ const { data: value, page, count, pageSize } = data;
+
+ const handleFilterChange = value => {
+ setFilter(value);
+ onFilterChange(value);
+ };
+
+ return (
+ <>
+ {showSearch && !!value.length && (
+
+ )}
+ {value.length === 0 && filterValue && (
+
+ )}
+ {value.length > 0 && (
+
+
+ {(column, index) => {
+ return (
+
+ {column.label}
+
+ );
+ }}
+
+
+ {(row, keys, rowIndex) => {
+ row.action = children(row, keys, rowIndex);
+
+ return (
+
+ {(data, key, colIndex) => {
+ return (
+
+
+ {cellRender ? cellRender(row, data, key, colIndex) : data[key]}
+
+ );
+ }}
+
+ );
+ }}
+
+ {showPaging && (
+
+ )}
+
+ )}
+ >
+ );
+}
+
+export default SettingsTable;
diff --git a/components/common/SettingsTable.module.css b/src/components/common/SettingsTable.module.css
similarity index 100%
rename from components/common/SettingsTable.module.css
rename to src/components/common/SettingsTable.module.css
diff --git a/components/common/UpdateNotice.js b/src/components/common/UpdateNotice.js
similarity index 71%
rename from components/common/UpdateNotice.js
rename to src/components/common/UpdateNotice.js
index 161a5a67..e3edc70c 100644
--- a/components/common/UpdateNotice.js
+++ b/src/components/common/UpdateNotice.js
@@ -1,15 +1,23 @@
-import { useState, useEffect, useCallback } from 'react';
+import { useEffect, useCallback, useState } from 'react';
import { Button, Row, Column } from 'react-basics';
import { setItem } from 'next-basics';
import useStore, { checkVersion } from 'store/version';
import { REPO_URL, VERSION_CHECK } from 'lib/constants';
import styles from './UpdateNotice.module.css';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
+import { useRouter } from 'next/router';
-export function UpdateNotice() {
+export function UpdateNotice({ user, config }) {
const { formatMessage, labels, messages } = useMessages();
const { latest, checked, hasUpdate, releaseUrl } = useStore();
- const [dismissed, setDismissed] = useState(false);
+ const { pathname } = useRouter();
+ const [dismissed, setDismissed] = useState(checked);
+ const allowUpdate =
+ user?.isAdmin &&
+ !config?.updatesDisabled &&
+ !config?.cloudMode &&
+ !pathname.includes('/share/') &&
+ !dismissed;
const updateCheck = useCallback(() => {
setItem(VERSION_CHECK, { version: latest, time: Date.now() });
@@ -27,12 +35,12 @@ export function UpdateNotice() {
}
useEffect(() => {
- if (!checked) {
+ if (allowUpdate) {
checkVersion();
}
- }, [checked]);
+ }, [allowUpdate]);
- if (!hasUpdate || dismissed) {
+ if (!allowUpdate || !hasUpdate) {
return null;
}
diff --git a/components/common/UpdateNotice.module.css b/src/components/common/UpdateNotice.module.css
similarity index 86%
rename from components/common/UpdateNotice.module.css
rename to src/components/common/UpdateNotice.module.css
index f5e29445..db7a0abd 100644
--- a/components/common/UpdateNotice.module.css
+++ b/src/components/common/UpdateNotice.module.css
@@ -4,7 +4,7 @@
gap: 20px;
margin: 20px auto;
justify-self: center;
- background: #fff;
+ background: var(--base50);
padding: 20px;
border: 1px solid var(--base300);
border-radius: var(--border-radius);
@@ -15,7 +15,8 @@
display: flex;
justify-content: center;
align-items: center;
- font-weight: 600;
+ color: var(--font-color100);
+ font-weight: 700;
}
.buttons {
diff --git a/components/common/WorldMap.js b/src/components/common/WorldMap.js
similarity index 70%
rename from components/common/WorldMap.js
rename to src/components/common/WorldMap.js
index 55a13f0b..b593099b 100644
--- a/components/common/WorldMap.js
+++ b/src/components/common/WorldMap.js
@@ -4,27 +4,18 @@ import { ComposableMap, Geographies, Geography, ZoomableGroup } from 'react-simp
import classNames from 'classnames';
import { colord } from 'colord';
import HoverTooltip from 'components/common/HoverTooltip';
-import { ISO_COUNTRIES, THEME_COLORS, MAP_FILE } from 'lib/constants';
-import useTheme from 'hooks/useTheme';
-import useCountryNames from 'hooks/useCountryNames';
-import useLocale from 'hooks/useLocale';
+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 { formatLongNumber } from 'lib/format';
import { percentFilter } from 'lib/filters';
import styles from './WorldMap.module.css';
export function WorldMap({ data, className }) {
const { basePath } = useRouter();
- const [tooltip, setTooltip] = useState();
- const [theme] = useTheme();
- const colors = useMemo(
- () => ({
- baseColor: THEME_COLORS[theme].primary,
- fillColor: THEME_COLORS[theme].gray100,
- strokeColor: THEME_COLORS[theme].primary,
- hoverColor: THEME_COLORS[theme].primary,
- }),
- [theme],
- );
+ const [tooltip, setTooltipPopup] = useState();
+ const { theme, colors } = useTheme();
const { locale } = useLocale();
const countryNames = useCountryNames(locale);
const metrics = useMemo(() => (data ? percentFilter(data) : []), [data]);
@@ -34,10 +25,10 @@ export function WorldMap({ data, className }) {
const country = metrics?.find(({ x }) => x === code);
if (!country) {
- return colors.fillColor;
+ return colors.map.fillColor;
}
- return colord(colors.baseColor)
+ return colord(colors.map.baseColor)
[theme === 'light' ? 'lighten' : 'darken'](0.4 * (1.0 - country.z / 100))
.toHex();
}
@@ -49,7 +40,7 @@ export function WorldMap({ data, className }) {
function handleHover(code) {
if (code === 'AQ') return;
const country = metrics?.find(({ x }) => x === code);
- setTooltip(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} visitors`);
+ setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} visitors`);
}
return (
@@ -70,15 +61,15 @@ export function WorldMap({ data, className }) {
key={geo.rsmKey}
geography={geo}
fill={getFillColor(code)}
- stroke={colors.strokeColor}
+ stroke={colors.map.strokeColor}
opacity={getOpacity(code)}
style={{
default: { outline: 'none' },
- hover: { outline: 'none', fill: colors.hoverColor },
+ hover: { outline: 'none', fill: colors.map.hoverColor },
pressed: { outline: 'none' },
}}
onMouseOver={() => handleHover(code)}
- onMouseOut={() => setTooltip(null)}
+ onMouseOut={() => setTooltipPopup(null)}
/>
);
});
@@ -86,7 +77,7 @@ export function WorldMap({ data, className }) {
- {tooltip && }
+ {tooltip && {tooltip}}
);
}
diff --git a/components/common/WorldMap.module.css b/src/components/common/WorldMap.module.css
similarity index 100%
rename from components/common/WorldMap.module.css
rename to src/components/common/WorldMap.module.css
diff --git a/components/declarations.d.ts b/src/components/declarations.d.ts
similarity index 100%
rename from components/declarations.d.ts
rename to src/components/declarations.d.ts
diff --git a/src/components/hooks/index.js b/src/components/hooks/index.js
new file mode 100644
index 00000000..2596ba57
--- /dev/null
+++ b/src/components/hooks/index.js
@@ -0,0 +1,23 @@
+export * from './useApi';
+export * from './useConfig';
+export * from './useCountryNames';
+export * from './useDateRange';
+export * from './useDocumentClick';
+export * from './useEscapeKey';
+export * from './useFilters';
+export * from './useForceUpdate';
+export * from './useFormat';
+export * from './useLanguageNames';
+export * from './useLocale';
+export * from './useMessages';
+export * from './usePageQuery';
+export * from './useReport';
+export * from './useReports';
+export * from './useRequireLogin';
+export * from './useShareToken';
+export * from './useSticky';
+export * from './useTheme';
+export * from './useTimezone';
+export * from './useUser';
+export * from './useWebsite';
+export * from './useWebsiteReports';
diff --git a/hooks/useApi.ts b/src/components/hooks/useApi.ts
similarity index 92%
rename from hooks/useApi.ts
rename to src/components/hooks/useApi.ts
index 9e1e7e20..f41547a9 100644
--- a/hooks/useApi.ts
+++ b/src/components/hooks/useApi.ts
@@ -7,7 +7,7 @@ import useStore from 'store/app';
const selector = state => state.shareToken;
-export default function useApi() {
+export function useApi() {
const { basePath } = useRouter();
const shareToken = useStore(selector);
@@ -18,3 +18,5 @@ export default function useApi() {
return { get, post, put, del, ...reactQuery };
}
+
+export default useApi;
diff --git a/src/components/hooks/useApiFilter.ts b/src/components/hooks/useApiFilter.ts
new file mode 100644
index 00000000..d411fd43
--- /dev/null
+++ b/src/components/hooks/useApiFilter.ts
@@ -0,0 +1,28 @@
+import { useState } from 'react';
+
+export function useApiFilter() {
+ const [filter, setFilter] = useState();
+ const [filterType, setFilterType] = useState('All');
+ const [page, setPage] = useState(1);
+ const [pageSize, setPageSize] = useState(10);
+
+ const handleFilterChange = value => setFilter(value);
+ const handlePageChange = value => setPage(value);
+ const handlePageSizeChange = value => setPageSize(value);
+
+ return {
+ filter,
+ setFilter,
+ filterType,
+ setFilterType,
+ page,
+ setPage,
+ pageSize,
+ setPageSize,
+ handleFilterChange,
+ handlePageChange,
+ handlePageSizeChange,
+ };
+}
+
+export default useApiFilter;
diff --git a/hooks/useConfig.js b/src/components/hooks/useConfig.js
similarity index 57%
rename from hooks/useConfig.js
rename to src/components/hooks/useConfig.js
index b395829c..5a516abc 100644
--- a/hooks/useConfig.js
+++ b/src/components/hooks/useConfig.js
@@ -1,25 +1,28 @@
import { useEffect } from 'react';
import useStore, { setConfig } from 'store/app';
-import useApi from 'hooks/useApi';
+import useApi from 'components/hooks/useApi';
let loading = false;
-export default function useConfig() {
+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();
}
}, []);
- return config || {};
+ return config;
}
+
+export default useConfig;
diff --git a/hooks/useCountryNames.js b/src/components/hooks/useCountryNames.js
similarity index 76%
rename from hooks/useCountryNames.js
rename to src/components/hooks/useCountryNames.js
index 0834202b..51cabf34 100644
--- a/hooks/useCountryNames.js
+++ b/src/components/hooks/useCountryNames.js
@@ -1,18 +1,18 @@
import { useState, useEffect } from 'react';
import { useRouter } from 'next/router';
-import { get } from 'next-basics';
+import { httpGet } from 'next-basics';
import enUS from 'public/intl/country/en-US.json';
const countryNames = {
'en-US': enUS,
};
-export default function useCountryNames(locale) {
+export function useCountryNames(locale) {
const [list, setList] = useState(countryNames[locale] || enUS);
const { basePath } = useRouter();
async function loadData(locale) {
- const { data } = await get(`${basePath}/intl/country/${locale}.json`);
+ const { data } = await httpGet(`${basePath}/intl/country/${locale}.json`);
if (data) {
countryNames[locale] = data;
@@ -32,3 +32,5 @@ export default function useCountryNames(locale) {
return list;
}
+
+export default useCountryNames;
diff --git a/src/components/hooks/useDateRange.js b/src/components/hooks/useDateRange.js
new file mode 100644
index 00000000..1e1b0616
--- /dev/null
+++ b/src/components/hooks/useDateRange.js
@@ -0,0 +1,50 @@
+import { getMinimumUnit, parseDateRange } from 'lib/date';
+import { setItem } from 'next-basics';
+import { DATE_RANGE_CONFIG, DEFAULT_DATE_RANGE } from 'lib/constants';
+import useLocale from './useLocale';
+import websiteStore, { setWebsiteDateRange } from 'store/websites';
+import appStore, { setDateRange } from 'store/app';
+import useApi from './useApi';
+
+export function useDateRange(websiteId) {
+ const { get } = useApi();
+ const { locale } = useLocale();
+ const websiteConfig = websiteStore(state => state[websiteId]?.dateRange);
+ const defaultConfig = DEFAULT_DATE_RANGE;
+ const globalConfig = appStore(state => state.dateRange);
+ const dateRange = parseDateRange(websiteConfig || globalConfig || defaultConfig, locale);
+
+ const saveDateRange = async value => {
+ if (websiteId) {
+ let dateRange = value;
+
+ if (typeof value === 'string') {
+ if (value === 'all') {
+ const result = await get(`/websites/${websiteId}/daterange`);
+ const { mindate, maxdate } = result;
+
+ const startDate = new Date(mindate);
+ const endDate = new Date(maxdate);
+
+ dateRange = {
+ startDate,
+ endDate,
+ unit: getMinimumUnit(startDate, endDate),
+ value,
+ };
+ } else {
+ dateRange = parseDateRange(value, locale);
+ }
+ }
+
+ setWebsiteDateRange(websiteId, dateRange);
+ } else {
+ setItem(DATE_RANGE_CONFIG, value);
+ setDateRange(value);
+ }
+ };
+
+ return [dateRange, saveDateRange];
+}
+
+export default useDateRange;
diff --git a/hooks/useDocumentClick.js b/src/components/hooks/useDocumentClick.js
similarity index 73%
rename from hooks/useDocumentClick.js
rename to src/components/hooks/useDocumentClick.js
index e1baae7e..be3d09be 100644
--- a/hooks/useDocumentClick.js
+++ b/src/components/hooks/useDocumentClick.js
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
-export default function useDocumentClick(handler) {
+export function useDocumentClick(handler) {
useEffect(() => {
document.addEventListener('click', handler);
@@ -11,3 +11,5 @@ export default function useDocumentClick(handler) {
return null;
}
+
+export default useDocumentClick;
diff --git a/hooks/useEscapeKey.js b/src/components/hooks/useEscapeKey.js
similarity index 84%
rename from hooks/useEscapeKey.js
rename to src/components/hooks/useEscapeKey.js
index b8020c31..1a17f18f 100644
--- a/hooks/useEscapeKey.js
+++ b/src/components/hooks/useEscapeKey.js
@@ -1,6 +1,6 @@
import { useEffect, useCallback } from 'react';
-export default function useEscapeKey(handler) {
+export function useEscapeKey(handler) {
const escFunction = useCallback(event => {
if (event.keyCode === 27) {
handler(event);
@@ -17,3 +17,5 @@ export default function useEscapeKey(handler) {
return null;
}
+
+export default useEscapeKey;
diff --git a/src/components/hooks/useFilters.js b/src/components/hooks/useFilters.js
new file mode 100644
index 00000000..e1a9a885
--- /dev/null
+++ b/src/components/hooks/useFilters.js
@@ -0,0 +1,47 @@
+import { useMessages } from './useMessages';
+import { OPERATORS } from 'lib/constants';
+
+export function useFilters() {
+ const { formatMessage, labels } = useMessages();
+
+ const filterLabels = {
+ [OPERATORS.equals]: formatMessage(labels.is),
+ [OPERATORS.notEquals]: formatMessage(labels.isNot),
+ [OPERATORS.set]: formatMessage(labels.isSet),
+ [OPERATORS.notSet]: formatMessage(labels.isNotSet),
+ [OPERATORS.contains]: formatMessage(labels.contains),
+ [OPERATORS.doesNotContain]: formatMessage(labels.doesNotContain),
+ [OPERATORS.true]: formatMessage(labels.true),
+ [OPERATORS.false]: formatMessage(labels.false),
+ [OPERATORS.greaterThan]: formatMessage(labels.greaterThan),
+ [OPERATORS.lessThan]: formatMessage(labels.lessThan),
+ [OPERATORS.greaterThanEquals]: formatMessage(labels.greaterThanEquals),
+ [OPERATORS.lessThanEquals]: formatMessage(labels.lessThanEquals),
+ [OPERATORS.before]: formatMessage(labels.before),
+ [OPERATORS.after]: formatMessage(labels.after),
+ };
+
+ const typeFilters = {
+ string: [OPERATORS.equals, OPERATORS.notEquals],
+ array: [OPERATORS.contains, OPERATORS.doesNotContain],
+ boolean: [OPERATORS.true, OPERATORS.false],
+ number: [
+ OPERATORS.equals,
+ OPERATORS.notEquals,
+ OPERATORS.greaterThan,
+ OPERATORS.lessThan,
+ OPERATORS.greaterThanEquals,
+ OPERATORS.lessThanEquals,
+ ],
+ date: [OPERATORS.before, OPERATORS.after],
+ uuid: [OPERATORS.equals],
+ };
+
+ const getFilters = type => {
+ return typeFilters[type]?.map(key => ({ type, value: key, label: filterLabels[key] })) ?? [];
+ };
+
+ return { getFilters, filterLabels, typeFilters };
+}
+
+export default useFilters;
diff --git a/hooks/useForceUpdate.js b/src/components/hooks/useForceUpdate.js
similarity index 72%
rename from hooks/useForceUpdate.js
rename to src/components/hooks/useForceUpdate.js
index 2b8d6101..35f7fe16 100644
--- a/hooks/useForceUpdate.js
+++ b/src/components/hooks/useForceUpdate.js
@@ -1,9 +1,11 @@
import { useCallback, useState } from 'react';
-export default function useForceUpdate() {
+export function useForceUpdate() {
const [, update] = useState(Object.create(null));
return useCallback(() => {
update(Object.create(null));
}, [update]);
}
+
+export default useForceUpdate;
diff --git a/src/components/hooks/useFormat.js b/src/components/hooks/useFormat.js
new file mode 100644
index 00000000..3fd10ec8
--- /dev/null
+++ b/src/components/hooks/useFormat.js
@@ -0,0 +1,39 @@
+import useMessages from './useMessages';
+import { BROWSERS } from 'lib/constants';
+import useLocale from './useLocale';
+import useCountryNames from './useCountryNames';
+
+export function useFormat() {
+ const { formatMessage, labels } = useMessages();
+ const { locale } = useLocale();
+ const countryNames = useCountryNames(locale);
+
+ const formatBrowser = value => {
+ return BROWSERS[value] || value;
+ };
+
+ const formatCountry = value => {
+ return countryNames[value] || value;
+ };
+
+ const formatDevice = value => {
+ return formatMessage(labels[value] || labels.unknown);
+ };
+
+ const formatValue = (value, type) => {
+ switch (type) {
+ case 'browser':
+ return formatBrowser(value);
+ case 'country':
+ return formatCountry(value);
+ case 'device':
+ return formatDevice(value);
+ default:
+ return value;
+ }
+ };
+
+ return { formatBrowser, formatCountry, formatDevice, formatValue };
+}
+
+export default useFormat;
diff --git a/hooks/useLanguageNames.js b/src/components/hooks/useLanguageNames.js
similarity index 76%
rename from hooks/useLanguageNames.js
rename to src/components/hooks/useLanguageNames.js
index 3b153f28..ff59e93d 100644
--- a/hooks/useLanguageNames.js
+++ b/src/components/hooks/useLanguageNames.js
@@ -1,18 +1,18 @@
import { useState, useEffect } from 'react';
import { useRouter } from 'next/router';
-import { get } from 'next-basics';
+import { httpGet } from 'next-basics';
import enUS from 'public/intl/language/en-US.json';
const languageNames = {
'en-US': enUS,
};
-export default function useLanguageNames(locale) {
+export function useLanguageNames(locale) {
const [list, setList] = useState(languageNames[locale] || enUS);
const { basePath } = useRouter();
async function loadData(locale) {
- const data = await get(`${basePath}/intl/language/${locale}.json`);
+ const { data } = await httpGet(`${basePath}/intl/language/${locale}.json`);
if (data) {
languageNames[locale] = data;
@@ -32,3 +32,5 @@ export default function useLanguageNames(locale) {
return list;
}
+
+export default useLanguageNames;
diff --git a/hooks/useLocale.js b/src/components/hooks/useLocale.js
similarity index 80%
rename from hooks/useLocale.js
rename to src/components/hooks/useLocale.js
index 5cece347..1374af81 100644
--- a/hooks/useLocale.js
+++ b/src/components/hooks/useLocale.js
@@ -1,11 +1,11 @@
import { useEffect } from 'react';
import { useRouter } from 'next/router';
-import { get, setItem } from 'next-basics';
+import { httpGet, setItem } from 'next-basics';
import { LOCALE_CONFIG } from 'lib/constants';
import { getDateLocale, getTextDirection } from 'lib/lang';
import useStore, { setLocale } from 'store/app';
-import useForceUpdate from 'hooks/useForceUpdate';
-import enUS from 'public/intl/messages/en-US.json';
+import useForceUpdate from 'components/hooks/useForceUpdate';
+import enUS from 'public/intl/country/en-US.json';
const messages = {
'en-US': enUS,
@@ -13,7 +13,7 @@ const messages = {
const selector = state => state.locale;
-export default function useLocale() {
+export function useLocale() {
const locale = useStore(selector);
const { basePath } = useRouter();
const forceUpdate = useForceUpdate();
@@ -21,7 +21,7 @@ export default function useLocale() {
const dateLocale = getDateLocale(locale);
async function loadMessages(locale) {
- const { ok, data } = await get(`${basePath}/intl/messages/${locale}.json`);
+ const { ok, data } = await httpGet(`${basePath}/intl/messages/${locale}.json`);
if (ok) {
messages[locale] = data;
@@ -61,3 +61,5 @@ export default function useLocale() {
return { locale, saveLocale, messages, dir, dateLocale };
}
+
+export default useLocale;
diff --git a/hooks/useMessages.js b/src/components/hooks/useMessages.js
similarity index 55%
rename from hooks/useMessages.js
rename to src/components/hooks/useMessages.js
index 1bb65778..e3a6c20b 100644
--- a/hooks/useMessages.js
+++ b/src/components/hooks/useMessages.js
@@ -1,14 +1,20 @@
import { useIntl, FormattedMessage } from 'react-intl';
import { messages, labels } from 'components/messages';
-export default function useMessages() {
- const { formatMessage } = useIntl();
+export function useMessages() {
+ const intl = useIntl();
- function getMessage(id) {
+ const getMessage = id => {
const message = Object.values(messages).find(value => value.id === id);
return message ? formatMessage(message) : id;
- }
+ };
+
+ const formatMessage = (descriptor, values, opts) => {
+ return descriptor ? intl.formatMessage(descriptor, values, opts) : null;
+ };
return { formatMessage, FormattedMessage, messages, labels, getMessage };
}
+
+export default useMessages;
diff --git a/hooks/usePageQuery.js b/src/components/hooks/usePageQuery.js
similarity index 91%
rename from hooks/usePageQuery.js
rename to src/components/hooks/usePageQuery.js
index b2f0acf1..b275d580 100644
--- a/hooks/usePageQuery.js
+++ b/src/components/hooks/usePageQuery.js
@@ -2,7 +2,7 @@ import { useMemo } from 'react';
import { useRouter } from 'next/router';
import { buildUrl } from 'next-basics';
-export default function usePageQuery() {
+export function usePageQuery() {
const router = useRouter();
const { pathname, search } = location;
const { asPath } = router;
@@ -29,3 +29,5 @@ export default function usePageQuery() {
return { pathname, query, resolveUrl, router };
}
+
+export default usePageQuery;
diff --git a/src/components/hooks/useReport.js b/src/components/hooks/useReport.js
new file mode 100644
index 00000000..72f90af3
--- /dev/null
+++ b/src/components/hooks/useReport.js
@@ -0,0 +1,86 @@
+import { produce } from 'immer';
+import { useCallback, useEffect, useState } from 'react';
+import { useTimezone } from './useTimezone';
+import useApi from './useApi';
+
+const baseParameters = {
+ name: 'Untitled',
+ description: '',
+ parameters: {},
+};
+
+export function useReport(reportId, defaultParameters) {
+ const [report, setReport] = useState(null);
+ const [isRunning, setIsRunning] = useState(false);
+ const { get, post } = useApi();
+ const [timezone] = useTimezone();
+
+ const loadReport = async id => {
+ const data = await get(`/reports/${id}`);
+
+ const { dateRange } = data?.parameters || {};
+ const { startDate, endDate } = dateRange || {};
+
+ if (startDate && endDate) {
+ dateRange.startDate = new Date(startDate);
+ dateRange.endDate = new Date(endDate);
+ }
+
+ setReport(data);
+ };
+
+ const runReport = useCallback(
+ async parameters => {
+ setIsRunning(true);
+
+ const { type } = report;
+
+ const data = await post(`/reports/${type}`, { ...parameters, timezone });
+
+ setReport(
+ produce(state => {
+ state.parameters = parameters;
+ state.data = data;
+
+ return state;
+ }),
+ );
+
+ setIsRunning(false);
+ },
+ [report],
+ );
+
+ const updateReport = useCallback(
+ async data => {
+ setReport(
+ produce(state => {
+ const { parameters, ...rest } = data;
+
+ if (parameters) {
+ state.parameters = { ...state.parameters, ...parameters };
+ }
+
+ for (const key in rest) {
+ state[key] = rest[key];
+ }
+
+ return state;
+ }),
+ );
+ },
+ [report],
+ );
+
+ useEffect(() => {
+ if (!reportId) {
+ setReport({ ...baseParameters, ...defaultParameters });
+ } else {
+ loadReport(reportId);
+ }
+ }, []);
+
+ return { report, runReport, updateReport, isRunning };
+}
+
+export default useReport;
diff --git a/src/components/hooks/useReports.js b/src/components/hooks/useReports.js
new file mode 100644
index 00000000..d9292aeb
--- /dev/null
+++ b/src/components/hooks/useReports.js
@@ -0,0 +1,38 @@
+import { useState } from 'react';
+import useApi from './useApi';
+import useApiFilter from 'components/hooks/useApiFilter';
+
+export function useReports() {
+ const [modified, setModified] = useState(Date.now());
+ const { get, useQuery, del, useMutation } = useApi();
+ const { mutate } = useMutation(reportId => del(`/reports/${reportId}`));
+ const { filter, page, pageSize, handleFilterChange, handlePageChange, handlePageSizeChange } =
+ useApiFilter();
+ const { data, error, isLoading } = useQuery(
+ ['reports', { modified, filter, page, pageSize }],
+ () => get(`/reports`, { filter, page, pageSize }),
+ );
+
+ const deleteReport = id => {
+ mutate(id, {
+ onSuccess: () => {
+ setModified(Date.now());
+ },
+ });
+ };
+
+ return {
+ reports: data,
+ error,
+ isLoading,
+ deleteReport,
+ filter,
+ page,
+ pageSize,
+ handleFilterChange,
+ handlePageChange,
+ handlePageSizeChange,
+ };
+}
+
+export default useReports;
diff --git a/hooks/useRequireLogin.js b/src/components/hooks/useRequireLogin.ts
similarity index 53%
rename from hooks/useRequireLogin.js
rename to src/components/hooks/useRequireLogin.ts
index 24cfdf0b..950bb60a 100644
--- a/hooks/useRequireLogin.js
+++ b/src/components/hooks/useRequireLogin.ts
@@ -1,9 +1,9 @@
import { useEffect } from 'react';
import { useRouter } from 'next/router';
-import useApi from 'hooks/useApi';
-import useUser from 'hooks/useUser';
+import useApi from 'components/hooks/useApi';
+import useUser from 'components/hooks/useUser';
-export default function useRequireLogin() {
+export function useRequireLogin(handler: (data?: object) => void) {
const router = useRouter();
const { get } = useApi();
const { user, setUser } = useUser();
@@ -11,9 +11,9 @@ export default function useRequireLogin() {
useEffect(() => {
async function loadUser() {
try {
- const { user } = await get('/auth/verify');
+ const data = await get('/auth/verify');
- setUser(user);
+ setUser(typeof handler === 'function' ? handler(data) : (data as any)?.user);
} catch {
await router.push('/login');
}
@@ -26,3 +26,5 @@ export default function useRequireLogin() {
return { user };
}
+
+export default useRequireLogin;
diff --git a/hooks/useShareToken.js b/src/components/hooks/useShareToken.js
similarity index 86%
rename from hooks/useShareToken.js
rename to src/components/hooks/useShareToken.js
index bac7ec97..3d6b9698 100644
--- a/hooks/useShareToken.js
+++ b/src/components/hooks/useShareToken.js
@@ -4,7 +4,7 @@ import useApi from './useApi';
const selector = state => state.shareToken;
-export default function useShareToken(shareId) {
+export function useShareToken(shareId) {
const shareToken = useStore(selector);
const { get } = useApi();
@@ -24,3 +24,5 @@ export default function useShareToken(shareId) {
return shareToken;
}
+
+export default useShareToken;
diff --git a/hooks/useSticky.js b/src/components/hooks/useSticky.js
similarity index 86%
rename from hooks/useSticky.js
rename to src/components/hooks/useSticky.js
index ae4dce72..be33f6ed 100644
--- a/hooks/useSticky.js
+++ b/src/components/hooks/useSticky.js
@@ -1,6 +1,6 @@
import { useState, useEffect, useRef } from 'react';
-export default function useSticky({ enabled = true, threshold = 1 }) {
+export function useSticky({ enabled = true, threshold = 1 }) {
const [isSticky, setIsSticky] = useState(false);
const ref = useRef(null);
@@ -21,3 +21,5 @@ export default function useSticky({ enabled = true, threshold = 1 }) {
return { ref, isSticky };
}
+
+export default useSticky;
diff --git a/src/components/hooks/useTheme.js b/src/components/hooks/useTheme.js
new file mode 100644
index 00000000..7e40f601
--- /dev/null
+++ b/src/components/hooks/useTheme.js
@@ -0,0 +1,68 @@
+import { useEffect } from 'react';
+import useStore, { setTheme } from 'store/app';
+import { getItem, setItem } from 'next-basics';
+import { THEME_COLORS, THEME_CONFIG } from 'lib/constants';
+import { colord } from 'colord';
+
+const selector = state => state.theme;
+
+export function useTheme() {
+ const defaultTheme =
+ typeof window !== 'undefined'
+ ? window?.matchMedia('(prefers-color-scheme: dark)')?.matches
+ ? 'dark'
+ : 'light'
+ : 'light';
+ const theme = useStore(selector) || getItem(THEME_CONFIG) || defaultTheme;
+ const primaryColor = colord(THEME_COLORS[theme].primary);
+
+ const colors = {
+ theme: {
+ ...THEME_COLORS[theme],
+ },
+ chart: {
+ text: THEME_COLORS[theme].gray700,
+ line: THEME_COLORS[theme].gray200,
+ views: {
+ hoverBackgroundColor: primaryColor.alpha(0.7).toRgbString(),
+ backgroundColor: primaryColor.alpha(0.4).toRgbString(),
+ borderColor: primaryColor.alpha(0.7).toRgbString(),
+ hoverBorderColor: primaryColor.toRgbString(),
+ },
+ visitors: {
+ hoverBackgroundColor: primaryColor.alpha(0.9).toRgbString(),
+ backgroundColor: primaryColor.alpha(0.6).toRgbString(),
+ borderColor: primaryColor.alpha(0.9).toRgbString(),
+ hoverBorderColor: primaryColor.toRgbString(),
+ },
+ },
+ map: {
+ baseColor: THEME_COLORS[theme].primary,
+ fillColor: THEME_COLORS[theme].gray100,
+ strokeColor: THEME_COLORS[theme].primary,
+ hoverColor: THEME_COLORS[theme].primary,
+ },
+ };
+
+ function saveTheme(value) {
+ setItem(THEME_CONFIG, value);
+ setTheme(value);
+ }
+
+ useEffect(() => {
+ document.body.setAttribute('data-theme', theme);
+ }, [theme]);
+
+ useEffect(() => {
+ const url = new URL(window?.location?.href);
+ const theme = url.searchParams.get('theme');
+
+ if (['light', 'dark'].includes(theme)) {
+ saveTheme(theme);
+ }
+ }, []);
+
+ return { theme, saveTheme, colors };
+}
+
+export default useTheme;
diff --git a/hooks/useTimezone.js b/src/components/hooks/useTimezone.js
similarity index 88%
rename from hooks/useTimezone.js
rename to src/components/hooks/useTimezone.js
index 8eb5d5f8..fb347c4d 100644
--- a/hooks/useTimezone.js
+++ b/src/components/hooks/useTimezone.js
@@ -3,7 +3,7 @@ import { getTimezone } from 'lib/date';
import { getItem, setItem } from 'next-basics';
import { TIMEZONE_CONFIG } from 'lib/constants';
-export default function useTimezone() {
+export function useTimezone() {
const [timezone, setTimezone] = useState(getItem(TIMEZONE_CONFIG) || getTimezone());
const saveTimezone = useCallback(
@@ -16,3 +16,5 @@ export default function useTimezone() {
return [timezone, saveTimezone];
}
+
+export default useTimezone;
diff --git a/hooks/useUser.js b/src/components/hooks/useUser.ts
similarity index 74%
rename from hooks/useUser.js
rename to src/components/hooks/useUser.ts
index 6b73c113..c5f1a826 100644
--- a/hooks/useUser.js
+++ b/src/components/hooks/useUser.ts
@@ -2,8 +2,10 @@ import useStore, { setUser } from 'store/app';
const selector = state => state.user;
-export default function useUser() {
+export function useUser() {
const user = useStore(selector);
return { user, setUser };
}
+
+export default useUser;
diff --git a/src/components/hooks/useWebsite.js b/src/components/hooks/useWebsite.js
new file mode 100644
index 00000000..5315f0dc
--- /dev/null
+++ b/src/components/hooks/useWebsite.js
@@ -0,0 +1,10 @@
+import useApi from './useApi';
+
+export function useWebsite(websiteId) {
+ const { get, useQuery } = useApi();
+ return useQuery(['websites', websiteId], () => get(`/websites/${websiteId}`), {
+ enabled: !!websiteId,
+ });
+}
+
+export default useWebsite;
diff --git a/src/components/hooks/useWebsiteReports.js b/src/components/hooks/useWebsiteReports.js
new file mode 100644
index 00000000..c637bc76
--- /dev/null
+++ b/src/components/hooks/useWebsiteReports.js
@@ -0,0 +1,38 @@
+import { useState } from 'react';
+import useApi from './useApi';
+import useApiFilter from 'components/hooks/useApiFilter';
+
+export function useWebsiteReports(websiteId) {
+ const [modified, setModified] = useState(Date.now());
+ const { get, useQuery, del, useMutation } = useApi();
+ const { mutate } = useMutation(reportId => del(`/reports/${reportId}`));
+ const { filter, page, pageSize, handleFilterChange, handlePageChange, handlePageSizeChange } =
+ useApiFilter();
+ const { data, error, isLoading } = useQuery(
+ ['reports:website', { websiteId, modified, filter, page, pageSize }],
+ () => get(`/websites/${websiteId}/reports`, { websiteId, filter, page, pageSize }),
+ );
+
+ const deleteReport = id => {
+ mutate(id, {
+ onSuccess: () => {
+ setModified(Date.now());
+ },
+ });
+ };
+
+ return {
+ reports: data,
+ error,
+ isLoading,
+ deleteReport,
+ filter,
+ page,
+ pageSize,
+ handleFilterChange,
+ handlePageChange,
+ handlePageSizeChange,
+ };
+}
+
+export default useWebsiteReports;
diff --git a/components/icons.ts b/src/components/icons.ts
similarity index 71%
rename from components/icons.ts
rename to src/components/icons.ts
index f3040bbd..8eb1f8b0 100644
--- a/components/icons.ts
+++ b/src/components/icons.ts
@@ -1,5 +1,7 @@
import { Icons } from 'react-basics';
import AddUser from 'assets/add-user.svg';
+import Bars from 'assets/bars.svg';
+import BarChart from 'assets/bar-chart.svg';
import Bolt from 'assets/bolt.svg';
import Calendar from 'assets/calendar.svg';
import Clock from 'assets/clock.svg';
@@ -9,16 +11,22 @@ import Gear from 'assets/gear.svg';
import Globe from 'assets/globe.svg';
import Lock from 'assets/lock.svg';
import Logo from 'assets/logo.svg';
+import Magnet from 'assets/magnet.svg';
import Moon from 'assets/moon.svg';
+import Nodes from 'assets/nodes.svg';
+import Overview from 'assets/overview.svg';
import Profile from 'assets/profile.svg';
+import Reports from 'assets/reports.svg';
import Sun from 'assets/sun.svg';
import User from 'assets/user.svg';
import Users from 'assets/users.svg';
import Visitor from 'assets/visitor.svg';
-const icons = {
+const icons: any = {
...Icons,
AddUser,
+ Bars,
+ BarChart,
Bolt,
Calendar,
Clock,
@@ -28,8 +36,12 @@ const icons = {
Globe,
Lock,
Logo,
+ Magnet,
Moon,
+ Nodes,
+ Overview,
Profile,
+ Reports,
Sun,
User,
Users,
diff --git a/components/input/DateFilter.js b/src/components/input/DateFilter.js
similarity index 70%
rename from components/input/DateFilter.js
rename to src/components/input/DateFilter.js
index b6c1ee72..9fde27ca 100644
--- a/components/input/DateFilter.js
+++ b/src/components/input/DateFilter.js
@@ -2,32 +2,24 @@ import { useState } from 'react';
import { Icon, Modal, Dropdown, Item, Text, Flexbox } from 'react-basics';
import { endOfYear, isSameDay } from 'date-fns';
import DatePickerForm from 'components/metrics/DatePickerForm';
-import useLocale from 'hooks/useLocale';
-import { dateFormat, getDateRangeValues } from 'lib/date';
+import useLocale from 'components/hooks/useLocale';
+import { formatDate } from 'lib/date';
import Icons from 'components/icons';
-import useApi from 'hooks/useApi';
-import useDateRange from 'hooks/useDateRange';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
-export function DateFilter({ websiteId, value, className }) {
+export function DateFilter({
+ value,
+ startDate,
+ endDate,
+ className,
+ onChange,
+ selectedUnit,
+ showAllTime = false,
+ alignment = 'end',
+}) {
const { formatMessage, labels } = useMessages();
- const { get } = useApi();
- const [dateRange, setDateRange] = useDateRange(websiteId);
- const { startDate, endDate } = dateRange;
const [showPicker, setShowPicker] = useState(false);
- async function handleDateChange(value) {
- if (value === 'all' && websiteId) {
- const data = await get(`/websites/${websiteId}`);
-
- if (data) {
- setDateRange({ value, ...getDateRangeValues(new Date(data.createdAt), Date.now()) });
- }
- } else if (value !== 'all') {
- setDateRange(value);
- }
- }
-
const options = [
{ label: formatMessage(labels.today), value: '1day' },
{
@@ -61,7 +53,7 @@ export function DateFilter({ websiteId, value, className }) {
value: '90day',
},
{ label: formatMessage(labels.thisYear), value: '1year' },
- websiteId && {
+ showAllTime && {
label: formatMessage(labels.allTime),
value: 'all',
divider: true,
@@ -74,8 +66,13 @@ export function DateFilter({ websiteId, value, className }) {
].filter(n => n);
const renderValue = value => {
- return value === 'custom' ? (
- handleChange('custom')} />
+ return value.startsWith('range') ? (
+ handleChange('custom')}
+ />
) : (
options.find(e => e.value === value).label
);
@@ -86,12 +83,12 @@ export function DateFilter({ websiteId, value, className }) {
setShowPicker(true);
return;
}
- handleDateChange(value);
+ onChange(value);
};
const handlePickerChange = value => {
setShowPicker(false);
- handleDateChange(value);
+ onChange(value);
};
const handleClose = () => setShowPicker(false);
@@ -103,7 +100,8 @@ export function DateFilter({ websiteId, value, className }) {
items={options}
renderValue={renderValue}
value={value}
- alignment="end"
+ alignment={alignment}
+ placeholder={formatMessage(labels.selectDate)}
onChange={handleChange}
>
{({ label, value, divider }) => (
@@ -128,9 +126,11 @@ export function DateFilter({ websiteId, value, className }) {
);
}
-const CustomRange = ({ startDate, endDate, onClick }) => {
+const CustomRange = ({ startDate, endDate, selectedUnit, onClick }) => {
const { locale } = useLocale();
+ const monthFormat = +selectedUnit?.num === 1 && selectedUnit?.unit === 'month';
+
function handleClick(e) {
e.stopPropagation();
@@ -143,8 +143,14 @@ const CustomRange = ({ startDate, endDate, onClick }) => {
- {dateFormat(startDate, 'd LLL y', locale)}
- {!isSameDay(startDate, endDate) && ` — ${dateFormat(endDate, 'd LLL y', locale)}`}
+ {monthFormat ? (
+ <>{formatDate(startDate, 'MMMM yyyy', locale)}>
+ ) : (
+ <>
+ {formatDate(startDate, 'd LLL y', locale)}
+ {!isSameDay(startDate, endDate) && ` — ${formatDate(endDate, 'd LLL y', locale)}`}
+ >
+ )}
);
diff --git a/src/components/input/LanguageButton.js b/src/components/input/LanguageButton.js
new file mode 100644
index 00000000..3c0d0cd6
--- /dev/null
+++ b/src/components/input/LanguageButton.js
@@ -0,0 +1,53 @@
+import { Icon, Button, PopupTrigger, Popup, Text } from 'react-basics';
+import classNames from 'classnames';
+import { languages } from 'lib/lang';
+import useLocale from 'components/hooks/useLocale';
+import Icons from 'components/icons';
+import styles from './LanguageButton.module.css';
+
+export function LanguageButton() {
+ const { locale, saveLocale, dir } = useLocale();
+ const items = Object.keys(languages).map(key => ({ ...languages[key], value: key }));
+
+ function handleSelect(value, close, e) {
+ e.stopPropagation();
+ saveLocale(value);
+ close();
+ }
+
+ return (
+
+
+
+ {close => {
+ return (
+
+ {items.map(({ value, label }) => {
+ return (
+
+ {label}
+ {value === locale && (
+
+
+
+ )}
+
+ );
+ })}
+
+ );
+ }}
+
+
+ );
+}
+
+export default LanguageButton;
diff --git a/components/input/LanguageButton.module.css b/src/components/input/LanguageButton.module.css
similarity index 93%
rename from components/input/LanguageButton.module.css
rename to src/components/input/LanguageButton.module.css
index 16d61978..3d4c0c56 100644
--- a/components/input/LanguageButton.module.css
+++ b/src/components/input/LanguageButton.module.css
@@ -1,8 +1,7 @@
.menu {
display: flex;
flex-flow: row wrap;
- min-width: 600px;
- max-width: 100vw;
+ min-width: 640px;
padding: 10px;
background: var(--base50);
z-index: var(--z-index-popup);
diff --git a/components/input/LogoutButton.js b/src/components/input/LogoutButton.js
similarity index 54%
rename from components/input/LogoutButton.js
rename to src/components/input/LogoutButton.js
index 3314956e..2b04a78a 100644
--- a/components/input/LogoutButton.js
+++ b/src/components/input/LogoutButton.js
@@ -1,18 +1,18 @@
-import { Button, Icon, Icons, Tooltip } from 'react-basics';
+import { Button, Icon, Icons, TooltipPopup } from 'react-basics';
import Link from 'next/link';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
export function LogoutButton({ tooltipPosition = 'top' }) {
const { formatMessage, labels } = useMessages();
return (
-
-
+
+
-
+
);
}
diff --git a/src/components/input/MonthSelect.js b/src/components/input/MonthSelect.js
new file mode 100644
index 00000000..fb1bf535
--- /dev/null
+++ b/src/components/input/MonthSelect.js
@@ -0,0 +1,71 @@
+import { useRef } from 'react';
+import {
+ Text,
+ Icon,
+ CalendarMonthSelect,
+ CalendarYearSelect,
+ Button,
+ PopupTrigger,
+ Popup,
+} from 'react-basics';
+import { startOfMonth, endOfMonth } from 'date-fns';
+import Icons from 'components/icons';
+import { useLocale } from 'components/hooks';
+import { formatDate } from 'lib/date';
+import { getDateLocale } from 'lib/lang';
+import styles from './MonthSelect.module.css';
+
+export function MonthSelect({ date = new Date(), onChange }) {
+ const { locale } = useLocale();
+ const month = formatDate(date, 'MMMM', locale);
+ const year = date.getFullYear();
+ const ref = useRef();
+
+ const handleChange = (close, date) => {
+ onChange(`range:${startOfMonth(date).getTime()}:${endOfMonth(date).getTime()}`);
+ close();
+ };
+
+ return (
+ <>
+
+
+
+
+ {close => (
+
+ )}
+
+
+
+
+
+ {close => (
+
+ )}
+
+
+
+ >
+ );
+}
+
+export default MonthSelect;
diff --git a/src/components/input/MonthSelect.module.css b/src/components/input/MonthSelect.module.css
new file mode 100644
index 00000000..3b13bcc1
--- /dev/null
+++ b/src/components/input/MonthSelect.module.css
@@ -0,0 +1,22 @@
+.container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 1px solid var(--base400);
+ border-radius: var(--border-radius);
+}
+
+.input {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ cursor: pointer;
+}
+
+.popup {
+ border: 1px solid var(--base400);
+ background: var(--base50);
+ border-radius: var(--border-radius);
+ padding: 20px;
+ margin-top: 5px;
+}
diff --git a/components/input/ProfileButton.js b/src/components/input/ProfileButton.js
similarity index 88%
rename from components/input/ProfileButton.js
rename to src/components/input/ProfileButton.js
index bbd84af5..015c0ad8 100644
--- a/components/input/ProfileButton.js
+++ b/src/components/input/ProfileButton.js
@@ -1,18 +1,17 @@
import { Icon, Button, PopupTrigger, Popup, Menu, Item, Text } from 'react-basics';
import { useRouter } from 'next/router';
import Icons from 'components/icons';
-import useMessages from 'hooks/useMessages';
-import useUser from 'hooks/useUser';
-import useConfig from 'hooks/useConfig';
+import useMessages from 'components/hooks/useMessages';
+import useUser from 'components/hooks/useUser';
import styles from './ProfileButton.module.css';
-import useLocale from 'hooks/useLocale';
+import useLocale from 'components/hooks/useLocale';
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') {
diff --git a/components/input/ProfileButton.module.css b/src/components/input/ProfileButton.module.css
similarity index 100%
rename from components/input/ProfileButton.module.css
rename to src/components/input/ProfileButton.module.css
diff --git a/src/components/input/RefreshButton.js b/src/components/input/RefreshButton.js
new file mode 100644
index 00000000..8b40cafa
--- /dev/null
+++ b/src/components/input/RefreshButton.js
@@ -0,0 +1,28 @@
+import { LoadingButton, Icon, TooltipPopup } from 'react-basics';
+import { setWebsiteDateRange } from 'store/websites';
+import useDateRange from 'components/hooks/useDateRange';
+import Icons from 'components/icons';
+import useMessages from 'components/hooks/useMessages';
+
+export function RefreshButton({ websiteId, isLoading }) {
+ const { formatMessage, labels } = useMessages();
+ const [dateRange] = useDateRange(websiteId);
+
+ function handleClick() {
+ if (!isLoading && dateRange) {
+ setWebsiteDateRange(websiteId, dateRange);
+ }
+ }
+
+ return (
+
+
+
+
+
+
+
+ );
+}
+
+export default RefreshButton;
diff --git a/components/input/SettingsButton.js b/src/components/input/SettingsButton.js
similarity index 94%
rename from components/input/SettingsButton.js
rename to src/components/input/SettingsButton.js
index 6f2012d4..a6d72a2b 100644
--- a/components/input/SettingsButton.js
+++ b/src/components/input/SettingsButton.js
@@ -2,7 +2,7 @@ import { Button, Icon, PopupTrigger, Popup, Form, FormRow } from 'react-basics';
import TimezoneSetting from 'components/pages/settings/profile/TimezoneSetting';
import DateRangeSetting from 'components/pages/settings/profile/DateRangeSetting';
import Icons from 'components/icons';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
import styles from './SettingsButton.module.css';
export function SettingsButton() {
diff --git a/components/input/SettingsButton.module.css b/src/components/input/SettingsButton.module.css
similarity index 100%
rename from components/input/SettingsButton.module.css
rename to src/components/input/SettingsButton.module.css
diff --git a/components/input/ThemeButton.js b/src/components/input/ThemeButton.js
similarity index 87%
rename from components/input/ThemeButton.js
rename to src/components/input/ThemeButton.js
index b945ab7d..3a6a9d14 100644
--- a/components/input/ThemeButton.js
+++ b/src/components/input/ThemeButton.js
@@ -1,11 +1,11 @@
import { useTransition, animated } from 'react-spring';
import { Button, Icon } from 'react-basics';
-import useTheme from 'hooks/useTheme';
+import useTheme from 'components/hooks/useTheme';
import Icons from 'components/icons';
import styles from './ThemeButton.module.css';
export function ThemeButton() {
- const [theme, setTheme] = useTheme();
+ const { theme, saveTheme } = useTheme();
const transitions = useTransition(theme, {
initial: { opacity: 1 },
@@ -21,7 +21,7 @@ export function ThemeButton() {
});
function handleClick() {
- setTheme(theme === 'light' ? 'dark' : 'light');
+ saveTheme(theme === 'light' ? 'dark' : 'light');
}
return (
diff --git a/components/input/ThemeButton.module.css b/src/components/input/ThemeButton.module.css
similarity index 100%
rename from components/input/ThemeButton.module.css
rename to src/components/input/ThemeButton.module.css
diff --git a/src/components/input/WebsiteDateFilter.js b/src/components/input/WebsiteDateFilter.js
new file mode 100644
index 00000000..6903a708
--- /dev/null
+++ b/src/components/input/WebsiteDateFilter.js
@@ -0,0 +1,53 @@
+import useDateRange from 'components/hooks/useDateRange';
+import { isAfter } from 'date-fns';
+import { incrementDateRange } from 'lib/date';
+import { Button, Flexbox, Icon, Icons } from 'react-basics';
+import DateFilter from './DateFilter';
+import styles from './WebsiteDateFilter.module.css';
+
+export function WebsiteDateFilter({ websiteId }) {
+ const [dateRange, setDateRange] = useDateRange(websiteId);
+ const { value, startDate, endDate, selectedUnit } = dateRange;
+ const isFutureDate =
+ value !== 'all' &&
+ selectedUnit &&
+ isAfter(incrementDateRange(dateRange, -1).startDate, new Date());
+
+ const handleChange = value => {
+ setDateRange(value);
+ };
+
+ const handleIncrement = value => {
+ setDateRange(incrementDateRange(dateRange, value));
+ };
+
+ return (
+
+ {value !== 'all' && selectedUnit && (
+
+
+
+
+ )}
+
+
+ );
+}
+
+export default WebsiteDateFilter;
diff --git a/src/components/input/WebsiteDateFilter.module.css b/src/components/input/WebsiteDateFilter.module.css
new file mode 100644
index 00000000..986f5c17
--- /dev/null
+++ b/src/components/input/WebsiteDateFilter.module.css
@@ -0,0 +1,14 @@
+.dropdown {
+ min-width: 200px;
+}
+
+.buttons button:first-child {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.buttons button:last-child {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ border-left: 1px solid var(--base400) !important;
+}
diff --git a/components/input/WebsiteSelect.js b/src/components/input/WebsiteSelect.js
similarity index 76%
rename from components/input/WebsiteSelect.js
rename to src/components/input/WebsiteSelect.js
index a0ac38e4..1bdc4608 100644
--- a/components/input/WebsiteSelect.js
+++ b/src/components/input/WebsiteSelect.js
@@ -1,6 +1,6 @@
import { Dropdown, Item } from 'react-basics';
-import useApi from 'hooks/useApi';
-import useMessages from 'hooks/useMessages';
+import useApi from 'components/hooks/useApi';
+import useMessages from 'components/hooks/useMessages';
export function WebsiteSelect({ websiteId, onSelect }) {
const { formatMessage, labels } = useMessages();
@@ -8,18 +8,17 @@ export function WebsiteSelect({ websiteId, onSelect }) {
const { data } = useQuery(['websites:me'], () => get('/me/websites'));
const renderValue = value => {
- return data?.find(({ id }) => id === value)?.name;
+ return data?.data?.find(({ id }) => id === value)?.name;
};
return (
{({ id, name }) => - {name}
}
diff --git a/components/layout/AppLayout.js b/src/components/layout/AppLayout.js
similarity index 59%
rename from components/layout/AppLayout.js
rename to src/components/layout/AppLayout.js
index 45ba7e23..41e2ec0d 100644
--- a/components/layout/AppLayout.js
+++ b/src/components/layout/AppLayout.js
@@ -1,27 +1,21 @@
import { Container } from 'react-basics';
import Head from 'next/head';
-import { useRouter } from 'next/router';
import NavBar from 'components/layout/NavBar';
import UpdateNotice from 'components/common/UpdateNotice';
-import useRequireLogin from 'hooks/useRequireLogin';
-import useConfig from 'hooks/useConfig';
-import { CURRENT_VERSION } from 'lib/constants';
+import { useRequireLogin, useConfig } from 'components/hooks';
import styles from './AppLayout.module.css';
export function AppLayout({ title, children }) {
const { user } = useRequireLogin();
const config = useConfig();
- const { pathname } = useRouter();
- if (!user || !config) {
+ if (!user || !config || config?.uiDisabled) {
return null;
}
- const allowUpdate = user?.isAdmin && !config?.updatesDisabled && !pathname.includes('/share/');
-
return (
-
- {allowUpdate &&
}
+
+
{title ? `${title} | umami` : 'umami'}
diff --git a/components/layout/AppLayout.module.css b/src/components/layout/AppLayout.module.css
similarity index 79%
rename from components/layout/AppLayout.module.css
rename to src/components/layout/AppLayout.module.css
index 6cc9e414..bcce963f 100644
--- a/components/layout/AppLayout.module.css
+++ b/src/components/layout/AppLayout.module.css
@@ -2,14 +2,15 @@
display: grid;
grid-template-rows: max-content 1fr;
grid-template-columns: 1fr;
+ overflow: hidden;
}
.nav {
height: 60px;
width: 100vw;
- z-index: var(--z-index-overlay);
grid-column: 1;
grid-row: 1 / 2;
+ z-index: var(--z-index-popup);
}
.body {
@@ -18,4 +19,5 @@
min-height: 0;
height: calc(100vh - 60px);
overflow-y: auto;
+ padding-bottom: 60px;
}
diff --git a/src/components/layout/Footer.js b/src/components/layout/Footer.js
new file mode 100644
index 00000000..3a07c12a
--- /dev/null
+++ b/src/components/layout/Footer.js
@@ -0,0 +1,14 @@
+import { CURRENT_VERSION, HOMEPAGE_URL } from 'lib/constants';
+import styles from './Footer.module.css';
+
+export function Footer() {
+ return (
+
+ );
+}
+
+export default Footer;
diff --git a/src/components/layout/Footer.module.css b/src/components/layout/Footer.module.css
new file mode 100644
index 00000000..348c92d8
--- /dev/null
+++ b/src/components/layout/Footer.module.css
@@ -0,0 +1,12 @@
+.footer {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ font-size: var(--font-size-sm);
+ line-height: 30px;
+ margin: 40px 0;
+}
+
+.footer a {
+ color: var(--font-color100);
+}
diff --git a/components/layout/Grid.js b/src/components/layout/Grid.js
similarity index 100%
rename from components/layout/Grid.js
rename to src/components/layout/Grid.js
diff --git a/components/layout/Grid.module.css b/src/components/layout/Grid.module.css
similarity index 94%
rename from components/layout/Grid.module.css
rename to src/components/layout/Grid.module.css
index 655e4ea2..dc2e8ff6 100644
--- a/components/layout/Grid.module.css
+++ b/src/components/layout/Grid.module.css
@@ -29,6 +29,7 @@
.row > .col {
border-top: 1px solid var(--base300);
+ border-inline-start: 0;
border-inline-end: 0;
padding: 20px 0;
}
diff --git a/components/layout/Header.js b/src/components/layout/Header.js
similarity index 96%
rename from components/layout/Header.js
rename to src/components/layout/Header.js
index 77e3cec6..3997269f 100644
--- a/components/layout/Header.js
+++ b/src/components/layout/Header.js
@@ -9,7 +9,7 @@ import styles from './Header.module.css';
export function Header() {
return (
-
+
diff --git a/components/layout/Header.module.css b/src/components/layout/Header.module.css
similarity index 80%
rename from components/layout/Header.module.css
rename to src/components/layout/Header.module.css
index e796b6f0..26f30552 100644
--- a/components/layout/Header.module.css
+++ b/src/components/layout/Header.module.css
@@ -1,8 +1,13 @@
.header {
display: flex;
+ flex-direction: row;
align-items: center;
width: 100%;
- padding: 30px 30px 0 30px;
+ height: 100px;
+}
+
+.row {
+ align-items: center;
}
.title {
@@ -35,18 +40,8 @@
}
@media only screen and (max-width: 768px) {
- .header {
- padding: 0 30px;
- }
-
.buttons,
.links {
display: none;
}
-
- .title {
- flex: 1;
- padding: 0.5rem;
- margin-bottom: 0.5rem;
- }
}
diff --git a/components/layout/NavBar.js b/src/components/layout/NavBar.js
similarity index 84%
rename from components/layout/NavBar.js
rename to src/components/layout/NavBar.js
index 5a6c877e..07627e2a 100644
--- a/components/layout/NavBar.js
+++ b/src/components/layout/NavBar.js
@@ -1,25 +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 useMessages from 'components/hooks/useMessages';
+import HamburgerButton from 'components/common/HamburgerButton';
import styles from './NavBar.module.css';
-import useConfig from 'hooks/useConfig';
-import useMessages from 'hooks/useMessages';
-import { useRouter } from 'next/router';
-import HamburgerButton from '../common/HamburgerButton';
export function NavBar() {
const { pathname } = useRouter();
- const { cloudMode } = useConfig();
const { formatMessage, labels } = useMessages();
const links = [
{ label: formatMessage(labels.dashboard), url: '/dashboard' },
- { label: formatMessage(labels.realtime), url: '/realtime' },
- !cloudMode && { label: formatMessage(labels.settings), url: '/settings' },
+ { label: formatMessage(labels.websites), url: '/websites' },
+ { label: formatMessage(labels.reports), url: '/reports' },
+ { label: formatMessage(labels.settings), url: '/settings' },
].filter(n => n);
return (
diff --git a/components/layout/NavBar.module.css b/src/components/layout/NavBar.module.css
similarity index 98%
rename from components/layout/NavBar.module.css
rename to src/components/layout/NavBar.module.css
index 05dce2af..dd5085a0 100644
--- a/components/layout/NavBar.module.css
+++ b/src/components/layout/NavBar.module.css
@@ -27,7 +27,6 @@
gap: 10px;
font-size: 16px;
font-weight: 700;
- cursor: pointer;
min-width: 0;
}
diff --git a/components/layout/NavGroup.js b/src/components/layout/NavGroup.js
similarity index 89%
rename from components/layout/NavGroup.js
rename to src/components/layout/NavGroup.js
index b9e7155d..94f9d8e6 100644
--- a/components/layout/NavGroup.js
+++ b/src/components/layout/NavGroup.js
@@ -1,5 +1,5 @@
import { useState } from 'react';
-import { Icon, Text, Tooltip } from 'react-basics';
+import { Icon, Text, TooltipPopup } from 'react-basics';
import classNames from 'classnames';
import { useRouter } from 'next/router';
import Link from 'next/link';
@@ -36,7 +36,7 @@ export function NavGroup({
{items.map(({ label, url, icon, divider }) => {
return (
-
+
{icon}
{label}
-
+
);
})}
diff --git a/components/layout/NavGroup.module.css b/src/components/layout/NavGroup.module.css
similarity index 100%
rename from components/layout/NavGroup.module.css
rename to src/components/layout/NavGroup.module.css
diff --git a/components/layout/Page.js b/src/components/layout/Page.js
similarity index 90%
rename from components/layout/Page.js
rename to src/components/layout/Page.js
index 30abde50..4f42aa55 100644
--- a/components/layout/Page.js
+++ b/src/components/layout/Page.js
@@ -1,6 +1,6 @@
import classNames from 'classnames';
import { Banner, Loading } from 'react-basics';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
import styles from './Page.module.css';
export function Page({ className, error, loading, children }) {
diff --git a/components/layout/Page.module.css b/src/components/layout/Page.module.css
similarity index 53%
rename from components/layout/Page.module.css
rename to src/components/layout/Page.module.css
index 42aafbe1..c546971b 100644
--- a/components/layout/Page.module.css
+++ b/src/components/layout/Page.module.css
@@ -4,11 +4,4 @@
flex-direction: column;
background: var(--base50);
position: relative;
- padding: 30px;
-}
-
-@media only screen and (max-width: 768px) {
- .page {
- padding: 10px 0;
- }
}
diff --git a/src/components/layout/PageHeader.js b/src/components/layout/PageHeader.js
new file mode 100644
index 00000000..f1363140
--- /dev/null
+++ b/src/components/layout/PageHeader.js
@@ -0,0 +1,14 @@
+import classNames from 'classnames';
+import React from 'react';
+import styles from './PageHeader.module.css';
+
+export function PageHeader({ title, children, className }) {
+ return (
+
+ {title &&
{title}
}
+
{children}
+
+ );
+}
+
+export default PageHeader;
diff --git a/components/layout/PageHeader.module.css b/src/components/layout/PageHeader.module.css
similarity index 90%
rename from components/layout/PageHeader.module.css
rename to src/components/layout/PageHeader.module.css
index 5ea85b70..8e615b93 100644
--- a/components/layout/PageHeader.module.css
+++ b/src/components/layout/PageHeader.module.css
@@ -1,11 +1,12 @@
.header {
display: flex;
+ flex-direction: row;
justify-content: space-between;
align-items: center;
align-content: center;
align-self: stretch;
- margin-bottom: 40px;
flex-wrap: wrap;
+ height: 100px;
}
.header a {
@@ -23,6 +24,7 @@
font-weight: 700;
gap: 20px;
height: 60px;
+ flex: 1;
}
.actions {
@@ -35,10 +37,6 @@
margin-bottom: 10px;
}
- .title {
- font-size: 18px;
- }
-
.actions {
flex-basis: 100%;
order: -1;
diff --git a/src/components/layout/ReportsLayout.js b/src/components/layout/ReportsLayout.js
new file mode 100644
index 00000000..374da263
--- /dev/null
+++ b/src/components/layout/ReportsLayout.js
@@ -0,0 +1,23 @@
+import { Column, Row } from 'react-basics';
+import styles from './ReportsLayout.module.css';
+
+export function ReportsLayout({ children, filter, header }) {
+ return (
+ <>
+ {header}
+
+ {filter && (
+
+ Filters
+ {filter}
+
+ )}
+
+ {children}
+
+
+ >
+ );
+}
+
+export default ReportsLayout;
diff --git a/src/components/layout/ReportsLayout.module.css b/src/components/layout/ReportsLayout.module.css
new file mode 100644
index 00000000..6922665f
--- /dev/null
+++ b/src/components/layout/ReportsLayout.module.css
@@ -0,0 +1,23 @@
+.filter {
+ margin-top: 30px;
+ min-width: 200px;
+ max-width: 100vw;
+ padding: 10px;
+ background: var(--base50);
+ border-radius: 5px;
+ border: 1px solid var(--border-color);
+}
+
+.filter h2 {
+ padding-bottom: 20px;
+}
+
+.content {
+ min-height: 50vh;
+}
+
+@media only screen and (max-width: 768px) {
+ .menu {
+ display: none;
+ }
+}
diff --git a/components/layout/SettingsLayout.js b/src/components/layout/SettingsLayout.js
similarity index 88%
rename from components/layout/SettingsLayout.js
rename to src/components/layout/SettingsLayout.js
index c79f0909..0f4aa5d9 100644
--- a/components/layout/SettingsLayout.js
+++ b/src/components/layout/SettingsLayout.js
@@ -1,16 +1,15 @@
import { Row, Column } from 'react-basics';
import { useRouter } from 'next/router';
import SideNav from './SideNav';
-import useUser from 'hooks/useUser';
-import useMessages from 'hooks/useMessages';
-import useConfig from 'hooks/useConfig';
+import useUser from 'components/hooks/useUser';
+import useMessages from 'components/hooks/useMessages';
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' },
diff --git a/components/layout/SettingsLayout.module.css b/src/components/layout/SettingsLayout.module.css
similarity index 74%
rename from components/layout/SettingsLayout.module.css
rename to src/components/layout/SettingsLayout.module.css
index 569b903b..08ff02aa 100644
--- a/components/layout/SettingsLayout.module.css
+++ b/src/components/layout/SettingsLayout.module.css
@@ -2,6 +2,7 @@
display: flex;
flex-direction: column;
padding-top: 40px;
+ padding-right: 20px;
}
.content {
@@ -12,4 +13,8 @@
.menu {
display: none;
}
+
+ .content {
+ margin-top: 20px;
+ }
}
diff --git a/components/layout/ShareLayout.js b/src/components/layout/ShareLayout.js
similarity index 100%
rename from components/layout/ShareLayout.js
rename to src/components/layout/ShareLayout.js
diff --git a/components/layout/SideNav.js b/src/components/layout/SideNav.js
similarity index 77%
rename from components/layout/SideNav.js
rename to src/components/layout/SideNav.js
index e7e96b7d..ccb6f360 100644
--- a/components/layout/SideNav.js
+++ b/src/components/layout/SideNav.js
@@ -4,7 +4,13 @@ import { useRouter } from 'next/router';
import Link from 'next/link';
import styles from './SideNav.module.css';
-export function SideNav({ selectedKey, items, shallow, onSelect = () => {} }) {
+export function SideNav({
+ selectedKey,
+ items,
+ shallow = true,
+ scroll = false,
+ onSelect = () => {},
+}) {
const { asPath } = useRouter();
return (
{selected === FILTER_DAY && (
-
+
)}
{selected === FILTER_RANGE && (
<>
diff --git a/components/metrics/DatePickerForm.module.css b/src/components/metrics/DatePickerForm.module.css
similarity index 100%
rename from components/metrics/DatePickerForm.module.css
rename to src/components/metrics/DatePickerForm.module.css
diff --git a/components/metrics/DevicesTable.js b/src/components/metrics/DevicesTable.js
similarity index 51%
rename from components/metrics/DevicesTable.js
rename to src/components/metrics/DevicesTable.js
index 1bc3ac04..7b591552 100644
--- a/components/metrics/DevicesTable.js
+++ b/src/components/metrics/DevicesTable.js
@@ -1,17 +1,24 @@
import MetricsTable from './MetricsTable';
import FilterLink from 'components/common/FilterLink';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
+import { useRouter } from 'next/router';
+import { useFormat } from 'components/hooks';
export function DevicesTable({ websiteId, ...props }) {
const { formatMessage, labels } = useMessages();
+ const { basePath } = useRouter();
+ const { formatDevice } = useFormat();
function renderLink({ x: device }) {
return (
-
+
+
+
);
}
diff --git a/components/metrics/EventsChart.js b/src/components/metrics/EventsChart.js
similarity index 83%
rename from components/metrics/EventsChart.js
rename to src/components/metrics/EventsChart.js
index eb397cc9..f1964c15 100644
--- a/components/metrics/EventsChart.js
+++ b/src/components/metrics/EventsChart.js
@@ -2,16 +2,15 @@ import { useMemo } from 'react';
import { Loading } from 'react-basics';
import { colord } from 'colord';
import BarChart from './BarChart';
-import { getDateArray, getDateLength } from 'lib/date';
-import useApi from 'hooks/useApi';
-import useDateRange from 'hooks/useDateRange';
-import useTimezone from 'hooks/useTimezone';
-import usePageQuery from 'hooks/usePageQuery';
+import { getDateArray } from 'lib/date';
+import { useApi, useLocale, useDateRange, useTimezone, usePageQuery } from 'components/hooks';
import { EVENT_COLORS } from 'lib/constants';
+import { renderDateLabels, renderStatusTooltipPopup } from 'lib/charts';
export function EventsChart({ websiteId, className, token }) {
const { get, useQuery } = useApi();
const [{ startDate, endDate, unit, modified }] = useDateRange(websiteId);
+ const { locale } = useLocale();
const [timezone] = useTimezone();
const {
query: { url, eventName },
@@ -70,9 +69,10 @@ export function EventsChart({ websiteId, className, token }) {
datasets={datasets}
unit={unit}
height={300}
- records={getDateLength(startDate, endDate, unit)}
loading={isLoading}
stacked
+ renderXLabel={renderDateLabels(unit, locale)}
+ renderTooltipPopup={renderStatusTooltipPopup(unit, locale)}
/>
);
}
diff --git a/components/metrics/EventsChart.module.css b/src/components/metrics/EventsChart.module.css
similarity index 100%
rename from components/metrics/EventsChart.module.css
rename to src/components/metrics/EventsChart.module.css
diff --git a/components/metrics/EventsTable.js b/src/components/metrics/EventsTable.js
similarity index 89%
rename from components/metrics/EventsTable.js
rename to src/components/metrics/EventsTable.js
index eb23a281..a8ae82aa 100644
--- a/components/metrics/EventsTable.js
+++ b/src/components/metrics/EventsTable.js
@@ -1,5 +1,5 @@
import MetricsTable from './MetricsTable';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
export function EventsTable({ websiteId, ...props }) {
const { formatMessage, labels } = useMessages();
diff --git a/components/metrics/FilterTags.js b/src/components/metrics/FilterTags.js
similarity index 87%
rename from components/metrics/FilterTags.js
rename to src/components/metrics/FilterTags.js
index ad3ff60b..cb88a7db 100644
--- a/components/metrics/FilterTags.js
+++ b/src/components/metrics/FilterTags.js
@@ -1,8 +1,8 @@
import { safeDecodeURI } from 'next-basics';
import { Button, Icon, Icons, Text } from 'react-basics';
-import usePageQuery from 'hooks/usePageQuery';
+import usePageQuery from 'components/hooks/usePageQuery';
+import useMessages from 'components/hooks/useMessages';
import styles from './FilterTags.module.css';
-import useMessages from 'hooks/useMessages';
export function FilterTags({ params }) {
const { formatMessage, labels } = useMessages();
@@ -26,6 +26,7 @@ export function FilterTags({ params }) {
return (
+
{formatMessage(labels.filters)}
{Object.keys(params).map(key => {
if (!params[key]) {
return null;
diff --git a/components/metrics/FilterTags.module.css b/src/components/metrics/FilterTags.module.css
similarity index 63%
rename from components/metrics/FilterTags.module.css
rename to src/components/metrics/FilterTags.module.css
index 1c8458ac..c228dc4e 100644
--- a/components/metrics/FilterTags.module.css
+++ b/src/components/metrics/FilterTags.module.css
@@ -4,19 +4,23 @@
gap: 10px;
}
+.label {
+ font-weight: 700;
+}
+
.tag {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
font-size: var(--font-size-sm);
- border: 1px solid var(--base600);
+ border: 1px solid var(--blue400);
border-radius: var(--border-radius);
- line-height: 30px;
- padding: 0 8px;
+ padding: 8px 16px;
cursor: pointer;
+ background: var(--blue100);
}
.tag:hover {
- background: var(--base75);
+ background: var(--blue200);
}
diff --git a/components/metrics/LanguagesTable.js b/src/components/metrics/LanguagesTable.js
similarity index 81%
rename from components/metrics/LanguagesTable.js
rename to src/components/metrics/LanguagesTable.js
index e90a3425..7d220829 100644
--- a/components/metrics/LanguagesTable.js
+++ b/src/components/metrics/LanguagesTable.js
@@ -1,8 +1,8 @@
import MetricsTable from './MetricsTable';
import { percentFilter } from 'lib/filters';
-import useLanguageNames from 'hooks/useLanguageNames';
-import useLocale from 'hooks/useLocale';
-import useMessages from 'hooks/useMessages';
+import useLanguageNames from 'components/hooks/useLanguageNames';
+import useLocale from 'components/hooks/useLocale';
+import useMessages from 'components/hooks/useMessages';
export function LanguagesTable({ websiteId, onDataLoad, ...props }) {
const { formatMessage, labels } = useMessages();
diff --git a/components/metrics/Legend.js b/src/components/metrics/Legend.js
similarity index 89%
rename from components/metrics/Legend.js
rename to src/components/metrics/Legend.js
index 91135acb..ce8a3381 100644
--- a/components/metrics/Legend.js
+++ b/src/components/metrics/Legend.js
@@ -2,8 +2,8 @@ import { useEffect } from 'react';
import { StatusLight } from 'react-basics';
import { colord } from 'colord';
import classNames from 'classnames';
-import useLocale from 'hooks/useLocale';
-import useForceUpdate from 'hooks/useForceUpdate';
+import useLocale from 'components/hooks/useLocale';
+import useForceUpdate from 'components/hooks/useForceUpdate';
import styles from './Legend.module.css';
export function Legend({ chart }) {
@@ -22,7 +22,7 @@ export function Legend({ chart }) {
useEffect(() => {
forceUpdate();
- }, [locale]);
+ }, [locale, forceUpdate]);
if (!chart?.legend?.legendItems.find(({ text }) => text)) {
return null;
diff --git a/components/metrics/Legend.module.css b/src/components/metrics/Legend.module.css
similarity index 100%
rename from components/metrics/Legend.module.css
rename to src/components/metrics/Legend.module.css
diff --git a/components/metrics/DataTable.js b/src/components/metrics/ListTable.js
similarity index 91%
rename from components/metrics/DataTable.js
rename to src/components/metrics/ListTable.js
index 086f98ae..33ca59eb 100644
--- a/components/metrics/DataTable.js
+++ b/src/components/metrics/ListTable.js
@@ -3,12 +3,12 @@ import useMeasure from 'react-use-measure';
import { FixedSizeList } from 'react-window';
import { useSpring, animated, config } from 'react-spring';
import classNames from 'classnames';
-import NoData from 'components/common/NoData';
+import Empty from 'components/common/Empty';
import { formatNumber, formatLongNumber } from 'lib/format';
+import useMessages from 'components/hooks/useMessages';
import styles from './DataTable.module.css';
-import useMessages from '../../hooks/useMessages';
-export function DataTable({
+export function ListTable({
data = [],
title,
metric,
@@ -55,7 +55,7 @@ export function DataTable({
- {data?.length === 0 &&
}
+ {data?.length === 0 &&
}
{virtualize && data.length > 0 ? (
{Row}
@@ -94,7 +94,7 @@ const AnimatedRow = ({
`${n}%`) }} />
- {props.width.to(n => `${n.toFixed(0)}%`)}
+ {props.width.to(n => `${n?.toFixed?.(0)}%`)}
)}
@@ -102,4 +102,4 @@ const AnimatedRow = ({
);
};
-export default DataTable;
+export default ListTable;
diff --git a/components/metrics/MetricCard.js b/src/components/metrics/MetricCard.js
similarity index 100%
rename from components/metrics/MetricCard.js
rename to src/components/metrics/MetricCard.js
diff --git a/components/metrics/MetricCard.module.css b/src/components/metrics/MetricCard.module.css
similarity index 100%
rename from components/metrics/MetricCard.module.css
rename to src/components/metrics/MetricCard.module.css
diff --git a/src/components/metrics/MetricsBar.js b/src/components/metrics/MetricsBar.js
new file mode 100644
index 00000000..2b74e425
--- /dev/null
+++ b/src/components/metrics/MetricsBar.js
@@ -0,0 +1,29 @@
+import { useState } from 'react';
+import { Loading, cloneChildren } from 'react-basics';
+import ErrorMessage from 'components/common/ErrorMessage';
+import styles from './MetricsBar.module.css';
+import { formatLongNumber, formatNumber } from 'lib/format';
+
+export function MetricsBar({ children, isLoading, isFetched, error }) {
+ const [format, setFormat] = useState(true);
+
+ const formatFunc = format
+ ? n => (n >= 0 ? formatLongNumber(n) : `-${formatLongNumber(Math.abs(n))}`)
+ : formatNumber;
+
+ const handleSetFormat = () => {
+ setFormat(state => !state);
+ };
+
+ return (
+
+ {isLoading && !isFetched && }
+ {error && }
+ {cloneChildren(children, child => {
+ return { format: child.props.format || formatFunc };
+ })}
+
+ );
+}
+
+export default MetricsBar;
diff --git a/components/metrics/MetricsBar.module.css b/src/components/metrics/MetricsBar.module.css
similarity index 82%
rename from components/metrics/MetricsBar.module.css
rename to src/components/metrics/MetricsBar.module.css
index 0e305c70..eb33a324 100644
--- a/components/metrics/MetricsBar.module.css
+++ b/src/components/metrics/MetricsBar.module.css
@@ -1,7 +1,8 @@
.bar {
display: flex;
+ flex-direction: row;
cursor: pointer;
- min-height: 80px;
+ min-height: 110px;
gap: 20px;
flex-wrap: wrap;
}
diff --git a/components/metrics/MetricsTable.js b/src/components/metrics/MetricsTable.js
similarity index 65%
rename from components/metrics/MetricsTable.js
rename to src/components/metrics/MetricsTable.js
index 97deb39d..6521c415 100644
--- a/components/metrics/MetricsTable.js
+++ b/src/components/metrics/MetricsTable.js
@@ -3,17 +3,17 @@ import { Loading, Icon, Text, Button } from 'react-basics';
import Link from 'next/link';
import firstBy from 'thenby';
import classNames from 'classnames';
-import useApi from 'hooks/useApi';
+import useApi from 'components/hooks/useApi';
import { percentFilter } from 'lib/filters';
-import useDateRange from 'hooks/useDateRange';
-import usePageQuery from 'hooks/usePageQuery';
+import useDateRange from 'components/hooks/useDateRange';
+import usePageQuery from 'components/hooks/usePageQuery';
import ErrorMessage from 'components/common/ErrorMessage';
-import DataTable from './DataTable';
+import ListTable from './ListTable';
import { DEFAULT_ANIMATION_DURATION } from 'lib/constants';
import Icons from 'components/icons';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
import styles from './MetricsTable.module.css';
-import useLocale from 'hooks/useLocale';
+import useLocale from 'components/hooks/useLocale';
export function MetricsTable({
websiteId,
@@ -30,53 +30,78 @@ export function MetricsTable({
const {
resolveUrl,
router,
- query: { url, referrer, os, browser, device, country, region, city },
+ query: { url, referrer, title, os, browser, device, country, region, city },
} = usePageQuery();
const { formatMessage, labels } = useMessages();
const { get, useQuery } = useApi();
+ const { dir } = useLocale();
const { data, isLoading, isFetched, error } = useQuery(
[
'websites:metrics',
- { websiteId, type, modified, url, referrer, os, browser, device, country, region, city },
- ],
- () =>
- get(`/websites/${websiteId}/metrics`, {
+ {
+ websiteId,
type,
- startAt: +startDate,
- endAt: +endDate,
+ modified,
url,
referrer,
os,
+ title,
browser,
device,
country,
region,
city,
- }),
+ },
+ ],
+ () => {
+ const filters = { url, title, referrer, os, browser, device, country, region, city };
+
+ filters[type] = undefined;
+
+ return get(`/websites/${websiteId}/metrics`, {
+ type,
+ startAt: +startDate,
+ endAt: +endDate,
+ ...filters,
+ });
+ },
{ onSuccess: onDataLoad, retryDelay: delay || DEFAULT_ANIMATION_DURATION },
);
const filteredData = useMemo(() => {
if (data) {
- let items = percentFilter(dataFilter ? dataFilter(data, filterOptions) : data);
+ let items = data;
+
+ if (dataFilter) {
+ if (Array.isArray(dataFilter)) {
+ items = dataFilter.reduce((arr, filter) => {
+ return filter(arr);
+ }, items);
+ } else {
+ items = dataFilter(data);
+ }
+ }
+
+ items = percentFilter(items);
+
if (limit) {
items = items.filter((e, i) => i < limit);
}
if (filterOptions?.sort === false) {
return items;
}
+
return items.sort(firstBy('y', -1).thenBy('x'));
}
return [];
- }, [data, error, dataFilter, filterOptions]);
- const { dir } = useLocale();
+ }, [data, error, dataFilter, filterOptions, limit]);
return (
{!data && isLoading && !isFetched &&
}
{error &&
}
- {data && !error &&
}
+ {data && !error &&
}
{data && !error && limit && (
diff --git a/components/metrics/MetricsTable.module.css b/src/components/metrics/MetricsTable.module.css
similarity index 100%
rename from components/metrics/MetricsTable.module.css
rename to src/components/metrics/MetricsTable.module.css
diff --git a/components/metrics/OSTable.js b/src/components/metrics/OSTable.js
similarity index 53%
rename from components/metrics/OSTable.js
rename to src/components/metrics/OSTable.js
index a638038b..90135124 100644
--- a/components/metrics/OSTable.js
+++ b/src/components/metrics/OSTable.js
@@ -1,12 +1,25 @@
import MetricsTable from './MetricsTable';
import FilterLink from 'components/common/FilterLink';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
+import { useRouter } from 'next/router';
export function OSTable({ websiteId, ...props }) {
const { formatMessage, labels } = useMessages();
+ const { basePath } = useRouter();
function renderLink({ x: os }) {
- return
;
+ return (
+
+
+
+ );
}
return (
diff --git a/components/metrics/PagesTable.js b/src/components/metrics/PagesTable.js
similarity index 91%
rename from components/metrics/PagesTable.js
rename to src/components/metrics/PagesTable.js
index 47e70318..f310643e 100644
--- a/components/metrics/PagesTable.js
+++ b/src/components/metrics/PagesTable.js
@@ -1,8 +1,8 @@
import FilterLink from 'components/common/FilterLink';
import FilterButtons from 'components/common/FilterButtons';
import MetricsTable from './MetricsTable';
-import useMessages from 'hooks/useMessages';
-import usePageQuery from 'hooks/usePageQuery';
+import useMessages from 'components/hooks/useMessages';
+import usePageQuery from 'components/hooks/usePageQuery';
import { emptyFilter } from 'lib/filters';
export function PagesTable({ websiteId, showFilters, ...props }) {
diff --git a/src/components/metrics/PageviewsChart.js b/src/components/metrics/PageviewsChart.js
new file mode 100644
index 00000000..096278f3
--- /dev/null
+++ b/src/components/metrics/PageviewsChart.js
@@ -0,0 +1,43 @@
+import { useMemo } from 'react';
+import BarChart from './BarChart';
+import { useLocale, useTheme, useMessages } from 'components/hooks';
+import { renderDateLabels, renderStatusTooltipPopup } from 'lib/charts';
+
+export function PageviewsChart({ websiteId, data, unit, loading, ...props }) {
+ const { formatMessage, labels } = useMessages();
+ const { colors } = useTheme();
+ const { locale } = useLocale();
+
+ const datasets = useMemo(() => {
+ if (!data) return [];
+
+ return [
+ {
+ label: formatMessage(labels.uniqueVisitors),
+ data: data.sessions,
+ borderWidth: 1,
+ ...colors.chart.visitors,
+ },
+ {
+ label: formatMessage(labels.pageViews),
+ data: data.pageviews,
+ borderWidth: 1,
+ ...colors.chart.views,
+ },
+ ];
+ }, [data, colors, formatMessage, labels]);
+
+ return (
+
+ );
+}
+
+export default PageviewsChart;
diff --git a/components/metrics/QueryParametersTable.js b/src/components/metrics/QueryParametersTable.js
similarity index 93%
rename from components/metrics/QueryParametersTable.js
rename to src/components/metrics/QueryParametersTable.js
index c5f573e3..47266eb2 100644
--- a/components/metrics/QueryParametersTable.js
+++ b/src/components/metrics/QueryParametersTable.js
@@ -4,12 +4,12 @@ import FilterButtons from 'components/common/FilterButtons';
import { emptyFilter, paramFilter } from 'lib/filters';
import { FILTER_RAW, FILTER_COMBINED } from 'lib/constants';
import MetricsTable from './MetricsTable';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
import styles from './QueryParametersTable.module.css';
const filters = {
[FILTER_RAW]: emptyFilter,
- [FILTER_COMBINED]: paramFilter,
+ [FILTER_COMBINED]: [emptyFilter, paramFilter],
};
export function QueryParametersTable({ websiteId, showFilters, ...props }) {
diff --git a/components/metrics/QueryParametersTable.module.css b/src/components/metrics/QueryParametersTable.module.css
similarity index 100%
rename from components/metrics/QueryParametersTable.module.css
rename to src/components/metrics/QueryParametersTable.module.css
diff --git a/components/metrics/RealtimeChart.js b/src/components/metrics/RealtimeChart.js
similarity index 98%
rename from components/metrics/RealtimeChart.js
rename to src/components/metrics/RealtimeChart.js
index 07d73a7f..43b175a3 100644
--- a/components/metrics/RealtimeChart.js
+++ b/src/components/metrics/RealtimeChart.js
@@ -46,7 +46,7 @@ export function RealtimeChart({ data, unit, ...props }) {
return 0;
}
return DEFAULT_ANIMATION_DURATION;
- }, [data, endDate]);
+ }, [endDate]);
return (
{
- 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 (
-
-
+
+
);
};
diff --git a/components/metrics/ScreenTable.js b/src/components/metrics/ScreenTable.js
similarity index 87%
rename from components/metrics/ScreenTable.js
rename to src/components/metrics/ScreenTable.js
index f8ef5f2e..8ed5c05a 100644
--- a/components/metrics/ScreenTable.js
+++ b/src/components/metrics/ScreenTable.js
@@ -1,5 +1,5 @@
import MetricsTable from './MetricsTable';
-import useMessages from 'hooks/useMessages';
+import useMessages from 'components/hooks/useMessages';
export function ScreenTable({ websiteId, ...props }) {
const { formatMessage, labels } = useMessages();
diff --git a/components/pages/console/TestConsole.js b/src/components/pages/console/TestConsole.js
similarity index 76%
rename from components/pages/console/TestConsole.js
rename to src/components/pages/console/TestConsole.js
index 745bf94c..71eb27b4 100644
--- a/components/pages/console/TestConsole.js
+++ b/src/components/pages/console/TestConsole.js
@@ -2,8 +2,8 @@ import WebsiteSelect from 'components/input/WebsiteSelect';
import Page from 'components/layout/Page';
import PageHeader from 'components/layout/PageHeader';
import EventsChart from 'components/metrics/EventsChart';
-import WebsiteChart from 'components/metrics/WebsiteChart';
-import useApi from 'hooks/useApi';
+import WebsiteChart from 'components/pages/websites/WebsiteChart';
+import useApi from 'components/hooks/useApi';
import Head from 'next/head';
import Link from 'next/link';
import { useRouter } from 'next/router';
@@ -28,20 +28,42 @@ export function TestConsole() {
window.umami.track({ url: '/page-view', referrer: 'https://www.google.com' });
window.umami.track('track-event-no-data');
window.umami.track('track-event-with-data', {
- data: {
+ test: 'test-data',
+ boolean: true,
+ booleanError: 'true',
+ time: new Date(),
+ number: 1,
+ number2: Math.random() * 100,
+ time2: new Date().toISOString(),
+ nested: {
test: 'test-data',
- time: new Date(),
number: 1,
- time2: new Date().toISOString(),
- nested: {
+ object: {
test: 'test-data',
- number: 1,
- object: {
- test: 'test-data',
- },
},
- array: [1, 2, 3],
},
+ array: [1, 2, 3],
+ });
+ }
+
+ function handleIdentifyClick() {
+ window.umami.identify({
+ userId: 123,
+ name: 'brian',
+ number: Math.random() * 100,
+ test: 'test-data',
+ boolean: true,
+ booleanError: 'true',
+ time: new Date(),
+ time2: new Date().toISOString(),
+ nested: {
+ test: 'test-data',
+ number: 1,
+ object: {
+ test: 'test-data',
+ },
+ },
+ array: [1, 2, 3],
});
}
@@ -50,7 +72,7 @@ export function TestConsole() {
}
const [websiteId] = id || [];
- const website = data.find(({ id }) => websiteId === id);
+ const website = data?.data.find(({ id }) => websiteId === id);
return (
@@ -114,16 +136,15 @@ export function TestConsole() {
+
+
-
+
diff --git a/components/pages/console/TestConsole.module.css b/src/components/pages/console/TestConsole.module.css
similarity index 100%
rename from components/pages/console/TestConsole.module.css
rename to src/components/pages/console/TestConsole.module.css
diff --git a/components/pages/dashboard/Dashboard.js b/src/components/pages/dashboard/Dashboard.js
similarity index 80%
rename from components/pages/dashboard/Dashboard.js
rename to src/components/pages/dashboard/Dashboard.js
index 07921dae..8248cc81 100644
--- a/components/pages/dashboard/Dashboard.js
+++ b/src/components/pages/dashboard/Dashboard.js
@@ -7,19 +7,22 @@ import WebsiteChartList from 'components/pages/websites/WebsiteChartList';
import DashboardSettingsButton from 'components/pages/dashboard/DashboardSettingsButton';
import DashboardEdit from 'components/pages/dashboard/DashboardEdit';
import EmptyPlaceholder from 'components/common/EmptyPlaceholder';
-import useApi from 'hooks/useApi';
+import useApi from 'components/hooks/useApi';
import useDashboard from 'store/dashboard';
-import useMessages from 'hooks/useMessages';
-import useLocale from 'hooks/useLocale';
+import useMessages from 'components/hooks/useMessages';
+import useLocale from 'components/hooks/useLocale';
-export function Dashboard({ userId }) {
+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', { userId }));
- const hasData = data && data.length !== 0;
+ const { data, isLoading, error } = useQuery(['websites'], () =>
+ get('/websites', { includeTeams: 1 }),
+ );
+ const hasData = data && data?.data.length !== 0;
+
const { dir } = useLocale();
function handleMore() {
@@ -45,8 +48,10 @@ export function Dashboard({ userId }) {
)}
{hasData && (
<>
- {editing && }
- {!editing && }
+ {editing && }
+ {!editing && (
+
+ )}
{max < data.length && (