Merge branch 'master' into dev

This commit is contained in:
Mike Cao 2020-09-12 04:37:02 -07:00
commit 372f709f95
17 changed files with 641 additions and 1455 deletions

1
.gitignore vendored
View File

@ -17,6 +17,7 @@
/build /build
/public/umami.js /public/umami.js
/lang-compiled /lang-compiled
/lang-formatted
# misc # misc
.DS_Store .DS_Store

View File

@ -60,7 +60,7 @@ export default function WebsiteDetails({ websiteId }) {
component: BrowsersTable, component: BrowsersTable,
}, },
{ {
label: <FormattedMessage id="metrics.operating-system" defaultMessage="Operating system" />, label: <FormattedMessage id="metrics.operating-systems" defaultMessage="Operating system" />,
value: 'os', value: 'os',
component: OSTable, component: OSTable,
}, },

View File

@ -6,7 +6,7 @@ import { FormattedMessage } from 'react-intl';
export default function OSTable({ websiteId, limit, onExpand }) { export default function OSTable({ websiteId, limit, onExpand }) {
return ( return (
<MetricsTable <MetricsTable
title={<FormattedMessage id="metrics.operating-system" defaultMessage="Operating system" />} title={<FormattedMessage id="metrics.operating-systems" defaultMessage="Operating system" />}
type="os" type="os"
metric={<FormattedMessage id="metrics.visitors" defaultMessage="Visitors" />} metric={<FormattedMessage id="metrics.visitors" defaultMessage="Visitors" />}
websiteId={websiteId} websiteId={websiteId}

View File

@ -38,7 +38,9 @@ export default function ProfileSettings() {
<dd>{user.username}</dd> <dd>{user.username}</dd>
</dl> </dl>
{changePassword && ( {changePassword && (
<Modal title="Change password"> <Modal
title={<FormattedMessage id="title.change-password" defaultMessage="Change password" />}
>
<ChangePasswordForm <ChangePasswordForm
values={{ user_id }} values={{ user_id }}
onSave={handleSave} onSave={handleSave}

View File

@ -1,242 +1,82 @@
{ {
"active-users.message": { "active-users.message": "{x} {x, plural, one {aktiver Besucher} other {aktive Besucher}}",
"defaultMessage": "{x} {x, plural, one {aktiver Besucher} other {aktive Besucher}}" "button.add-account": "Konto hinzufügen",
}, "button.add-website": "Webseite hinzufügen",
"button.add-account": { "button.back": "Zurück",
"defaultMessage": "Konto hinzufügen" "button.cancel": "Abbrechen",
}, "button.change-password": "Passwort ändern",
"button.add-website": { "button.copy-to-clipboard": "In die Zwischenablage kopieren",
"defaultMessage": "Webseite hinzufügen" "button.delete": "Löschen",
}, "button.edit": "Bearbeiten",
"button.back": { "button.login": "Anmelden",
"defaultMessage": "Zurück" "button.more": "Mehr",
}, "button.save": "Speichern",
"button.cancel": { "button.view-details": "Details anzeigen",
"defaultMessage": "Abbrechen" "footer.powered-by": "Powered by",
}, "header.nav.dashboard": "Übersicht",
"button.change-password": { "header.nav.settings": "Einstellungen",
"defaultMessage": "Passwort ändern" "label.administrator": "Administrator",
}, "label.confirm-password": "Passwort wiederholen",
"button.copy-to-clipboard": { "label.current-password": "Derzeitiges Passwort",
"defaultMessage": "In die Zwischenablage kopieren" "label.domain": "Domain",
}, "label.enable-share-url": "Freigabe-URL aktivieren",
"button.delete": { "label.invalid": "Ungültig",
"defaultMessage": "Löschen" "label.invalid-domain": "Ungültige Domain",
}, "label.last-days": "Letzten {x} Tage",
"button.edit": { "label.last-hours": "Letzten {x} Stunden",
"defaultMessage": "Bearbeiten" "label.logged-in-as": "Angemeldet als {username}",
}, "label.logout": "Abmelden",
"button.login": { "label.name": "Name",
"defaultMessage": "Anmelden" "label.new-password": "Neues Passwort",
}, "label.password": "Passwort",
"button.more": { "label.passwords-dont-match": "Passwörter stimmen nicht überein",
"defaultMessage": "Mehr" "label.required": "Erforderlich",
}, "label.this-month": "Diesen Monat",
"button.save": { "label.this-week": "Diese Woche",
"defaultMessage": "Speichern" "label.this-year": "Dieses Jahr",
}, "label.today": "Heute",
"button.view-details": { "label.username": "Benutzername",
"defaultMessage": "Details anzeigen" "message.confirm-delete": "Sind sie sich sicher {target} zu löschen?",
}, "message.copied": "In Zwischenablage kopiert!",
"button.websites": { "message.delete-warning": "Alle zugehörigen Daten werden auch gelöscht.",
"defaultMessage": "Webseiten" "message.failure": "Es it ein Fehler aufgetreten.",
}, "message.incorrect-username-password": "Falsches Passwort oder Benutzername.",
"footer.powered-by": { "message.no-data-available": "Keine Daten vorhanden.",
"defaultMessage": "Powered by" "message.save-success": "Erfolgreich gespeichert.",
}, "message.share-url": "Dies ist der öffentliche URL zum Teilen für {target}.",
"header.nav.dashboard": { "message.track-stats": "Um die Statistiken für {target} zu übermitteln, platzieren Sie bitte den folgenden Quelltext im {head} ihrer Homepage.",
"defaultMessage": "Übersicht" "message.type-delete": "Geben Sie {delete} in das Feld unten ein um zu bestätigen.",
}, "metrics.actions": "Aktionen",
"header.nav.settings": { "metrics.average-visit-time": "Durchschn. Besuchszeit",
"defaultMessage": "Einstellungen" "metrics.bounce-rate": "Absprungrate",
}, "metrics.browsers": "Browsers",
"label.administrator": { "metrics.countries": "Länder",
"defaultMessage": "Administrator" "metrics.devices": "Geräte",
}, "metrics.events": "Events",
"label.confirm-password": { "metrics.filter.combined": "Kombiniert",
"defaultMessage": "Passwort wiederholen" "metrics.filter.domain-only": "Nur diese Domain",
}, "metrics.filter.raw": "Rohdaten",
"label.current-password": { "metrics.operating-systems": "Betriebssystem",
"defaultMessage": "Derzeitiges Passwort" "metrics.page-views": "Seitenaufrufe",
}, "metrics.pages": "Seiten",
"label.domain": { "metrics.referrers": "Referrers",
"defaultMessage": "Domain" "metrics.unique-visitors": "Eindeutige Besucher",
}, "metrics.views": "Aufrufe",
"label.enable-share-url": { "metrics.visitors": "Besucher",
"defaultMessage": "Freigabe-URL aktivieren" "placeholder.message.go-to-settings": "Zu den Einstellungen",
}, "placeholder.message.no-websites-configured": "Es ist keine Webseite vorhanden.",
"label.invalid": { "settings.accounts": "Konten",
"defaultMessage": "Ungültig" "settings.profile": "Profil",
}, "settings.websites": "Webseiten",
"label.invalid-domain": { "title.add-account": "Konto hinzugfügen",
"defaultMessage": "Ungültige Domain" "title.add-website": "Webseite hinzufügen",
}, "title.change-password": "Passwort ändern",
"label.last-days": { "title.delete-account": "Konto löschen",
"defaultMessage": "Letzten {x} Tage" "title.delete-website": "Webseite löschen",
}, "title.edit-account": "Konto bearbeiten",
"label.last-hours": { "title.edit-website": "Webseite bearbeiten",
"defaultMessage": "Letzten {x} Stunden" "title.share-url": "Freigabe-URL",
}, "title.tracking-code": "Tracking Kennung",
"label.logged-in-as": { "tooltip.get-share-url": "Freigabe-URL abrufen",
"defaultMessage": "Angemeldet als {username}" "tooltip.get-tracking-code": "Erstelle Tracking Kennung"
},
"label.logout": {
"defaultMessage": "Abmelden"
},
"label.name": {
"defaultMessage": "Name"
},
"label.new-password": {
"defaultMessage": "Neues Passwort"
},
"label.password": {
"defaultMessage": "Passwort"
},
"label.passwords-dont-match": {
"defaultMessage": "Passwörter stimmen nicht überein"
},
"label.required": {
"defaultMessage": "Erforderlich"
},
"label.this-month": {
"defaultMessage": "Diesen Monat"
},
"label.this-week": {
"defaultMessage": "Diese Woche"
},
"label.this-year": {
"defaultMessage": "Dieses Jahr"
},
"label.today": {
"defaultMessage": "Heute"
},
"label.username": {
"defaultMessage": "Benutzername"
},
"message.confirm-delete": {
"defaultMessage": "Sind sie sich sicher {target} zu löschen?"
},
"message.copied": {
"defaultMessage": "In Zwischenablage kopiert!"
},
"message.delete-warning": {
"defaultMessage": "Alle zugehörigen Daten werden auch gelöscht."
},
"message.failure": {
"defaultMessage": "Es it ein Fehler aufgetreten."
},
"message.incorrect-username-password": {
"defaultMessage": "Falsches Passwort oder Benutzername."
},
"message.no-data-available": {
"defaultMessage": "Keine Daten vorhanden."
},
"message.save-success": {
"defaultMessage": "Erfolgreich gespeichert."
},
"message.share-url": {
"defaultMessage": "Dies ist der öffentliche URL zum Teilen für {target}."
},
"message.track-stats": {
"defaultMessage": "Um die Statistiken für {target} zu übermitteln, platzieren Sie bitte den folgenden Quelltext im {head} ihrer Homepage."
},
"message.type-delete": {
"defaultMessage": "Geben Sie {delete} in das Feld unten ein um zu bestätigen."
},
"metrics.actions": {
"defaultMessage": "Aktionen"
},
"metrics.average-visit-time": {
"defaultMessage": "Durchschn. Besuchszeit"
},
"metrics.bounce-rate": {
"defaultMessage": "Absprungrate"
},
"metrics.browsers": {
"defaultMessage": "Browsers"
},
"metrics.countries": {
"defaultMessage": "Länder"
},
"metrics.devices": {
"defaultMessage": "Geräte"
},
"metrics.events": {
"defaultMessage": "Events"
},
"metrics.filter.combined": {
"defaultMessage": "Kombiniert"
},
"metrics.filter.domain-only": {
"defaultMessage": "Nur diese Domain"
},
"metrics.filter.raw": {
"defaultMessage": "Rohdaten"
},
"metrics.operating-system": {
"defaultMessage": "Betriebssystem"
},
"metrics.page-views": {
"defaultMessage": "Seitenaufrufe"
},
"metrics.pages": {
"defaultMessage": "Seiten"
},
"metrics.referrers": {
"defaultMessage": "Referrers"
},
"metrics.unique-visitors": {
"defaultMessage": "Eindeutige Besucher"
},
"metrics.views": {
"defaultMessage": "Aufrufe"
},
"metrics.visitors": {
"defaultMessage": "Besucher"
},
"placeholder.message.go-to-settings": {
"defaultMessage": "Zu den Einstellungen"
},
"placeholder.message.no-websites-configured": {
"defaultMessage": "Es ist keine Webseite vorhanden."
},
"settings.accounts": {
"defaultMessage": "Konten"
},
"settings.profile": {
"defaultMessage": "Profil"
},
"settings.websites": {
"defaultMessage": "Webseiten"
},
"title.add-account": {
"defaultMessage": "Konto hinzugfügen"
},
"title.add-website": {
"defaultMessage": "Webseite hinzufügen"
},
"title.delete-account": {
"defaultMessage": "Konto löschen"
},
"title.delete-website": {
"defaultMessage": "Webseite löschen"
},
"title.edit-account": {
"defaultMessage": "Konto bearbeiten"
},
"title.edit-website": {
"defaultMessage": "Webseite bearbeiten"
},
"title.share-url": {
"defaultMessage": "Freigabe-URL"
},
"title.tracking-code": {
"defaultMessage": "Tracking Kennung"
},
"tooltip.get-share-url": {
"defaultMessage": "Freigabe-URL abrufen"
},
"tooltip.get-tracking-code": {
"defaultMessage": "Erstelle Tracking Kennung"
}
} }

82
lang/en-US.json Normal file
View File

@ -0,0 +1,82 @@
{
"active-users.message": "{x} current {x, plural, one {visitor} other {visitors}}",
"button.add-account": "Add account",
"button.add-website": "Add website",
"button.back": "Back",
"button.cancel": "Cancel",
"button.change-password": "Change password",
"button.copy-to-clipboard": "Copy to clipboard",
"button.delete": "Delete",
"button.edit": "Edit",
"button.login": "Login",
"button.more": "More",
"button.save": "Save",
"button.view-details": "View details",
"footer.powered-by": "Powered by",
"header.nav.dashboard": "Dashboard",
"header.nav.settings": "Settings",
"label.administrator": "Administrator",
"label.confirm-password": "Confirm password",
"label.current-password": "Current password",
"label.domain": "Domain",
"label.enable-share-url": "Enable share URL",
"label.invalid": "Invalid",
"label.invalid-domain": "Invalid domain",
"label.last-days": "Last {x} days",
"label.last-hours": "Last {x} hours",
"label.logged-in-as": "Logged in as {username}",
"label.logout": "Logout",
"label.name": "Name",
"label.new-password": "New password",
"label.password": "Password",
"label.passwords-dont-match": "Passwords don't match",
"label.required": "Required",
"label.this-month": "This month",
"label.this-week": "This week",
"label.this-year": "This year",
"label.today": "Today",
"label.username": "Username",
"message.confirm-delete": "Are your sure you want to delete {target}?",
"message.copied": "Copied!",
"message.delete-warning": "All associated data will be deleted as well.",
"message.failure": "Something went wrong.",
"message.incorrect-username-password": "Incorrect username/password.",
"message.no-data-available": "No data available.",
"message.save-success": "Saved successfully.",
"message.share-url": "This is the publicly shared URL for {target}.",
"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.",
"metrics.actions": "Actions",
"metrics.average-visit-time": "Average visit time",
"metrics.bounce-rate": "Bounce rate",
"metrics.browsers": "Browsers",
"metrics.countries": "Countries",
"metrics.devices": "Devices",
"metrics.events": "Events",
"metrics.filter.combined": "Combined",
"metrics.filter.domain-only": "Domain only",
"metrics.filter.raw": "Raw",
"metrics.operating-systems": "Operating systems",
"metrics.page-views": "Page views",
"metrics.pages": "Pages",
"metrics.referrers": "Referrers",
"metrics.unique-visitors": "Unique visitors",
"metrics.views": "Views",
"metrics.visitors": "Visitors",
"placeholder.message.go-to-settings": "Go to settings",
"placeholder.message.no-websites-configured": "You don't have any websites configured.",
"settings.accounts": "Accounts",
"settings.profile": "Profile",
"settings.websites": "Websites",
"title.add-account": "Add account",
"title.add-website": "Add website",
"title.change-password": "Change password",
"title.delete-account": "Delete account",
"title.delete-website": "Delete website",
"title.edit-account": "Edit account",
"title.edit-website": "Edit website",
"title.share-url": "Share URL",
"title.tracking-code": "Tracking code",
"tooltip.get-share-url": "Get share URL",
"tooltip.get-tracking-code": "Get tracking code"
}

View File

@ -1,245 +0,0 @@
{
"active-users.message": {
"defaultMessage": "{x} current {x, plural, one {visitor} other {visitors}}"
},
"button.add-account": {
"defaultMessage": "Add account"
},
"button.add-website": {
"defaultMessage": "Add website"
},
"button.back": {
"defaultMessage": "Back"
},
"button.cancel": {
"defaultMessage": "Cancel"
},
"button.change-password": {
"defaultMessage": "Change password"
},
"button.copy-to-clipboard": {
"defaultMessage": "Copy to clipboard"
},
"button.delete": {
"defaultMessage": "Delete"
},
"button.edit": {
"defaultMessage": "Edit"
},
"button.login": {
"defaultMessage": "Login"
},
"button.more": {
"defaultMessage": "More"
},
"button.save": {
"defaultMessage": "Save"
},
"button.view-details": {
"defaultMessage": "View details"
},
"button.websites": {
"defaultMessage": "Websites"
},
"footer.powered-by": {
"defaultMessage": "Powered by"
},
"header.nav.dashboard": {
"defaultMessage": "Dashboard"
},
"header.nav.settings": {
"defaultMessage": "Settings"
},
"label.administrator": {
"defaultMessage": "Administrator"
},
"label.confirm-password": {
"defaultMessage": "Confirm password"
},
"label.current-password": {
"defaultMessage": "Current password"
},
"label.domain": {
"defaultMessage": "Domain"
},
"label.enable-share-url": {
"defaultMessage": "Enable share URL"
},
"label.invalid": {
"defaultMessage": "Invalid"
},
"label.invalid-domain": {
"defaultMessage": "Invalid domain"
},
"label.last-days": {
"defaultMessage": "Last {x} days"
},
"label.last-hours": {
"defaultMessage": "Last {x} hours"
},
"label.logged-in-as": {
"defaultMessage": "Logged in as {username}"
},
"label.logout": {
"defaultMessage": "Logout"
},
"label.name": {
"defaultMessage": "Name"
},
"label.new-password": {
"defaultMessage": "New password"
},
"label.password": {
"defaultMessage": "Password"
},
"label.passwords-dont-match": {
"defaultMessage": "Passwords don't match"
},
"label.required": {
"defaultMessage": "Required"
},
"label.this-month": {
"defaultMessage": "This month"
},
"label.this-week": {
"defaultMessage": "This week"
},
"label.this-year": {
"defaultMessage": "This year"
},
"label.today": {
"defaultMessage": "Today"
},
"label.username": {
"defaultMessage": "Username"
},
"message.confirm-delete": {
"defaultMessage": "Are your sure you want to delete {target}?"
},
"message.copied": {
"defaultMessage": "Copied!"
},
"message.delete-warning": {
"defaultMessage": "All associated data will be deleted as well."
},
"message.failure": {
"defaultMessage": "Something went wrong."
},
"message.incorrect-username-password": {
"defaultMessage": "Incorrect username/password."
},
"message.no-data-available": {
"defaultMessage": "No data available."
},
"message.page-not-found": {
"defaultMessage": "Page not found"
},
"message.save-success": {
"defaultMessage": "Saved successfully."
},
"message.share-url": {
"defaultMessage": "This is the publicly shared URL for {target}."
},
"message.track-stats": {
"defaultMessage": "To track stats for {target}, place the following code in the {head} section of your website."
},
"message.type-delete": {
"defaultMessage": "Type {delete} in the box below to confirm."
},
"metrics.actions": {
"defaultMessage": "Actions"
},
"metrics.average-visit-time": {
"defaultMessage": "Average visit time"
},
"metrics.bounce-rate": {
"defaultMessage": "Bounce rate"
},
"metrics.browsers": {
"defaultMessage": "Browsers"
},
"metrics.countries": {
"defaultMessage": "Countries"
},
"metrics.devices": {
"defaultMessage": "Devices"
},
"metrics.events": {
"defaultMessage": "Events"
},
"metrics.filter.combined": {
"defaultMessage": "Combined"
},
"metrics.filter.domain-only": {
"defaultMessage": "Domain only"
},
"metrics.filter.raw": {
"defaultMessage": "Raw"
},
"metrics.operating-system": {
"defaultMessage": "Operating system"
},
"metrics.page-views": {
"defaultMessage": "Page views"
},
"metrics.pages": {
"defaultMessage": "Pages"
},
"metrics.referrers": {
"defaultMessage": "Referrers"
},
"metrics.unique-visitors": {
"defaultMessage": "Unique visitors"
},
"metrics.views": {
"defaultMessage": "Views"
},
"metrics.visitors": {
"defaultMessage": "Visitors"
},
"placeholder.message.go-to-settings": {
"defaultMessage": "Go to settings"
},
"placeholder.message.no-websites-configured": {
"defaultMessage": "You don't have any websites configured."
},
"settings.accounts": {
"defaultMessage": "Accounts"
},
"settings.profile": {
"defaultMessage": "Profile"
},
"settings.websites": {
"defaultMessage": "Websites"
},
"title.add-account": {
"defaultMessage": "Add account"
},
"title.add-website": {
"defaultMessage": "Add website"
},
"title.delete-account": {
"defaultMessage": "Delete account"
},
"title.delete-website": {
"defaultMessage": "Delete website"
},
"title.edit-account": {
"defaultMessage": "Edit account"
},
"title.edit-website": {
"defaultMessage": "Edit website"
},
"title.share-url": {
"defaultMessage": "Share URL"
},
"title.tracking-code": {
"defaultMessage": "Tracking code"
},
"tooltip.get-share-url": {
"defaultMessage": "Get share URL"
},
"tooltip.get-tracking-code": {
"defaultMessage": "Get tracking code"
}
}

82
lang/ja-JP.json Normal file
View File

@ -0,0 +1,82 @@
{
"active-users.message": "{x}人が閲覧中です。",
"button.add-account": "アカウントを追加する",
"button.add-website": "Webサイトを追加する",
"button.back": "戻る",
"button.cancel": "キャンセル",
"button.change-password": "パスワード変更",
"button.copy-to-clipboard": "クリップボードにコピー",
"button.delete": "削除",
"button.edit": "編集",
"button.login": "ログイン",
"button.more": "さらに表示",
"button.save": "保存",
"button.view-details": "詳細表示",
"footer.powered-by": "Powered by",
"header.nav.dashboard": "ダッシュボード",
"header.nav.settings": "設定",
"label.administrator": "管理者",
"label.confirm-password": "パスワード(確認)",
"label.current-password": "現在のパスワード",
"label.domain": "ドメイン",
"label.enable-share-url": "共有リンクを有効にする",
"label.invalid": "無効",
"label.invalid-domain": "無効なドメイン",
"label.last-days": "過去{x}日間",
"label.last-hours": "過去{x}時間",
"label.logged-in-as": "{username}でログイン中",
"label.logout": "ログアウト",
"label.name": "名前",
"label.new-password": "新しいパスワード",
"label.password": "パスワード",
"label.passwords-dont-match": "パスワードが一致しません",
"label.required": "必須",
"label.this-month": "今月",
"label.this-week": "今週",
"label.this-year": "今年",
"label.today": "今日",
"label.username": "ユーザー名",
"message.confirm-delete": "{target}を削除してもよろしいですか?",
"message.copied": "コピーしました!",
"message.delete-warning": "関連するすべてのデータも削除されます。",
"message.failure": "問題が発生しました。",
"message.incorrect-username-password": "ユーザー名/パスワードが正しくありません。",
"message.no-data-available": "データがありません。",
"message.save-success": "正常に保存されました。",
"message.share-url": "これは {target} の共有リンクです。",
"message.track-stats": "{target}のアクセス解析を開始するには、次のコードをWebサイトの{head}セクションへ追加してください。",
"message.type-delete": "確認のため、下のフォームに{delete}と入力してください。",
"metrics.actions": "アクション",
"metrics.average-visit-time": "平均滞在時間",
"metrics.bounce-rate": "直帰率",
"metrics.browsers": "ブラウザ",
"metrics.countries": "国",
"metrics.devices": "デバイス",
"metrics.events": "イベント",
"metrics.filter.combined": "パスまで",
"metrics.filter.domain-only": "ドメインのみ",
"metrics.filter.raw": "すべて表示",
"metrics.operating-systems": "OS",
"metrics.page-views": "閲覧数",
"metrics.pages": "ページ",
"metrics.referrers": "リファラー",
"metrics.unique-visitors": "ユニーク訪問者数",
"metrics.views": "閲覧数",
"metrics.visitors": "訪問者数",
"placeholder.message.go-to-settings": "設定する",
"placeholder.message.no-websites-configured": "Webサイトが設定されていません。",
"settings.accounts": "アカウント",
"settings.profile": "プロファイル",
"settings.websites": "Webサイト",
"title.add-account": "アカウントの追加",
"title.add-website": "Webサイトの追加",
"title.change-password": "パスワード変更",
"title.delete-account": "アカウントの削除",
"title.delete-website": "Webサイトの削除",
"title.edit-account": "アカウントの編集",
"title.edit-website": "Webサイトの編集",
"title.share-url": "共有リンク",
"title.tracking-code": "トラッキングコード",
"tooltip.get-share-url": "共有リンクを取得",
"tooltip.get-tracking-code": "トラッキングコードを取得"
}

View File

@ -1,242 +1,82 @@
{ {
"active-users.message": { "active-users.message": "{x} actieve {x, plural, one {bezoeker} other {bezoekers}}",
"defaultMessage": "{x} actieve {x, plural, one {bezoeker} other {bezoekers}}" "button.add-account": "Account toevoegen",
}, "button.add-website": "Website toevoegen",
"button.add-account": { "button.back": "Terug",
"defaultMessage": "Account toevoegen" "button.cancel": "Annuleren",
}, "button.change-password": "Wachtwoord wijzigen",
"button.add-website": { "button.copy-to-clipboard": "Kopiëer naar klembord",
"defaultMessage": "Website toevoegen" "button.delete": "Verwijderen",
}, "button.edit": "Bewerken",
"button.back": { "button.login": "Inloggen",
"defaultMessage": "Terug" "button.more": "Toon meer",
}, "button.save": "Opslaan",
"button.cancel": { "button.view-details": "Meer details",
"defaultMessage": "Annuleren" "footer.powered-by": "mogelijk gemaakt door",
}, "header.nav.dashboard": "Dashboard",
"button.change-password": { "header.nav.settings": "Instellingen",
"defaultMessage": "Wachtwoord wijzigen" "label.administrator": "Administrator",
}, "label.confirm-password": "Wachtwoord bevestigen",
"button.copy-to-clipboard": { "label.current-password": "Huidig wachtwoord",
"defaultMessage": "Kopiëer naar klembord" "label.domain": "Domein",
}, "label.enable-share-url": "Sta delen via openbare URL toe",
"button.delete": { "label.invalid": "Ongeldig",
"defaultMessage": "Verwijderen" "label.invalid-domain": "Ongeldig domein",
}, "label.last-days": "Laatste {x} dagen",
"button.edit": { "label.last-hours": "Laatste {x} uur",
"defaultMessage": "Bewerken" "label.logged-in-as": "Ingelogd als {username}",
}, "label.logout": "Uitloggen",
"button.login": { "label.name": "Naam",
"defaultMessage": "Inloggen" "label.new-password": "Nieuw wachtwoord",
}, "label.password": "Wachtwoord",
"button.more": { "label.passwords-dont-match": "Wachtwoorden komen niet overeen",
"defaultMessage": "Toon meer" "label.required": "Verplicht",
}, "label.this-month": "Deze maand",
"button.save": { "label.this-week": "Deze week",
"defaultMessage": "Opslaan" "label.this-year": "Dit jaar",
}, "label.today": "Vandaag",
"button.view-details": { "label.username": "Gebruikersnaam",
"defaultMessage": "Meer details" "message.confirm-delete": "Weet je zeker dat je {target} wilt verwijderen?",
}, "message.copied": "Gekopiëerd!",
"button.websites": { "message.delete-warning": "Alle verwante gegezens zullen ook verwijderd worden.",
"defaultMessage": "Websites" "message.failure": "Er is iets misgegaan.",
}, "message.incorrect-username-password": "Incorrecte gebruikersnaam/wachtwoord.",
"footer.powered-by": { "message.no-data-available": "Geen gegevens beschikbaar.",
"defaultMessage": "mogelijk gemaakt door" "message.save-success": "Opslaan succesvol.",
}, "message.share-url": "Met deze URL kan {target} openbaar gedeeld worden.",
"header.nav.dashboard": { "message.track-stats": "Om statistieken voor {target} bij te houden, plaats je de volgende code in het {head} gedeelte van je website.",
"defaultMessage": "Dashboard" "message.type-delete": "Type {delete} in onderstaande veld om dit te bevestigen.",
}, "metrics.actions": "Acties",
"header.nav.settings": { "metrics.average-visit-time": "Gemiddelde bezoektijd",
"defaultMessage": "Instellingen" "metrics.bounce-rate": "Bouncepercentage",
}, "metrics.browsers": "Browsers",
"label.administrator": { "metrics.countries": "Landen",
"defaultMessage": "Administrator" "metrics.devices": "Apparaten",
}, "metrics.events": "Gebeurtenissen",
"label.confirm-password": { "metrics.filter.combined": "Gecombineerd",
"defaultMessage": "Wachtwoord bevestigen" "metrics.filter.domain-only": "Alleen domein",
}, "metrics.filter.raw": "Ruw",
"label.current-password": { "metrics.operating-systems": "Besturingssysteem",
"defaultMessage": "Huidig wachtwoord" "metrics.page-views": "Paginaweergaven",
}, "metrics.pages": "Pagina's",
"label.domain": { "metrics.referrers": "Verwijzers",
"defaultMessage": "Domein" "metrics.unique-visitors": "Unieke bezoekers",
}, "metrics.views": "Weergaven",
"label.enable-share-url": { "metrics.visitors": "Bezoekers",
"defaultMessage": "Sta delen via openbare URL toe" "placeholder.message.go-to-settings": "Naar instellingen",
}, "placeholder.message.no-websites-configured": "Je hebt geen websites ingesteld.",
"label.invalid": { "settings.accounts": "Accounts",
"defaultMessage": "Ongeldig" "settings.profile": "Profiel",
}, "settings.websites": "Websites",
"label.invalid-domain": { "title.add-account": "Account toevoegen",
"defaultMessage": "Ongeldig domein" "title.add-website": "Website toevoegen",
}, "title.change-password": "Wachtwoord wijzigen",
"label.last-days": { "title.delete-account": "Account verwijderen",
"defaultMessage": "Laatste {x} dagen" "title.delete-website": "Website verwijderen",
}, "title.edit-account": "Account bewerken",
"label.last-hours": { "title.edit-website": "Website bewerken",
"defaultMessage": "Laatste {x} uur" "title.share-url": "URL delen",
}, "title.tracking-code": "Tracking code",
"label.logged-in-as": { "tooltip.get-share-url": "Openbare URL",
"defaultMessage": "Ingelogd als {username}" "tooltip.get-tracking-code": "Tracking code"
},
"label.logout": {
"defaultMessage": "Uitloggen"
},
"label.name": {
"defaultMessage": "Naam"
},
"label.new-password": {
"defaultMessage": "Nieuw wachtwoord"
},
"label.password": {
"defaultMessage": "Wachtwoord"
},
"label.passwords-dont-match": {
"defaultMessage": "Wachtwoorden komen niet overeen"
},
"label.required": {
"defaultMessage": "Verplicht"
},
"label.this-month": {
"defaultMessage": "Deze maand"
},
"label.this-week": {
"defaultMessage": "Deze week"
},
"label.this-year": {
"defaultMessage": "Dit jaar"
},
"label.today": {
"defaultMessage": "Vandaag"
},
"label.username": {
"defaultMessage": "Gebruikersnaam"
},
"message.confirm-delete": {
"defaultMessage": "Weet je zeker dat je {target} wilt verwijderen?"
},
"message.copied": {
"defaultMessage": "Gekopiëerd!"
},
"message.delete-warning": {
"defaultMessage": "Alle verwante gegezens zullen ook verwijderd worden."
},
"message.failure": {
"defaultMessage": "Er is iets misgegaan."
},
"message.incorrect-username-password": {
"defaultMessage": "Incorrecte gebruikersnaam/wachtwoord."
},
"message.no-data-available": {
"defaultMessage": "Geen gegevens beschikbaar."
},
"message.save-success": {
"defaultMessage": "Opslaan succesvol."
},
"message.share-url": {
"defaultMessage": "Met deze URL kan {target} openbaar gedeeld worden."
},
"message.track-stats": {
"defaultMessage": "Om statistieken voor {target} bij te houden, plaats je de volgende code in het {head} gedeelte van je website."
},
"message.type-delete": {
"defaultMessage": "Type {delete} in onderstaande veld om dit te bevestigen."
},
"metrics.actions": {
"defaultMessage": "Acties"
},
"metrics.average-visit-time": {
"defaultMessage": "Gemiddelde bezoektijd"
},
"metrics.bounce-rate": {
"defaultMessage": "Bouncepercentage"
},
"metrics.browsers": {
"defaultMessage": "Browsers"
},
"metrics.countries": {
"defaultMessage": "Landen"
},
"metrics.devices": {
"defaultMessage": "Apparaten"
},
"metrics.events": {
"defaultMessage": "Gebeurtenissen"
},
"metrics.filter.combined": {
"defaultMessage": "Gecombineerd"
},
"metrics.filter.domain-only": {
"defaultMessage": "Alleen domein"
},
"metrics.filter.raw": {
"defaultMessage": "Ruw"
},
"metrics.operating-system": {
"defaultMessage": "Besturingssysteem"
},
"metrics.page-views": {
"defaultMessage": "Paginaweergaven"
},
"metrics.pages": {
"defaultMessage": "Pagina's"
},
"metrics.referrers": {
"defaultMessage": "Verwijzers"
},
"metrics.unique-visitors": {
"defaultMessage": "Unieke bezoekers"
},
"metrics.views": {
"defaultMessage": "Weergaven"
},
"metrics.visitors": {
"defaultMessage": "Bezoekers"
},
"placeholder.message.go-to-settings": {
"defaultMessage": "Naar instellingen"
},
"placeholder.message.no-websites-configured": {
"defaultMessage": "Je hebt geen websites ingesteld."
},
"settings.accounts": {
"defaultMessage": "Accounts"
},
"settings.profile": {
"defaultMessage": "Profiel"
},
"settings.websites": {
"defaultMessage": "Websites"
},
"title.add-account": {
"defaultMessage": "Account toevoegen"
},
"title.add-website": {
"defaultMessage": "Website toevoegen"
},
"title.delete-account": {
"defaultMessage": "Account verwijderen"
},
"title.delete-website": {
"defaultMessage": "Website verwijderen"
},
"title.edit-account": {
"defaultMessage": "Account bewerken"
},
"title.edit-website": {
"defaultMessage": "Website bewerken"
},
"title.share-url": {
"defaultMessage": "URL delen"
},
"title.tracking-code": {
"defaultMessage": "Tracking code"
},
"tooltip.get-share-url": {
"defaultMessage": "Openbare URL"
},
"tooltip.get-tracking-code": {
"defaultMessage": "Tracking code"
}
} }

View File

@ -1,242 +1,82 @@
{ {
"active-users.message": { "active-users.message": "{x} текущих посетителей",
"defaultMessage": "{x} текущих посетителей" "button.add-account": "Добавить аккаунт",
}, "button.add-website": "Добавить сайт",
"button.add-account": { "button.back": "Назад",
"defaultMessage": "Добавить аккаунт" "button.cancel": "Отменить",
}, "button.change-password": "Изменить пароль",
"button.add-website": { "button.copy-to-clipboard": "Скопировать в буфер обмена",
"defaultMessage": "Добавить сайт" "button.delete": "Удалить",
}, "button.edit": "Редактировать",
"button.back": { "button.login": "Войти",
"defaultMessage": "Назад" "button.more": "Больше",
}, "button.save": "Сохранить",
"button.cancel": { "button.view-details": "Посмотреть детали",
"defaultMessage": "Отменить" "footer.powered-by": "на движке",
}, "header.nav.dashboard": "Информационная панель",
"button.change-password": { "header.nav.settings": "Настройки",
"defaultMessage": "Изменить пароль" "label.administrator": "Администратор",
}, "label.confirm-password": "Подтвердить пароль",
"button.copy-to-clipboard": { "label.current-password": "Текущий пароль",
"defaultMessage": "Скопировать в буфер обмена" "label.domain": "Домен",
}, "label.enable-share-url": "Разрешить делиться ссылкой",
"button.delete": { "label.invalid": "Некорректный",
"defaultMessage": "Удалить" "label.invalid-domain": "Некорректный домен",
}, "label.last-days": "Последние {x} дней",
"button.edit": { "label.last-hours": "Последние {x} часа",
"defaultMessage": "Редактировать" "label.logged-in-as": "Вы вошли как {username}",
}, "label.logout": "Выйти",
"button.login": { "label.name": "Имя",
"defaultMessage": "Войти" "label.new-password": "Новый пароль",
}, "label.password": "Пароль",
"button.more": { "label.passwords-dont-match": "Пароли не совпадают",
"defaultMessage": "Больше" "label.required": "Обязательное",
}, "label.this-month": "Этот месяц",
"button.save": { "label.this-week": "Эта неделя",
"defaultMessage": "Сохранить" "label.this-year": "Этот год",
}, "label.today": "Сегодня",
"button.view-details": { "label.username": "Имя пользователя",
"defaultMessage": "Посмотреть детали" "message.confirm-delete": "Вы уверены, что хотите удалить {target}?",
}, "message.copied": "Скопировано!",
"button.websites": { "message.delete-warning": "Все связанные данные будут также удалены.",
"defaultMessage": "Сайты" "message.failure": "Что-то пошло не так.",
}, "message.incorrect-username-password": "Неверное имя пользователя/пароль.",
"footer.powered-by": { "message.no-data-available": "Нет данных.",
"defaultMessage": "на движке" "message.save-success": "Успешно сохранено.",
}, "message.share-url": "Это публичная ссылка для {target}.",
"header.nav.dashboard": { "message.track-stats": "Чтобы отслеживать статистику для {target}, поместите следующий код в раздел {head} вашего сайта.",
"defaultMessage": "Информационная панель" "message.type-delete": "Напишите {delete} в поле ниже, чтобы подтвердить.",
}, "metrics.actions": "Действия",
"header.nav.settings": { "metrics.average-visit-time": "Среднее время посещения",
"defaultMessage": "Настройки" "metrics.bounce-rate": "Отказы",
}, "metrics.browsers": "Браузеры",
"label.administrator": { "metrics.countries": "Страны",
"defaultMessage": "Администратор" "metrics.devices": "Устройства",
}, "metrics.events": "События",
"label.confirm-password": { "metrics.filter.combined": "Объединенные",
"defaultMessage": "Подтвердить пароль" "metrics.filter.domain-only": "Только домен",
}, "metrics.filter.raw": "Сырые данные",
"label.current-password": { "metrics.operating-systems": "Операционная система",
"defaultMessage": "Текущий пароль" "metrics.page-views": "Просмотры страниц",
}, "metrics.pages": "Страницы",
"label.domain": { "metrics.referrers": "Источники",
"defaultMessage": "Домен" "metrics.unique-visitors": "Уникальные посетители",
}, "metrics.views": "Просмотры",
"label.enable-share-url": { "metrics.visitors": "Посетители",
"defaultMessage": "Разрешить делиться ссылкой" "placeholder.message.go-to-settings": "Перейти к настройкам",
}, "placeholder.message.no-websites-configured": "У вас нет настроенных сайтов.",
"label.invalid": { "settings.accounts": "Аккаунты",
"defaultMessage": "Некорректный" "settings.profile": "Профиль",
}, "settings.websites": "Сайты",
"label.invalid-domain": { "title.add-account": "Добавить аккаунт",
"defaultMessage": "Некорректный домен" "title.add-website": "Добавить сайт",
}, "title.change-password": "Изменить пароль",
"label.last-days": { "title.delete-account": "Удалить аккаунт",
"defaultMessage": "Последние {x} дней" "title.delete-website": "Удалить сайт",
}, "title.edit-account": "Редактировать аккаунт",
"label.last-hours": { "title.edit-website": "Редактировать сайт",
"defaultMessage": "Последние {x} часа" "title.share-url": "Поделиться ссылкой",
}, "title.tracking-code": "Код отслеживания",
"label.logged-in-as": { "tooltip.get-share-url": "Получить публичную ссылку",
"defaultMessage": "Вы вошли как {username}" "tooltip.get-tracking-code": "Получить код отслеживания"
},
"label.logout": {
"defaultMessage": "Выйти"
},
"label.name": {
"defaultMessage": "Имя"
},
"label.new-password": {
"defaultMessage": "Новый пароль"
},
"label.password": {
"defaultMessage": "Пароль"
},
"label.passwords-dont-match": {
"defaultMessage": "Пароли не совпадают"
},
"label.required": {
"defaultMessage": "Обязательное"
},
"label.this-month": {
"defaultMessage": "Этот месяц"
},
"label.this-week": {
"defaultMessage": "Эта неделя"
},
"label.this-year": {
"defaultMessage": "Этот год"
},
"label.today": {
"defaultMessage": "Сегодня"
},
"label.username": {
"defaultMessage": "Имя пользователя"
},
"message.confirm-delete": {
"defaultMessage": "Вы уверены, что хотите удалить {target}?"
},
"message.copied": {
"defaultMessage": "Скопировано!"
},
"message.delete-warning": {
"defaultMessage": "Все связанные данные будут также удалены."
},
"message.failure": {
"defaultMessage": "Что-то пошло не так."
},
"message.incorrect-username-password": {
"defaultMessage": "Неверное имя пользователя/пароль."
},
"message.no-data-available": {
"defaultMessage": "Нет данных."
},
"message.save-success": {
"defaultMessage": "Успешно сохранено."
},
"message.share-url": {
"defaultMessage": "Это публичная ссылка для {target}."
},
"message.track-stats": {
"defaultMessage": "Чтобы отслеживать статистику для {target}, поместите следующий код в раздел {head} вашего сайта."
},
"message.type-delete": {
"defaultMessage": "Напишите {delete} в поле ниже, чтобы подтвердить."
},
"metrics.actions": {
"defaultMessage": "Действия"
},
"metrics.average-visit-time": {
"defaultMessage": "Среднее время посещения"
},
"metrics.bounce-rate": {
"defaultMessage": "Отказы"
},
"metrics.browsers": {
"defaultMessage": "Браузеры"
},
"metrics.countries": {
"defaultMessage": "Страны"
},
"metrics.devices": {
"defaultMessage": "Устройства"
},
"metrics.events": {
"defaultMessage": "События"
},
"metrics.filter.combined": {
"defaultMessage": "Объединенные"
},
"metrics.filter.domain-only": {
"defaultMessage": "Только домен"
},
"metrics.filter.raw": {
"defaultMessage": "Сырые данные"
},
"metrics.operating-system": {
"defaultMessage": "Операционная система"
},
"metrics.page-views": {
"defaultMessage": "Просмотры страниц"
},
"metrics.pages": {
"defaultMessage": "Страницы"
},
"metrics.referrers": {
"defaultMessage": "Источники"
},
"metrics.unique-visitors": {
"defaultMessage": "Уникальные посетители"
},
"metrics.views": {
"defaultMessage": "Просмотры"
},
"metrics.visitors": {
"defaultMessage": "Посетители"
},
"placeholder.message.go-to-settings": {
"defaultMessage": "Перейти к настройкам"
},
"placeholder.message.no-websites-configured": {
"defaultMessage": "У вас нет настроенных сайтов."
},
"settings.accounts": {
"defaultMessage": "Аккаунты"
},
"settings.profile": {
"defaultMessage": "Профиль"
},
"settings.websites": {
"defaultMessage": "Сайты"
},
"title.add-account": {
"defaultMessage": "Добавить аккаунт"
},
"title.add-website": {
"defaultMessage": "Добавить сайт"
},
"title.delete-account": {
"defaultMessage": "Удалить аккаунт"
},
"title.delete-website": {
"defaultMessage": "Удалить сайт"
},
"title.edit-account": {
"defaultMessage": "Редактировать аккаунт"
},
"title.edit-website": {
"defaultMessage": "Редактировать сайт"
},
"title.share-url": {
"defaultMessage": "Поделиться ссылкой"
},
"title.tracking-code": {
"defaultMessage": "Код отслеживания"
},
"tooltip.get-share-url": {
"defaultMessage": "Получить публичную ссылку"
},
"tooltip.get-tracking-code": {
"defaultMessage": "Получить код отслеживания"
}
} }

View File

@ -1,242 +1,82 @@
{ {
"active-users.message": { "active-users.message": "{x} aktif ziyaretçi",
"defaultMessage": "{x} aktif ziyaretçi" "button.add-account": "Yeni Hesap Ekle",
}, "button.add-website": "Web sitesi ekle",
"button.add-account": { "button.back": "Geri",
"defaultMessage": "Yeni Hesap Ekle" "button.cancel": "İptal",
}, "button.change-password": "Şifre değiştir",
"button.add-website": { "button.copy-to-clipboard": "Panoya kopyala",
"defaultMessage": "Web sitesi ekle" "button.delete": "Sil",
}, "button.edit": "Düzenle",
"button.back": { "button.login": "Giriş Yap",
"defaultMessage": "Geri" "button.more": "Detaylı göster",
}, "button.save": "Kaydet",
"button.cancel": { "button.view-details": "Detayı incele",
"defaultMessage": "İptal" "footer.powered-by": "Sağlayıcı:",
}, "header.nav.dashboard": "Kontrol Paneli",
"button.change-password": { "header.nav.settings": "Ayarlar",
"defaultMessage": "Şifre değiştir" "label.administrator": "Yönetici",
}, "label.confirm-password": "Parolayı onayla",
"button.copy-to-clipboard": { "label.current-password": "Mevcut parola",
"defaultMessage": "Panoya kopyala" "label.domain": "Alan adı",
}, "label.enable-share-url": "Anonim paylaşım URL'i aktif",
"button.delete": { "label.invalid": "Geçeriz",
"defaultMessage": "Sil" "label.invalid-domain": "Geçersiz alan adı",
}, "label.last-days": "Son {x} gün",
"button.edit": { "label.last-hours": "Son {x} saat",
"defaultMessage": "Düzenle" "label.logged-in-as": "{username} olarak giriş yapıldı.",
}, "label.logout": ıkış Yap",
"button.login": { "label.name": "İsim",
"defaultMessage": "Giriş Yap" "label.new-password": "Yeni parola",
}, "label.password": "Parola",
"button.more": { "label.passwords-dont-match": "Parolalar uyuşmuyor",
"defaultMessage": "Detaylı göster" "label.required": "Zorunlu alan",
}, "label.this-month": "Bu ay",
"button.save": { "label.this-week": "Bu hafta",
"defaultMessage": "Kaydet" "label.this-year": "Bu yıl",
}, "label.today": "Bugün",
"button.view-details": { "label.username": "Kullanıcı adı",
"defaultMessage": "Detayı incele" "message.confirm-delete": "{target} kaydını silmek istediğinizden emin misiniz?",
}, "message.copied": "Panoya kopyalandı!",
"button.websites": { "message.delete-warning": "İlişkili tüm veriler de silinecektir.",
"defaultMessage": "Web siteleri" "message.failure": "Bir şeyler ters gitti!",
}, "message.incorrect-username-password": "Hatalı kullanıcı adı ya da parola.",
"footer.powered-by": { "message.no-data-available": "Henüz hiç veri yok.",
"defaultMessage": "Sağlayıcı:" "message.save-success": "Başarıyla kaydedildi.",
}, "message.share-url": "{target} için kullanılabilir anonim paylaşım adresidir.",
"header.nav.dashboard": { "message.track-stats": "{target} alanı adı istatistiklerini takip etmek için, aşağıdaki kodu web sitenizin {head} bloğuna yerleştirin.",
"defaultMessage": "Kontrol Paneli" "message.type-delete": "Onaylamak için kutuya {delete} yazın.",
}, "metrics.actions": "Actions",
"header.nav.settings": { "metrics.average-visit-time": "Ortalama ziyaret süresi",
"defaultMessage": "Ayarlar" "metrics.bounce-rate": ıkma oranı",
}, "metrics.browsers": "Tarayıcılar",
"label.administrator": { "metrics.countries": "Ülkeler",
"defaultMessage": "Yönetici" "metrics.devices": "Cihazlar",
}, "metrics.events": "Olaylar",
"label.confirm-password": { "metrics.filter.combined": "Birleşik",
"defaultMessage": "Parolayı onayla" "metrics.filter.domain-only": "Yalnızca alan adı",
}, "metrics.filter.raw": "Ham",
"label.current-password": { "metrics.operating-systems": "İşletim sistemi",
"defaultMessage": "Mevcut parola" "metrics.page-views": "Sayfa görünümü",
}, "metrics.pages": "Sayfalar",
"label.domain": { "metrics.referrers": "Yönlendirenler",
"defaultMessage": "Alan adı" "metrics.unique-visitors": "Tekil kullanıcı",
}, "metrics.views": "Görüntüleme",
"label.enable-share-url": { "metrics.visitors": "Ziyaretçi",
"defaultMessage": "Anonim paylaşım URL'i aktif" "placeholder.message.go-to-settings": "Ayarlara git",
}, "placeholder.message.no-websites-configured": "Henüz hiç web sitesi tanımlamadınız",
"label.invalid": { "settings.accounts": "Hesaplar",
"defaultMessage": "Geçeriz" "settings.profile": "Profil",
}, "settings.websites": "Web siteleri",
"label.invalid-domain": { "title.add-account": "Hesap ekle",
"defaultMessage": "Geçersiz alan adı" "title.add-website": "Web sitesi ekle",
}, "title.change-password": "Şifre değiştir",
"label.last-days": { "title.delete-account": "Hesabı sil",
"defaultMessage": "Son {x} gün" "title.delete-website": "Web sitesini sil",
}, "title.edit-account": "Hesabı düzenle",
"label.last-hours": { "title.edit-website": "Web sitesini düzenle",
"defaultMessage": "Son {x} saat" "title.share-url": "Paylaşım adresi",
}, "title.tracking-code": "İzleme kodu",
"label.logged-in-as": { "tooltip.get-share-url": "Paylaşım adresini al",
"defaultMessage": "{username} olarak giriş yapıldı." "tooltip.get-tracking-code": "İzleme kodunu al"
},
"label.logout": {
"defaultMessage": ıkış Yap"
},
"label.name": {
"defaultMessage": "İsim"
},
"label.new-password": {
"defaultMessage": "Yeni parola"
},
"label.password": {
"defaultMessage": "Parola"
},
"label.passwords-dont-match": {
"defaultMessage": "Parolalar uyuşmuyor"
},
"label.required": {
"defaultMessage": "Zorunlu alan"
},
"label.this-month": {
"defaultMessage": "Bu ay"
},
"label.this-week": {
"defaultMessage": "Bu hafta"
},
"label.this-year": {
"defaultMessage": "Bu yıl"
},
"label.today": {
"defaultMessage": "Bugün"
},
"label.username": {
"defaultMessage": "Kullanıcı adı"
},
"message.confirm-delete": {
"defaultMessage": "{target} kaydını silmek istediğinizden emin misiniz?"
},
"message.copied": {
"defaultMessage": "Panoya kopyalandı!"
},
"message.delete-warning": {
"defaultMessage": "İlişkili tüm veriler de silinecektir."
},
"message.failure": {
"defaultMessage": "Bir şeyler ters gitti!"
},
"message.incorrect-username-password": {
"defaultMessage": "Hatalı kullanıcı adı ya da parola."
},
"message.no-data-available": {
"defaultMessage": "Henüz hiç veri yok."
},
"message.save-success": {
"defaultMessage": "Başarıyla kaydedildi."
},
"message.share-url": {
"defaultMessage": "{target} için kullanılabilir anonim paylaşım adresidir."
},
"message.track-stats": {
"defaultMessage": "{target} alanı adı istatistiklerini takip etmek için, aşağıdaki kodu web sitenizin {head} bloğuna yerleştirin."
},
"message.type-delete": {
"defaultMessage": "Onaylamak için kutuya {delete} yazın."
},
"metrics.actions": {
"defaultMessage": "Actions"
},
"metrics.average-visit-time": {
"defaultMessage": "Ortalama ziyaret süresi"
},
"metrics.bounce-rate": {
"defaultMessage": ıkma oranı"
},
"metrics.browsers": {
"defaultMessage": "Tarayıcılar"
},
"metrics.countries": {
"defaultMessage": "Ülkeler"
},
"metrics.devices": {
"defaultMessage": "Cihazlar"
},
"metrics.events": {
"defaultMessage": "Olaylar"
},
"metrics.filter.combined": {
"defaultMessage": "Birleşik"
},
"metrics.filter.domain-only": {
"defaultMessage": "Yalnızca alan adı"
},
"metrics.filter.raw": {
"defaultMessage": "Ham"
},
"metrics.operating-system": {
"defaultMessage": "İşletim sistemi"
},
"metrics.page-views": {
"defaultMessage": "Sayfa görünümü"
},
"metrics.pages": {
"defaultMessage": "Sayfalar"
},
"metrics.referrers": {
"defaultMessage": "Yönlendirenler"
},
"metrics.unique-visitors": {
"defaultMessage": "Tekil kullanıcı"
},
"metrics.views": {
"defaultMessage": "Görüntüleme"
},
"metrics.visitors": {
"defaultMessage": "Ziyaretçi"
},
"placeholder.message.go-to-settings": {
"defaultMessage": "Ayarlara git"
},
"placeholder.message.no-websites-configured": {
"defaultMessage": "Henüz hiç web sitesi tanımlamadınız"
},
"settings.accounts": {
"defaultMessage": "Hesaplar"
},
"settings.profile": {
"defaultMessage": "Profil"
},
"settings.websites": {
"defaultMessage": "Web siteleri"
},
"title.add-account": {
"defaultMessage": "Hesap ekle"
},
"title.add-website": {
"defaultMessage": "Web sitesi ekle"
},
"title.delete-account": {
"defaultMessage": "Hesabı sil"
},
"title.delete-website": {
"defaultMessage": "Web sitesini sil"
},
"title.edit-account": {
"defaultMessage": "Hesabı düzenle"
},
"title.edit-website": {
"defaultMessage": "Web sitesini düzenle"
},
"title.share-url": {
"defaultMessage": "Paylaşım adresi"
},
"title.tracking-code": {
"defaultMessage": "İzleme kodu"
},
"tooltip.get-share-url": {
"defaultMessage": "Paylaşım adresini al"
},
"tooltip.get-tracking-code": {
"defaultMessage": "İzleme kodunu al"
}
} }

View File

@ -1,242 +1,82 @@
{ {
"active-users.message": { "active-users.message": "当前在线 {x} 人",
"defaultMessage": "当前在线 {x} 人" "button.add-account": "添加账户",
}, "button.add-website": "添加网站",
"button.add-account": { "button.back": "返回",
"defaultMessage": "添加账户" "button.cancel": "取消",
}, "button.change-password": "更新密码",
"button.add-website": { "button.copy-to-clipboard": "复制",
"defaultMessage": "添加网站" "button.delete": "删除",
}, "button.edit": "编辑",
"button.back": { "button.login": "登录",
"defaultMessage": "返回" "button.more": "更多",
}, "button.save": "保存",
"button.cancel": { "button.view-details": "查看更多",
"defaultMessage": "取消" "footer.powered-by": "运行",
}, "header.nav.dashboard": "仪表板",
"button.change-password": { "header.nav.settings": "设置",
"defaultMessage": "更新密码" "label.administrator": "管理员",
}, "label.confirm-password": "确认密码",
"button.copy-to-clipboard": { "label.current-password": "目前密码",
"defaultMessage": "复制" "label.domain": "域名",
}, "label.enable-share-url": "激活共享链接",
"button.delete": { "label.invalid": "输入无效",
"defaultMessage": "删除" "label.invalid-domain": "无效域名",
}, "label.last-days": "最近 {x} 天",
"button.edit": { "label.last-hours": "最近 {x} 小时",
"defaultMessage": "编辑" "label.logged-in-as": "登录名: {username}",
}, "label.logout": "退出",
"button.login": { "label.name": "名字",
"defaultMessage": "登录" "label.new-password": "新密码",
}, "label.password": "密码",
"button.more": { "label.passwords-dont-match": "密码不一致",
"defaultMessage": "更多" "label.required": "必填",
}, "label.this-month": "本月",
"button.save": { "label.this-week": "本周",
"defaultMessage": "保存" "label.this-year": "今年",
}, "label.today": "今天",
"button.view-details": { "label.username": "用户名",
"defaultMessage": "查看更多" "message.confirm-delete": "你确定要删除{target}吗?",
}, "message.copied": "复制成功!",
"button.websites": { "message.delete-warning": "所有相关数据将会被删除.",
"defaultMessage": "网站" "message.failure": "出现错误.",
}, "message.incorrect-username-password": "用户名密码不正确.",
"footer.powered-by": { "message.no-data-available": "无可用数据.",
"defaultMessage": "运行" "message.save-success": "成功保存.",
}, "message.share-url": "这是 {target} 的共享链接.",
"header.nav.dashboard": { "message.track-stats": "把以下代码放到你的网站的{head}部分来收集{target}的数据.",
"defaultMessage": "仪表板" "message.type-delete": "在下面空格输入{delete}确认",
}, "metrics.actions": "用户行为",
"header.nav.settings": { "metrics.average-visit-time": "平均访问时间",
"defaultMessage": "设置" "metrics.bounce-rate": "跳出率",
}, "metrics.browsers": "浏览器",
"label.administrator": { "metrics.countries": "国家",
"defaultMessage": "管理员" "metrics.devices": "设备",
}, "metrics.events": "行为类别",
"label.confirm-password": { "metrics.filter.combined": "总和",
"defaultMessage": "确认密码" "metrics.filter.domain-only": "只看域名",
}, "metrics.filter.raw": "原始",
"label.current-password": { "metrics.operating-systems": "操作系统",
"defaultMessage": "目前密码" "metrics.page-views": "页面流量",
}, "metrics.pages": "网页",
"label.domain": { "metrics.referrers": "指入域名",
"defaultMessage": "域名" "metrics.unique-visitors": "独立访客",
}, "metrics.views": "页面流量",
"label.enable-share-url": { "metrics.visitors": "独立访客",
"defaultMessage": "激活共享链接" "placeholder.message.go-to-settings": "去设置",
}, "placeholder.message.no-websites-configured": "你还没有设置任何网站.",
"label.invalid": { "settings.accounts": "账户",
"defaultMessage": "输入无效" "settings.profile": "个人资料",
}, "settings.websites": "网站",
"label.invalid-domain": { "title.add-account": "添加账户",
"defaultMessage": "无效域名" "title.add-website": "添加网站",
}, "title.change-password": "更新密码",
"label.last-days": { "title.delete-account": "删除账户",
"defaultMessage": "最近 {x} 天" "title.delete-website": "删除网站",
}, "title.edit-account": "编辑账户",
"label.last-hours": { "title.edit-website": "编辑网站",
"defaultMessage": "最近 {x} 小时" "title.share-url": "共享链接",
}, "title.tracking-code": "跟踪代码",
"label.logged-in-as": { "tooltip.get-share-url": "获得共享链接",
"defaultMessage": "登录名: {username}" "tooltip.get-tracking-code": "获得跟踪代码"
},
"label.logout": {
"defaultMessage": "退出"
},
"label.name": {
"defaultMessage": "名字"
},
"label.new-password": {
"defaultMessage": "新密码"
},
"label.password": {
"defaultMessage": "密码"
},
"label.passwords-dont-match": {
"defaultMessage": "密码不一致"
},
"label.required": {
"defaultMessage": "必填"
},
"label.this-month": {
"defaultMessage": "本月"
},
"label.this-week": {
"defaultMessage": "本周"
},
"label.this-year": {
"defaultMessage": "今年"
},
"label.today": {
"defaultMessage": "今天"
},
"label.username": {
"defaultMessage": "用户名"
},
"message.confirm-delete": {
"defaultMessage": "你确定要删除{target}吗?"
},
"message.copied": {
"defaultMessage": "复制成功!"
},
"message.delete-warning": {
"defaultMessage": "所有相关数据将会被删除."
},
"message.failure": {
"defaultMessage": "出现错误."
},
"message.incorrect-username-password": {
"defaultMessage": "用户名密码不正确."
},
"message.no-data-available": {
"defaultMessage": "无可用数据."
},
"message.save-success": {
"defaultMessage": "成功保存."
},
"message.share-url": {
"defaultMessage": "这是 {target} 的共享链接."
},
"message.track-stats": {
"defaultMessage": "把以下代码放到你的网站的{head}部分来收集{target}的数据."
},
"message.type-delete": {
"defaultMessage": "在下面空格输入{delete}确认"
},
"metrics.actions": {
"defaultMessage": "用户行为"
},
"metrics.average-visit-time": {
"defaultMessage": "平均访问时间"
},
"metrics.bounce-rate": {
"defaultMessage": "跳出率"
},
"metrics.browsers": {
"defaultMessage": "浏览器"
},
"metrics.countries": {
"defaultMessage": "国家"
},
"metrics.devices": {
"defaultMessage": "设备"
},
"metrics.events": {
"defaultMessage": "行为类别"
},
"metrics.filter.combined": {
"defaultMessage": "总和"
},
"metrics.filter.domain-only": {
"defaultMessage": "只看域名"
},
"metrics.filter.raw": {
"defaultMessage": "原始"
},
"metrics.operating-system": {
"defaultMessage": "操作系统"
},
"metrics.page-views": {
"defaultMessage": "页面流量"
},
"metrics.pages": {
"defaultMessage": "网页"
},
"metrics.referrers": {
"defaultMessage": "指入域名"
},
"metrics.unique-visitors": {
"defaultMessage": "独立访客"
},
"metrics.views": {
"defaultMessage": "页面流量"
},
"metrics.visitors": {
"defaultMessage": "独立访客"
},
"placeholder.message.go-to-settings": {
"defaultMessage": "去设置"
},
"placeholder.message.no-websites-configured": {
"defaultMessage": "你还没有设置任何网站."
},
"settings.accounts": {
"defaultMessage": "账户"
},
"settings.profile": {
"defaultMessage": "个人资料"
},
"settings.websites": {
"defaultMessage": "网站"
},
"title.add-account": {
"defaultMessage": "添加账户"
},
"title.add-website": {
"defaultMessage": "添加网站"
},
"title.delete-account": {
"defaultMessage": "删除账户"
},
"title.delete-website": {
"defaultMessage": "删除网站"
},
"title.edit-account": {
"defaultMessage": "编辑账户"
},
"title.edit-website": {
"defaultMessage": "编辑网站"
},
"title.share-url": {
"defaultMessage": "共享链接"
},
"title.tracking-code": {
"defaultMessage": "跟踪代码"
},
"tooltip.get-share-url": {
"defaultMessage": "获得共享链接"
},
"tooltip.get-tracking-code": {
"defaultMessage": "获得跟踪代码"
}
} }

View File

@ -1,11 +1,12 @@
import { format } from 'date-fns'; import { format } from 'date-fns';
import { enUS, nl, zhCN, tr, ru, de } from 'date-fns/locale'; import { enUS, nl, zhCN, tr, ru, de, ja } from 'date-fns/locale';
import enMessages from 'lang-compiled/en.json'; import enMessages from 'lang-compiled/en-US.json';
import nlMessages from 'lang-compiled/nl-NL.json'; import nlMessages from 'lang-compiled/nl-NL.json';
import zhCNMessages from 'lang-compiled/zh-CN.json'; import zhCNMessages from 'lang-compiled/zh-CN.json';
import trTRMessages from 'lang-compiled/tr-TR.json'; import trTRMessages from 'lang-compiled/tr-TR.json';
import ruRUMessages from 'lang-compiled/ru-RU.json'; import ruRUMessages from 'lang-compiled/ru-RU.json';
import deDEMessages from 'lang-compiled/de-DE.json'; import deDEMessages from 'lang-compiled/de-DE.json';
import jaMessages from 'lang-compiled/ja-JP.json';
export const messages = { export const messages = {
en: enMessages, en: enMessages,
@ -14,6 +15,7 @@ export const messages = {
'de-DE': deDEMessages, 'de-DE': deDEMessages,
'ru-RU': ruRUMessages, 'ru-RU': ruRUMessages,
'tr-TR': trTRMessages, 'tr-TR': trTRMessages,
'ja-JP': jaMessages,
}; };
export const dateLocales = { export const dateLocales = {
@ -23,13 +25,15 @@ export const dateLocales = {
'de-DE': de, 'de-DE': de,
'ru-RU': ru, 'ru-RU': ru,
'tr-TR': tr, 'tr-TR': tr,
'ja-JP': ja,
}; };
export const menuOptions = [ export const menuOptions = [
{ label: 'English', value: 'en', display: 'EN' }, { label: 'English', value: 'en', display: 'EN' },
{ label: '中文 (Chinese Simplified)', value: 'zh-CN', display: '中文' }, { label: '中文 (Chinese Simplified)', value: 'zh-CN', display: '中文' },
{ label: 'Deutsch (German)', value: 'de-DE', display: 'DE' },
{ label: 'Nederlands (Dutch)', value: 'nl-NL', display: 'NL' }, { label: 'Nederlands (Dutch)', value: 'nl-NL', display: 'NL' },
{ label: 'Deutsch (German)', value: 'de-DE', display: 'DE' },
{ label: '日本語 (Japanese)', value: 'ja-JP', display: '日本語' },
{ label: 'Русский (Russian)', value: 'ru-RU', display: 'РУ' }, { label: 'Русский (Russian)', value: 'ru-RU', display: 'РУ' },
{ label: 'Turkish', value: 'tr-TR', display: 'TR' }, { label: 'Turkish', value: 'tr-TR', display: 'TR' },
]; ];

View File

@ -11,7 +11,7 @@
}, },
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",
"build": "npm-run-all build-tracker compile-lang copy-db-schema build-db-client build-app", "build": "npm-run-all build-tracker build-lang copy-db-schema build-db-client build-app",
"start": "next start", "start": "next start",
"build-app": "next build", "build-app": "next build",
"build-tracker": "rollup -c rollup.tracker.config.js", "build-tracker": "rollup -c rollup.tracker.config.js",
@ -22,8 +22,11 @@
"build-mysql-client": "dotenv prisma generate -- --schema=./prisma/schema.mysql.prisma", "build-mysql-client": "dotenv prisma generate -- --schema=./prisma/schema.mysql.prisma",
"build-postgresql-schema": "dotenv prisma introspect -- --schema=./prisma/schema.postgresql.prisma", "build-postgresql-schema": "dotenv prisma introspect -- --schema=./prisma/schema.postgresql.prisma",
"build-postgresql-client": "dotenv prisma generate -- --schema=./prisma/schema.postgresql.prisma", "build-postgresql-client": "dotenv prisma generate -- --schema=./prisma/schema.postgresql.prisma",
"extract-lang": "formatjs extract {pages,components}/**/*.js --out-file lang/en.json", "build-lang": "npm-run-all format-lang compile-lang",
"compile-lang": "formatjs compile-folder --ast lang lang-compiled" "extract-lang": "formatjs extract {pages,components}/**/*.js --out-file lang/en-US.json",
"merge-lang": "node scripts/merge-lang.js",
"format-lang": "node scripts/format-lang.js",
"compile-lang": "formatjs compile-folder --ast lang-formatted lang-compiled"
}, },
"lint-staged": { "lint-staged": {
"**/*.js": [ "**/*.js": [

View File

@ -2,7 +2,7 @@ import { createSlice } from '@reduxjs/toolkit';
const app = createSlice({ const app = createSlice({
name: 'app', name: 'app',
initialState: { locale: 'en' }, initialState: { locale: 'en-US' },
reducers: { reducers: {
updateApp(state, action) { updateApp(state, action) {
state = action.payload; state = action.payload;

27
scripts/format-lang.js Normal file
View File

@ -0,0 +1,27 @@
const fs = require('fs');
const path = require('path');
const prettier = require('prettier');
const src = path.resolve(__dirname, '../lang');
const dest = path.resolve(__dirname, '../lang-formatted');
const files = fs.readdirSync(src);
if (!fs.existsSync(dest)) {
fs.mkdirSync(dest);
}
files.forEach(file => {
const lang = require(`../lang/${file}`);
const keys = Object.keys(lang).sort();
const formatted = keys.reduce((obj, key) => {
obj[key] = { defaultMessage: lang[key] };
return obj;
}, {});
const json = prettier.format(JSON.stringify(formatted), { parser: 'json' });
fs.writeFileSync(path.resolve(dest, file), json);
console.log(path.resolve(src, file), '->', path.resolve(dest, file));
});

30
scripts/merge-lang.js Normal file
View File

@ -0,0 +1,30 @@
const fs = require('fs');
const path = require('path');
const prettier = require('prettier');
const root = require('../lang/en-US.json');
const dir = path.resolve(__dirname, '../lang');
const files = fs.readdirSync(dir);
const keys = Object.keys(root).sort();
files.forEach(file => {
const lang = require(`../lang/${file}`);
console.log(`Merging ${file}`);
const merged = keys.reduce((obj, key) => {
const message = lang[key];
obj[key] = message || root[key];
if (!message) {
console.log(`* Added key ${key}`);
}
return obj;
}, {});
const json = prettier.format(JSON.stringify(merged), { parser: 'json' });
fs.writeFileSync(path.resolve(dir, file), json);
});